Simple Live TV v1.8.2
发布日期:2026-10-01(2026-10-20 重新构建,版本号不变)
2026-10-19 追加改动
「我的关注」刷新期间焦点回弹、列表抖动与卡顿 Issue #143(#143) 后续反馈
上一版为了让首页与关注页同步,在刷新过程中按约 250ms 重排并整体重建关注网格。用户反馈在「更新状态中...」期间无法正常操作:首页选中光标在「我的关注」行与列表之间回弹、关注页多处同时点亮、左键弹出列表选不中、偶发微卡顿与闪退;关注量 3000 以上时,首次自动刷新几秒后自动停止,30 分钟定时刷新也可能不再触发;「懒人模式」容易在旧列表里循环或切到已关播的房间。本次针对性修正:
- 刷新期间列表保持静止:刷新过程中不再重排「直播中优先」顺序、不再整体重建网格。卡片上的「直播中 / 未开播」徽标本来就由每张卡片各自订阅状态更新,无需重建整张列表即可实时变化;刷新结束后统一重排一次,排序与徽标仍然准确。
- 遥控器焦点稳定:关注卡片改用随卡片存活的焦点节点,首页与左键弹出列表都按房间复用同一个节点;列表重排或重建时焦点跟着卡片走,不再丢失后回弹到顶部按钮。
- 左键弹出列表:打开时对在播关注列表拍快照,弹层内不再随刷新整体重建,可用方向盘正常选中并切台。
- 懒人模式:切台读取的在播列表不再被刷新中间状态反复重排,减少在旧列表循环、切到已关播房间的情况。
- 大关注量卡顿与自动刷新中断:刷新续跑进度改为约 2 秒落盘一次(遇到风控暂停时立即落盘),超大任务(500 条以上)的进度条改为每 20 条刷新一次,消除大关注量下逐条全量写盘和逐条重建进度造成的 IO/CPU 风暴。
- 首页网格范围:首页「我的关注」固定展示关注列表前 60 条,与关注页分页解耦,在关注页翻页不再连带改变首页内容。
说明:刷新期间的列表保持稳定,是本次取舍的重点——状态徽标仍实时更新,但「直播中优先」的排序要等本轮刷新结束才生效。
「我的关注」刷新状态不同步 Issue #143(#143)
- 刷新关注状态时,首页「我的关注」与关注页列表会随进度更新(约 250ms 一次),刷新结束立即显示正确的「直播中」排序与徽标,不再需要先进入「我的关注」页再返回才同步。
- 补齐封面/标题、校正抖音房间号等元数据阶段结束后会再发布一次,避免该阶段改到的直播状态被漏掉。
- 被新一轮刷新顶掉、或命中冷却而提前返回的任务,也会在收尾时统一发布,界面与内存状态保持一致。
- 关注页封面补齐改为刷新结束后触发,并跟随发布修订号去重,减少刷新期间的额外请求。
- 首页与关注页读取同一份发布快照(分页开启时渲染量与旧版一致),避免构建过程中列表被整体替换导致错位。
斗鱼扫码登录入口
- 修复设置页斗鱼「扫码登录」打不开的问题:页面依赖的 GetX 控制器没有随路由注入,打开即抛异常;现改为在跳转时绑定控制器。
- 修复扫码确认后换取播放 Cookie 失败(“斗鱼续期失败,请重新扫码登录”):safeAuth 是 302 跳转到 www 域后才下发 acf_* Cookie,旧实现不跟跳转;现逐跳跟随并累积 Set-Cookie,每一跳都带 LTP0/dy_did。
修复与改进
换台、进房与同步
- 自动切换到已下播房间后,方向键可以继续从关注列表选择房间;播放中的房间下播时也能自动检索下一个正在直播的房间。
- 进入被封禁或平台禁止进入的房间时显示带重试按钮的错误页,不再停在“未开播”;启用自动切换后可继续寻找正在直播的关注房间。
- 自动切换优先使用关注列表的在播缓存,减少逐房间状态请求;抖音 444 风控响应会中止本轮检索,首次失败 8 秒后补试一次。
- 支持接收手机端配置包,包括设置、关注、历史、屏蔽词和账号 Cookie;远程同步支持斗鱼、抖音、快手账号。默认服务地址为
wss://june6699.top/sync。
斗鱼观看稳定性与登录
- 断流恢复成功后重置连续失败计数;斗鱼与虎牙线路耗尽后可重新签名取流,异常进入统一兜底流程。
- 5 分钟内反复恢复超过 6 次时停止无限重试,避免持续耗电和刷屏;手动刷新会重新开始计数。
- 登录态签名使用 Cookie 中的
acf_did,匿名态使用本机独立设备号;设备号不随配置包或账号同步迁移。 - 设置支持斗鱼 APP 扫码登录和 Cookie 自动续期;手机同步到 TV 的账号也会携带续期凭据。扫码页会提示设备与位置信息由斗鱼侧记录,手动 Cookie 入口继续保留。
- 斗鱼 WebSocket 播放地址按需使用
expire=0,降低短时效线路的断流风险。
播放停滞、黑屏与掉帧
- 看门狗刷新纳入重复刷新保护;视频解码错误达到阈值时自动重刷,反复失败可按设置自动换台。
- 视频输出尺寸持续为空时限量重开当前流,避免画面失效后只能手动刷新。
- Android TV 前台播放期间观察 mpv 视频输出累计丢帧数;连续 3 个约 2 秒窗口各丢帧至少 25 帧时进入既有恢复链。后台播放和用户暂停不会触发。
- 高弹幕房间使用 150ms 批量上屏和滚动轨道预判,降低弱芯片 TV 的 UI 压力;屏蔽、关键词过滤和去重仍逐条处理。
抖音在线指标
- 抖音直播间分别显示当前在线人数和累计观看人数,避免 HTTP 与弹幕数据以不同口径轮流写入同一位置。
参考来源
- 斗鱼
safeAuthCookie 续期与expire=0处理参考 SlotSun/dart_simple_live(https://github.com/SlotSun/dart_simple_live) v1.8.13(issue #182、#177)。 - 斗鱼扫码登录流程参考 fancerest-png/dart_simple_live(https://github.com/fancerest-png/dart_simple_live) PR #190。