IwaraDownloadTool元数据同步实战:如何把Iwara视频批量导入MediaCenter媒体库
【免费下载链接】IwaraDownloadToolIwara 下载工具 | Iwara Downloader项目地址: https://gitcode.com/gh_mirrors/iw/IwaraDownloadTool
IwaraDownloadTool是一款基于 Tampermonkey 的 Iwara 视频批量下载工具,除了批量下载之外,它还内置了MediaCenter 元数据同步能力:把浏览器缓存的视频信息(标题、简介、标签、作者、时长等)一键或自动推送到 MediaCenter 媒体库,实现"Iwara 视频批量导入媒体库"的全自动化归档流程。
一、为什么需要元数据同步?
下载视频只是第一步,真正让人头疼的是整理:几百个视频散落在文件夹里,没有标题、没有标签、没有作者信息,MediaCenter 等媒体库也无法正确索引。
IwaraDownloadTool 的同步功能解决了这个问题:
- 📝元数据自动填充:标题、简介、标签、作者、时长、上传时间自动写入媒体库
- 🔁fileHash 去重:以 Iwara 视频 ID 作为唯一标识,重复推送不会产生重复记录
- 🏷️"已下载"标记:配置 MediaCenter 后,视频卡片上会自动显示"已下载"角标(src/ui/ui.ts)
- ⚡两种触发方式:下载完成自动推送 / 手动一键批量同步
二、准备工作:安装脚本与 MediaCenter
1. 安装 IwaraDownloadTool
- 在 Chrome / Edge(≥110)或 Firefox(≥110)中安装脚本管理器插件(推荐 Tampermonkey)
- 从 GreasyFork 或 Release 页面安装
IwaraDownloadTool.user.js - 首次打开 Iwara 会弹出引导,点击"确定"后打开配置面板
2. 部署 MediaCenter
在你的电脑上部署一个 MediaCenter 服务(本地或局域网均可),记录两个关键信息:
| 信息 | 示例 |
|---|---|
| API 地址 | http://127.0.0.1:3000 |
| API 密钥 | 部署时生成的 Bearer Token |
三、最快配置方法:MediaCenter API 设置
打开插件菜单 →设置→MediaCenter标签页,填入两项配置:
- MediaCenter API:服务地址,默认为
http://127.0.0.1:3000 - MediaCenter API 密钥:你的 Bearer Token
对应的默认配置定义在 src/core/config.ts:
mediaCenterApi: 'http://127.0.0.1:3000', mediaCenterApiKey: ''💡 小贴士:API 密钥留空时,所有同步功能会静默关闭。这也是安全设计——不配置就不发起任何请求。
四、两种同步方式实战
方式一:下载完成自动推送(推荐)
将下载模式切换为Aria2,并开启实验性功能后,Aria2 任务追踪器会接管每个下载任务:
- 任务进入队列后自动轮询下载状态
- 速度过慢(<64 KiB/s)自动重启任务,错误任务自动重建
- 下载完成的瞬间自动推送元数据到 MediaCenter
推送核心逻辑在 src/download/aria2TrackManager.ts 的pushToMediaCenter中,采用两步 API 调用:
- createMedia(POST):用 Iwara 视频 ID 作为
fileHash创建媒体记录,天然去重;若返回 409 冲突则自动复用已有记录 - updateMedia(PUT):写入完整元数据(标题、简介、标签、作者、时长、上传时间等)
方式二:手动批量同步缓存元数据
如果视频不是用 Aria2 下载的(或想补推历史缓存),可以手动触发全量同步,入口函数是 src/network/mediaCenter.ts 中的syncCachedToMediaCenter,它会分两个阶段执行:
阶段一:建立 ID 映射
- 从 MediaCenter 拉取全部视频列表(
/api/media) - 优先用
fileHash精确匹配 Iwara 视频 ID(O(1) 命中) - 未命中的再用标题 token 匹配兜底
- 匹配结果批量写入本地
idmap表(src/core/db.ts),下次同步直接走缓存,速度更快
阶段二:并发更新元数据
遍历所有匹配项,6 并发逐个解析完整视频信息并调用updateMedia推送。进度会实时显示为"更新 / 跳过 / 错误"三项统计,完成后弹出汇总提示,例如:
MediaCenter 同步完成!已更新: 128, 跳过: 3, 错误: 0
五、常见问题排查
| 现象 | 原因与解决 |
|---|---|
| 提示"请先配置 MediaCenter API 地址和密钥" | 设置面板的 MediaCenter 页中填写 API 地址和密钥 |
| 提示"没有找到缓存的视频数据" | 浏览器 IndexedDB 中还没有视频记录,先浏览/下载几个视频再同步 |
| 提示"未找到包含 fileHash 的视频记录" | MediaCenter 里还没有导入过任何视频,可先用 Aria2 模式下载一个触发自动推送 |
| 列表拉取失败 | 检查 MediaCenter 服务是否启动、地址/密钥是否正确、浏览器能否直接访问该地址 |
| 同步速度慢 | 属正常现象,阶段一会遍历本地全部缓存视频;映射建立后第二次同步会明显加快 |
六、相关源码文件一览
| 文件 | 职责 |
|---|---|
| src/network/mediaCenter.ts | 手动批量同步入口(两阶段流程) |
| src/download/aria2TrackManager.ts | Aria2 任务追踪与pushToMediaCenter推送实现 |
| src/core/config.ts | API 地址/密钥等配置项定义 |
| src/core/db.ts | 本地 IndexedDB 缓存与 idmap 映射表 |
| src/ui/ui.ts | 视频卡片"已下载"角标渲染 |
七、总结
用 IwaraDownloadTool 完成"Iwara 视频批量导入 MediaCenter 媒体库"只需三步:填好 API 地址与密钥 → 选择 Aria2 下载模式(或手动批量同步)→ 等待元数据自动归档。整个过程无需手写任何脚本,去重、重试、进度提示全部内置,是 Iwara 用户搭建个人媒体库最省心的方案。
【免费下载链接】IwaraDownloadToolIwara 下载工具 | Iwara Downloader项目地址: https://gitcode.com/gh_mirrors/iw/IwaraDownloadTool
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考