Repository navigation
续映 ContinueBox v1.14.0-pre(服务端 0.22.0)
是什么
Android TV 播放器(TVBoxOS 改造)+ 自部署同步服务端:在多台电视/盒子之间同步
播放历史、分集和进度,数据存在自己的飞牛 NAS 上(Docker 部署,推荐 Tailscale 内网访问)。
主要功能
- 跨设备续播:约 1.5 秒心跳同步毫秒级进度,退出立即上报,起播自动回填服务器进度
- 跨数据源续播:片名+年份+分集指纹,换源也能接着看
- 收藏、搜索记录、网盘账号、接口地址、应用配置随账号同步
- 起播时进度差距大会提示「跳到其他设备进度/保留本机」,10 秒不选默认跳过去
- 同步状态页显示各模块待上传数与失败原因,「立即同步」可手动重试
- 小雅 Emby:媒体库首页、全局/页内搜索、外挂字幕(中文优先)、双向进度上报
- 弹弹play 弹幕(需自己的开放平台密钥)+ 私有弹幕库 + 手动纠错
- TMDB 中文元数据(飞牛中转,电视端免翻墙)、三源评论区(TMDB/Trakt/NeoDB)
- Trakt scrobble、NeoDB 书架同步
- 隐私:所有第三方令牌只存飞牛端加密保存,不进 APK
本次修复(1.14.0 / 0.22.0)
- 弹幕串集(服务端):匹配不到对应集数时会静默回落到第 1 集,看第 12 集却挂上第 1 集
的弹幕,且错误结果会被永久缓存。现改为「显式集号字段 → 标题解析 → episodeId 尾数」
两轮匹配,列表里混入的 PV/OVA/特别篇不再让下标整体偏移;全部落空时明确提示未匹配,
引导长按「弹幕」手动关联,不再挂错集。片名与搜索结果毫无重合的候选也不再录用。 - 换配置后网盘"未识别"(APK):网盘能力检测只认死两个方法名,且用单个全局标志位,
每加载一个 jar 就整体覆盖,换配置后被后加载的站点 jar 抹掉。现改为按 jar 记录,
检测放宽到「Init 上任一网盘方法」或「jar 内存在任一网盘 Spider 类」。 - 电视端播放页焦点卡住(APK):底栏可见是异步生效的,原代码紧接着同步请求焦点,
此时容器仍是 GONE,请求静默失败 → 菜单弹出但全界面无焦点,方向键毫无反应。
另外上方向键被无条件吞掉(底栏按钮几乎都是 TextView)。现已修正取焦点时机、
加焦点丢失兜底,上键只在确实没有上一个落点时才拦截。
服务端与 APK 的改动互相独立:只想修弹幕串集可以只更新服务端,不必换 APK;
网盘识别与焦点修复则只需重新构建 APK,服务端不用动。
一并随本包首次发布(此前只在工作区,未打进 0.21.0)
- 弹弹play 搜索启用
v2=true新版引擎,并支持tmdbId反查弹幕库(比纯片名匹配可靠) - 新增
resolve_tmdb_id_by_title:客户端拿不到 TMDB ID 时服务端用片名+年份反查(缓存 7 天),
同时供 Trakt scrobble 使用——此前中文片名无 ID 导致 Trakt 观看记录传不上去 - 小雅 Emby 搜索:
SearchTerm返回空结果时也触发全库快照兜底(小雅常忽略该参数返回空而非报错) - Dockerfile 改用清华 pypi 镜像源,国内构建更快
已知限制
- 调试签名 APK,未做正式发布签名
- 进度冲突提示只覆盖起播时刻;播放中的并发修改仍以更新时间新者为准
- 小雅 Emby 搜索依赖全库快照(缓存 10 分钟),新入库内容最多延迟 10 分钟可搜
- 部分功能依赖第三方服务(弹弹play/TMDB/Trakt/NeoDB)各自的密钥与网络可达性
部署
- 服务端:飞牛 NAS 上解压
continuebox-sync-server-0.22.0.zip,sh install.sh - 客户端:安装
ContinueBox_1.14.0_10140_debug-java64.apk(需在 Windows 上build-apk.bat构建),在"我的→播放同步"登录 - 详细配置(TMDB/弹弹play/Trakt/NeoDB/小雅 Emby)见仓库 README