github urbanescavenger/BiliMT v3.0.13-alpha.14

pre-release2 hours ago

上一版修掉的「令牌被判无效」已确认生效;这一版处理它暴露出来的下一层问题 —— 采集回来的会话材料只提供浏览器当时自己选的那两档,而我们固定要另外两档,两边永远对不上,会话每次都在 20 秒内被判废。本版让「只采到占位令牌」的采集结果直接作废,把播放交回我们自己的会话(它提供的才是我们要的档位)。

变更

  • 采集结果只拿到「占位令牌」时不再使用(P11-142)。网页在选定档位之前会先发一个占位令牌(实测 10 字节);等不到真令牌(实测 88 字节)时,此前会把这份占位结果当会话材料用掉 —— 后果有两个:① 服务端全程回「等待验证」(实测一场 114 次),永远进不了正常状态;② 更关键的是它顶掉了我们自己那条路(用材料建的会话只提供浏览器那一场绑定的档位)。现在这种结果直接丢弃,播放改用我们自己的会话

进展与已知问题

  • 上一版修复已确认生效:服务端的「令牌无效」判决从 22 次降到 0 次,令牌刷新日志也回到正确的编码比例(如 468B → 349B,恰好 3/4 = 已解码)。
  • 用材料建的会话仍有一个未解问题:即便拿到真令牌的材料,它提供的档位仍是浏览器那一场绑定的 —— 实测一场里视频数据正常到达(1.7MB + 3.8MB)、服务端状态也正常,但我们的音频档从头到尾没有被提供过,最终仍被判废。本版先绕开它(改用我们自己的会话),材料会话的档位对齐留到下一轮。
  • 代价:丢弃占位材料后,程序会再试一次采集,然后才回落到自己的会话 —— 起播大约多 6 秒。
  • 采集到的令牌本身还有一个待查问题:程序自己铸出来的令牌呈「占位形态」(刷新日志里字节数单调增长 154 → … → 1324,每次 +65,首字节恒为同一值并带自增计数),不是签名过的真令牌。这条单独跟进。
  • WEB-SABR 仍不作为日常播放主路;会话被判死时会自动换到能播的路线(alpha.11 起)。

Don't miss a new BiliMT release

NewReleases is sending notifications on new releases.