Skip to content

v2.5.2 剧集识别与弹幕精准绑定

Choose a tag to compare

@Dylan-1107 Dylan-1107 released this 21 Oct 05:03
· 7 commits to main since this release

本次更新

剧集识别:不再只看文件名,结合父目录名一起解析「剧名 / 季 / 集」,支持 SxxExx、2x03、第二季第3集、第N集、EPxx、纯数字等命名。明确季、未分季、特别篇分开处理;多集合并(S01E01-E02)、上下篇等文件会被标记为「命名有歧义」,不参与自动绑定。

弹幕精准绑定:以前直接取弹弹play 返回的第一个结果,同名剧集容易错绑。现在对每个候选做二次校验——剧名归一化后必须一致、集号必须相同、季信息不能冲突:

  • 明确季的文件必须有季证据才能绑定,第二季不会被绑到第一季
  • 未分季的文件只绑同样未分季的候选
  • 特别篇不会绑到正片

绑定结果按「弹幕源 + 路径 + 大小 + 解析身份」生成指纹缓存,任一变化自动失效重识。

季/集层级浏览:Emby 客户端里现在按「剧集 → 季 → 集」浏览(新增 Series/Season 虚拟条目、/Shows/{id}/Episodes、/Shows/NextUp、/items),不再把所有文件摊平成电影。

首页新增「剧集与弹幕识别」卡片:显示识别进度、每个文件的绑定状态(已绑定 / 命名有歧义 / 待确认候选 / 未找到匹配 / 网络失败),候选可一键确认,失败可重新识别。

其他:弹幕源网络层改用 OkHttp,系统 DNS 失败时走 DoH 兜底(保留原始主机名、SNI 与证书校验);播放信息缺失时长时用 MediaMetadataRetriever 现场探测;图片端点支持 Series/Season 复用代表帧。

验证

  • 剧集解析与候选校验回归测试 38 项全部通过(tests/EpisodeRegression.java,纯 Java,无需设备)
  • Release 构建通过,APK versionCode 10 / versionName 2.5.2

说明

  • 升级覆盖安装即可,弹幕绑定缓存会自动重建
  • 首次进入首页会后台跑一遍识别,文件较多时需要等一会儿