Skip to content

处理流程

本页以三条主线描述处理流程:入库事件、任务链、实时监控。

1. Webhook 入库流程

触发入口:/webhook/embyroutes/webhook.py

  • Emby 事件到达 → 解析媒体项 → 获取 Emby Item 详情。
  • 智能追剧判断:系列入库时加入追剧列表。
  • 核心处理:调用 MediaProcessor.process_single_item() 完成元数据补全、翻译与回写。
  • 合集更新:榜单类合集会把新项目追加到 Emby 合集中。
  • 封面生成:根据配置触发媒体库封面生成。
  • TMDb 合集:电影入库时检查并订阅 TMDb 合集。
  • 通知分流:通过 Telegram 发送新入库/追更通知。

2. 任务链流程

任务链由 tasks/core.py 注册,配置项定义于 config.ini(Scheduler 部分)。

  • 高频任务链:用于日常刷新的核心任务序列。
  • 低频任务链:用于维护、清理与低频场景。
  • 任务执行:任务队列按顺序执行,每个任务更新进度与日志。

典型任务:

  • 同步演员数据、演员中文化、角色名翻译
  • 同步媒体元数据与评分
  • 刷新追剧、演员订阅
  • 生成封面、刷新合集

3. 实时监控流程

监控服务在启用后监听指定目录(Monitor 配置):

  • 新增/移动:聚合文件并批量处理,优先提取代表文件进行刮削。
  • 删除:对删除事件进行批处理并刷新 Emby 视图。
  • 排除路径:命中排除路径的文件仅刷新,不做刮削。

4. 反向代理虚拟库

当启用反向代理后:

  • 代理层汇总原生库与自建合集;
  • 对虚拟库 Items 做排序与分页,必要时进行内存排序回退;
  • 通过 Nginx 转发与静态资源处理提供访问入口。

Emby Toolkit - Emby 增强管理工具