Bilibili 完整视频下载桥接开发记录(2026-08-05)
- 任务:
DEV-PROJECT-INFO-BILI-CHROME-DOWNLOAD-BRIDGE-20260805-001
- 上游:
REQ-BILI-DYNAMIC-COLLECTOR-20260804-001
- 目标:让两个已知 BVID 的完整音视频原件安全落盘;封面、m4s、扩展任务或仅 TXT 均不算完成。
- 边界:不修改 secondary 的动态采集器、配置、测试与修复证据;开发阶段不写
F:\video\青枫浦上Q 或正式 ana-data。
- 现场:Chrome 标签页元数据和普通动态页可读,复杂视频页控制超时;扩展服务健康,但公开实现只下载最佳音频并转 MP3/TXT,没有完整视频输出接口。
- 决策:独立最小 CLI 直接处理规范公开 URL;强制忽略 yt-dlp 配置,显式禁用 Cookie、浏览器 Cookie 和缓存,也不启用默认关闭的 netrc。若公开无认证访问失败则明确停止,不读取认证秘密、不绕过访问控制。
- 安全发布:隔离暂存,FFprobe 验证视频流+音频流+正时长,计算 SHA-256,以 no-overwrite/CreateNew 语义发布媒体和来源映射;中断回滚已创建正式产物。
- 计划验证:py_compile、目标 unittest、project 全回归、CLI help、无媒体
probe;真实 download 留给视频下载员执行。
- 环境:创建
project-info-bili-download-bridge(Python 3.12)。与扩展一致的 yt-dlp 2026.3.17 无 Cookie探测两项均 HTTP 412;升级当前稳定版 2026.7.4 后两项均 PASS,未下载媒体。
- 探测结果:
BV1DVMX6XEPq 标题“A股缩量磨底阶段。”、1206.067 s;BV1HA3o6oEJJ 标题“流水淘沙不暂停,前波未灭后波生。(周复盘)”、3133.95 s。
- 回归:目标 unittest=
11/11 PASS;project 首轮既有资源采样器窗口密度波动 1 项失败,同一冻结代码完整重跑=87/87 PASS / 55.019 s。
- 审核路由:审核请求与补充证据已入箱;审核员旧 rollout 缺少 session metadata,指定 message agent step 在执行审核前失败。已升级 project.admin,保留独立审核为“无结论”,按上游轻量工具口径先交请求方普通功能验收。
- 真实验收缺陷:第二条远端总时长
3133.95 s,实际无认证下载仅 600.133313 s 会员预览;旧实现只检查本地 duration>0,错误发布 COMPLETE。请求方已把错误产物可恢复隔离,未转写;第一条 1206.067664 vs 1206.067 s 已验证一致并正式交接。开发线程没有读写正式目录或隔离目录。
- 修复:发布前强制
abs(local-remote) <= max(3.0 s, remote*0.1%);超过即以“可能预览或错误分 P”失败,正式媒体/映射均不创建,暂存清理。映射新增 remote/local/delta/tolerance 四项证据;probe 明确改标 METADATA_PASS_ONLY。
- 边界:
_type=playlist、存在 entries 的多视频结果,以及 needs_auth/premium_only/private/subscriber_only 统一 fail-closed;规范 URL 仍拒绝 ?p= 等查询参数。
- 修复验证:目标=
15/15 PASS / 0.093 s;误预览端到端桩确认正式输出 0、暂存 0;第一次 project 回归因同时有真实转写占用重型媒体 mutex 被 3 项明确拒绝,任务结束后重跑=91/91 PASS / 54.225 s;无再次真实下载。
- 限定复审最终回执=
HANDOFF-INFOREV-INFODEV-BILI-BRIDGE-DURATION-GATE-REREVIEW-RESULT-20260805-001 / PASS/0,阻断数 0;冻结 code=541CD9A57E23976614B80CF731C6D4D49361A29BFBC029E9053C8E7093EC18F1,tests=BDE24A5BE26BC10F534EA1BF7235B8066EDA6425BB432C06AC67BBD560EFA168。
- 已按原链交付请求方,消息=
msg_20260805183258435_048db111;可靠 inbox 成功,可见调度排队。开发线程停止代码变更和真实下载,等待请求方接收;预览隔离、第一条已验收视频与全部外部动作边界不变。
- 首条交付中的代码/测试文件名笔误已由
msg_20260805183550141_a01a1463 纠正;实际路径为 dev/project-dev/bili_video_download_bridge.py、dev/project-dev/test/test_bili_video_download_bridge.py,本地只读复核字节数/哈希与审核冻结证据一致。