github urbanescavenger/BiliMT v3.1.0-alpha.10

latest release: v3.1.0-alpha.11
pre-release8 hours ago

YouTube 4K 不再「看几分钟就整场重载一次」 —— 顺带让频道页的画质角标跟上更早的视频。

变更

  • 修「4K 连着整场重载」(P11-203)。真机日志里那 4 次重载没有一次是播放器报错,全部是本机看门狗开的枪(播放位置冻结 8 秒 → 自动重载)。逐个定位下来是两条各自独立的判据问题:
    • 带宽够 ≠ 供得上。降档路径上有一道闸,判据是「平均带宽撑得住这一档 ⇒ 低水位只是排空/切轨,不必降档」。而 4K 档单次要下 1040MB、往返 4.67.4 秒,实测交付 28~30Mbps 对着该档 25.5Mbps 只剩约一成余量 —— 平均带宽达标、水位却只有 3 秒,下一段结构性来不及送到,这道闸却据此把 4K 钉住不让降,最后只能由 8 秒看门狗整场重载收场。现在这道闸多一条交付节奏判据:水位得容得下至少两次本档的实际往返耗时,否则照常降档。
    • seek 之后的误杀。SABR 源拖动进度条会从新位置重新取段,4K 那一段往返要 7.2 秒;这期间播放位置停在目标点不动,正好撞上 8 秒的「位置冻结」判据 —— 真机那次数据 16:22:10 已经到手,看门狗 16:22:11 开枪,只差 1.7 秒。现在 seek 之后有 15 秒宽限,期内改用起播阈值(25 秒)判定,不再把一次正常拖动判成挂死。
    • 本次只动这两条判据,升档/降档的其它门槛、系数、冷却时长一律未变。
  • 频道页画质角标覆盖到更早的视频(P11-201 第二轮)。此前角标来自 YouTube TV 客户端的频道页,而它首屏只给最新的一批视频,越往后越没有角标。现在发现这条列表本身可以翻页,于是按你滚到哪儿补到哪儿,单次最多翻 4 页,滚到更早的视频同样能看到「4K」胶囊。

已知

  • 本条两项待真机验收。4K 那条重点看:stall detected 行应出现 seekGrace=true(seek 宽限生效)、buffer-critical downgrade 行应带 roundTrip=;4K 在位且往返耗时超过水位一半时不应再出现 suppressed,而应看到正常降档(buffer-critical downgrade: 2160p → 1440p);「4K ↔ 整场重载」的循环应消失。
  • 频道页角标那条:日志 getChannelVideos qualityBadges … matched=M page=P 的 M 应随 P 增长;滚动到更早的视频也有 4K 胶囊。
  • alpha.5~alpha.9 里记的已知项(编码分组/缓冲地板/顶档闸/档位基准待复测;转发、专栏动态不渲染、话题/@ 不可点等)仍未变。

Don't miss a new BiliMT release

NewReleases is sending notifications on new releases.