Skip to content

BBDown v1.6.13

Choose a tag to compare

@github-actions github-actions released this 18 Aug 09:45
· 74 commits to master since this release

修复与安全性加固

  • 直播录制加载登录凭据,自动录制账号可看最高画质live 命令此前不加载凭据,getRoomPlayInfo 对未登录请求只返回游客画质(最高 720P);现在录制前统一走 InitializeRequestSessionAsync--cookie 显式传入优先,否则读取本地 BBDown.data),并新增 --cookie / --access-token 选项;画质请求从 qn=10000 提升为 qn=30000(按账号权限回落,接口只列 ts/fmp4 时自动回退 qn=10000 再取一次),启动时打印实际解析到的画质;登录检测超时自动安全降级,防止离线启动时异常崩溃。
  • Ctrl+C 停止保留已录制内容:取消发生在分段读取中时,已写字节此前会随"无数据"分支整段丢弃(录制几分钟后 Ctrl+C 会丢掉全部内容);现在读/写阶段被取消都照常返回已写字节,当前分段计入已录内容并参与合成保存。
  • 录制结束与终结态清理临时目录:成功后或未录到任何分段便遇终结态异常退出时,不再残留空的 path.flv.segs 根目录(会话目录清空后自动删除空的 .segs;根下仍有其它会话的保留分段时不删);合成失败仍保留分段供手动恢复。
  • 断流/网络中断自动重连续录
    • 读停滞看门狗:连接既不复位也不 EOF、只是不再有数据(网络黑洞)时,无超时客户端上的 ReadAsync 会永久挂起、录制卡死——现在每收到数据重置 60 秒计时,超时按读中断自动重连;
    • 无限重连:旧实现重连 3 次即放弃,断网几分钟必然提前终止、网络恢复后不会自动继续——现在只要直播间仍在直播且用户未取消,就持续指数退避重试(3s→30s 封顶),网络恢复后自动续录;
    • 分段尾裁剪:网络中断/取消使段尾只剩半个 FLV 标签时,ffmpeg concat demuxer 会在截断处报错中止整个合成——合成/改名前先把每个分段裁到最后一个完整标签,且支持 Filter 标志掩码识别;
    • 终结态区分:直播间不提供 flv(仅 HLS/ts)与本地写盘失败(LiveStreamWriteException 异常过滤对齐)不再无限重试,直接报错并保留已录分段。

新增测试

  • 直播录制集成测试新增至 499 个并全部通过:取消保留内容、断流重连合成、读停滞看门狗重连、下播 NoData、qn=30000 最高画质请求与回落、无 flv 终结态、FLV 截断尾裁剪(含 Filter 位)、终结态空目录清理与登录检测取消传播/超时降级等用例(本地假 B 站服务器覆盖完整录制循环)。

Commits

  • release: v1.6.13
  • test: 修正 CheckLoginWithDetails 取消令牌传播测试语义与断言
  • fix: 直播录制健壮性修复——登录凭据加载/取消保存/断网自动重连/临时目录清理 (#28)

Downloads

Platform Architecture
Windows x64, arm64
Linux x64, arm64
macOS x64, arm64

Full Changelog: v1.6.12...v1.6.13