github urbanescavenger/BiliMT v3.0.13-alpha.7

pre-release4 hours ago

设置页新增「YouTube 设置」折叠分组 + 解码器/默认倍速拆成 B站·YouTube 两份(P11-131);另含 WEB-SABR 全移动身份、起播锁高、清晰度菜单、升档预加载四项 YouTube 侧改动(P11-127 ~ P11-130)。

变更

  • 设置页:新增「YouTube 设置」可折叠一级分组(TV + 移动端同款)。此前 YouTube 项散在两处——TV 端 2 项在「播放设置」、5 项在「YouTube 内容」节;移动端 3 项在「播放设置」、3 项埋在「YouTube SABR 实验」折叠区。现全部收拢为一个分组:默认画质、起步画质、默认倍速、解码器、频道管理、内容地区、Piped 实例、启用 Piped 后端、播放优先级。TV 端默认展开(折叠若组头焦点异常会让整组不可达),移动端沿用既有惯例默认折叠
  • 解码器、默认播放倍速各拆成两份独立值。此前 B站 与 YouTube 共用一个值,改一边影响另一边。现 YouTube 有自己的一份,首次改动前沿用旧的共享值——升级后不碰设置的话观感与之前完全一致,在 YouTube 那两行动过一次之后才各自独立。
  • 清晰度菜单只列分辨率(P11-129):SABR 路径按 height 去重(同一分辨率下的多个 codec / 帧率变体合并成一项),标签只留 1080p 这样的分辨率;同一分辨率用哪条轨由「YouTube 解码器」设置决定。
  • 起播档锁高搬进选轨内部(P11-128):消除「松 cap 必重建」——此前调整画质上限会重建样本队列并整丢约 1.16s。
  • 升档预加载(P11-130):在当前请求里带上「下一档候选」,请服务端把它的 init 与段一起推回来缓存,目标是切档那一刻直接命中缓存、不再现拉。
  • WEB-SABR 转全移动自洽身份(P11-127):采集页与 /player 统一走移动 UA(Android WebView 改不了 Client Hints,伪装桌面必然自相矛盾),会话恒用移动 clientInfo,token 换移动 minter,并重新启用 status=2 的同步 token 刷新;harvest 优先取带真 token 的 SABR POST,冷启桩(10B)只作兜底。

已知问题

  • 升档预加载(P11-130)真机取证显示未生效:候选档只写进了请求的 preferredVideoFormatIds 第二位,服务端每个响应只推主格式、不推候选档(日志里候选 itag 只出现在 prefetch 那三行本身,零 FORMAT_INIT / 零 MEDIA_HEADER)。升档仍是冷启动现拉,实测 720→1080 约 2.9s、1080→1440 约 6.6s、1440→2160 约 14.3s,与改动前的构建同档。该场播放因缓冲够深没出现可见卡顿,但机制本身未生效,继续跟进。
  • 移动端播放器不读「默认播放倍速」MobilePlayerScreen 把起播倍速写死 1.0x,从未消费该设置——移动端这一项一直是失效的。本次只保证新拆的两份设置口径一致(都失效),单独跟进修复。
  • 解码器「自动」的偏好顺序在两个平台不一致:B站 侧为 AV1 > H.265 > H.264(界面描述即此),YouTube 侧实际为 H.264 > VP9 > AV1 > H.265。新版为 YouTube 单列了描述文案,B站 那句未动。

Don't miss a new BiliMT release

NewReleases is sending notifications on new releases.