Skip to content

媒体服务

Bonita 目前以 Emby 为主要对接对象:观看记录、收藏、新媒体入库、合集都可以同步。先在 服务设置 里填好连接,再按需要打开 Webhook 或跑全量同步。

连接 Emby

打开 服务设置 → Emby API

  1. 填写服务器地址,例如 http://192.168.1.10:8096
  2. 填写 用户名(只处理这个用户的观看 / 收藏事件)
  3. 填写 API Key
  4. 打开启用,点 测试连接,成功后再保存

用户名必须和 Emby 里实际使用的账户一致。Webhook 里其它用户的事件会被直接忽略。

Webhook(实时)

服务设置页会给出当前实例的 Webhook 地址,一般是:

http://<Bonita地址>:12346/api/v1/webhooks/emby

在 Emby:控制台 → 通知 → 添加通知 → Webhooks,把上面的 URL 填进去。

建议勾选这些事件:

Emby 事件Bonita 行为
Playback(播放结束 / scrobble)同步观看进度;播完则标已看
Mark Played标记已看
Mark Unplayed标记未看
Rate(收藏)同步收藏 / 取消收藏
New Media Added新媒体入库时建立对应媒体项

Emby 和 Bonita 不在同一台机器时,不要用 localhost,改成 Bonita 的局域网 IP 或主机名。

Webhook 适合日常即时同步。漏掉的事件靠下面的全量同步补上。

全量同步

两条路径:

  • 定时任务:默认每 900 秒(15 分钟)从已启用的 Emby 拉一次。间隔由环境变量 / config.yamlWATCH_HISTORY_SYNC_INTERVAL 控制
  • 手动:打开 工具 → 同步 Emby 观看历史

同步方向:

  • 从服务器拉取(默认)— Emby → Bonita。默认不覆盖 Bonita 里已经记下的已看 / 收藏;要覆盖就勾选强制更新
  • 回写到服务器 — Bonita → Emby,覆盖电影、剧集、番号视频。取消已看 / 取消收藏同样需要强制更新

把旧 Emby 迁到新 Emby 时可以:

  1. 旧服务器记录同步进 Bonita
  2. 新服务器片库刮削 / 入库一次,让路径或番号对得上
  3. 再从 Bonita 回写到新服务器

媒体项

媒体项 是同步结果的本地视图,支持按类型、观看、收藏、番号筛选,也可以手动增改。

匹配大致按这个顺序:转移记录的目标路径(对应 Emby 条目路径)、IMDB/TMDB/TVDB、番号。所以:

  • 输出目录尽量就是 Emby 在扫的那套文件
  • 番号片依赖刮削或记录里的番号
  • 对不上的视频仍会作为无关联条目建出来,之后可以再改

页面上的 清理重复项 用来合并重复媒体项。

合集

合集以 Bonita 为准。流程:

  1. 添加要同步的合集,搜索 Emby 里的 BoxSet,加入列表(加入时会拉一次成员)
  2. 从服务器拉取 — 只增加 Emby 里有、本地还没有的成员,不会在 Bonita 里删除
  3. 在 Bonita 里添加或移除成员(媒体项本身不会被删)
  4. 回写服务器 — 把当前成员列表推到 Emby;这时才会在 Emby 合集里去掉你删掉的项

还没有加入同步列表的合集不会被改动。

下一步

基于 MIT 协议发布