Skip to content

Emby / Jellyfin 媒体库刷新

OStrm 可以在 STRM 任务完成后通知 Emby 或 Jellyfin 刷新媒体库。每个任务都可以独立选择不刷新、刷新全部媒体库,或精确刷新某个媒体库。

工作流程

text
STRM 任务完成

判断本次是否需要刷新

全部刷新:提交全库扫描请求
指定媒体库:按媒体库 ID 校验并提交目录更新

将刷新结果写入任务通知和日志

刷新请求是异步提交给媒体服务器的。OStrm 显示“已提交刷新请求”表示 Emby 或 Jellyfin 已接受请求,不表示媒体服务器已经扫描完全部文件。

使用前准备

请先准备:

  • 一台 OStrm 容器能够访问的 Emby 或 Jellyfin 服务器
  • 该媒体服务器生成的 API Key
  • 已经指向 OStrm STRM 输出目录的媒体库

网络地址

“API 根地址”由 OStrm 后端访问,不是由浏览器访问。多个容器使用同一 Docker Compose 网络时,应填写服务名,例如 http://jellyfin:8096,不要填写只指向 OStrm 容器自身的 localhost

添加媒体服务器

  1. 打开「系统设置」。
  2. 找到「Emby / Jellyfin」。
  3. 点击「添加服务器」。
  4. 填写配置并点击「测试连接」。
  5. 测试成功后点击「保存服务器」。

配置字段

字段说明示例
配置名称供任务选择的唯一名称客厅 Jellyfin
类型EmbyJellyfinJellyfin
API 根地址完整的 HTTP/HTTPS API 根路径,不含查询参数http://jellyfin:8096
API Key媒体服务器生成的访问密钥abcdef...
启用此服务器停用后保留配置,但任务不能使用它刷新默认启用

常见地址格式:

text
Jellyfin:http://jellyfin:8096
Emby:http://emby:8096/emby

如果媒体服务器配置了反向代理子路径,应把该子路径包含在 API 根地址中。地址末尾的 / 会被自动移除;地址不能包含用户名、密码、查询参数或 URL 片段。

编辑已有服务器时,API Key 留空表示保留原密钥。

连接测试检查什么

连接测试会:

  1. 读取媒体服务器系统信息和版本。
  2. 使用当前 API Key 获取媒体库列表。
  3. 返回服务器名称、版本和媒体库数量。

只有测试成功并能读取媒体库列表后,才建议把服务器分配给任务。

在任务中配置刷新

打开目标任务的「编辑」窗口,在「任务完成后刷新媒体库」中选择刷新范围。

任务编辑表单中的媒体服务器、刷新范围和目标媒体库选择

不刷新

默认选项。任务完成后不调用媒体服务器 API,适合由媒体服务器自身定时扫描的场景。

刷新全部媒体库

选择一个媒体服务器后,OStrm 会调用媒体服务器的全库刷新接口。

适合:

  • 多个 OStrm 任务共同写入同一组媒体库
  • 媒体库目录关系复杂
  • 不关心扫描范围,希望配置尽可能简单

全量任务每次完成都会提交刷新。增量任务只有检测到新增、变更、清理或重命名时才提交刷新。

刷新指定媒体库

选择媒体服务器后,OStrm 会实时读取媒体库列表。再选择目标媒体库,任务会同时保存媒体库 ID 和名称快照。

执行时,OStrm 会:

  1. 再次读取服务器上的媒体库列表。
  2. 按保存的媒体库 ID 确认目标仍然存在。
  3. 获取该媒体库的所有目录路径。
  4. 提交精确的目录更新请求。

系统不会按名称猜测新媒体库,也不会在目标失效时回退为全部刷新,避免意外扫描其他媒体库。

增量与全量任务的刷新时机

任务模式刷新条件
全量任务完成后始终提交刷新
增量处理了视频、清理了失效 STRM,或发生目录/文件重命名时提交刷新
增量且无变化跳过刷新,并记录“增量任务没有媒体变化”

刷新失败不会回滚已经生成的 STRM 文件,但任务通知会标记为“部分完成”,并列出媒体服务器、刷新范围、目标媒体库和失败原因。

配置变化与失效处理

媒体库被删除或重建

编辑任务时,如果服务器连接成功但已保存的媒体库 ID 不再存在,选择框会显示:

text
⚠️ 已失效:原媒体库名称

此时不能继续保存原选择。请重新选择媒体库,或把刷新范围改为“全部”或“不刷新”。

如果只是暂时无法连接服务器,页面会显示“暂时无法验证”,保留原配置,并允许保存其他修改。

媒体服务器被停用

已停用的服务器仍会显示在任务中,但不能保存为启用刷新状态。可以重新启用服务器、选择其他服务器,或关闭刷新。

删除媒体服务器配置

仍被任务引用的媒体服务器不能删除。请先编辑提示中列出的任务,解除引用后再删除。

常见问题

测试连接返回 HTTP 401

API Key 无效、已撤销,或类型选择错误。请在 Emby/Jellyfin 中重新生成 API Key,并确认服务器类型和 API 根地址正确。

无法连接媒体服务器

从 OStrm 容器所在网络检查地址和端口。Docker 部署时优先使用 Compose 服务名;如果媒体服务器位于宿主机或其他设备,请填写 OStrm 容器可以访问的局域网地址。

测试成功但没有媒体库

确认媒体服务器中已经创建媒体库,并且 API Key 具备读取媒体库信息的权限。然后重新测试连接。

精确刷新提示媒体库没有目录路径

目标媒体库没有返回可刷新的 Locations。请检查媒体服务器中的媒体库目录配置,或者临时改用“刷新全部媒体库”。

如何确认刷新是否触发

启用 任务通知 后,通知会显示媒体服务器、刷新范围、目标媒体库和刷新结果;也可以在 OStrm 日志及媒体服务器日志中核对请求。