用途:通过 scripts/download.py 调用 Bilibili 公开页面与播放器接口,下载视频已有的公开字幕轨道并转换为 SRT,保存到 PPT Master 的 projects 目录。不下载视频,也不使用语音识别补造字幕。
主要能力:支持按 UP 主 mid 或空间 URL 自动分页获取全部公开视频,支持一个或多个 BV 号,支持传入已准备好的 JSON 视频清单,支持多 P 视频、并发下载,并输出无字幕清单与失败清单。
使用方式:
UP 主全部公开视频
python3 skills/bilibili-subtitles/scripts/download.py --mid 351608062 --zip
空间 URL
python3 skills/bilibili-subtitles/scripts/download.py --space-url "https://space.bilibili.com/351608062"
一个或多个视频
python3 skills/bilibili-subtitles/scripts/download.py --bvid BV16c3u6XEni BV1wo3M64EdV
JSON 视频清单
python3 skills/bilibili-subtitles/scripts/download.py --video-list /path/to/videos.json
登录:未传 --cookie-file 时,脚本生成 Bilibili 官方登录二维码并打印 QR_CODE: 路径,需向用户展示并等待在哔哩哔哩 App 确认;不要读取 Chrome Cookie、浏览器配置或会话存储。如用户明确提供 Netscape Cookie 文件,可传 --cookie-file。
输出:默认目录为 projects/bilibili-subtitles-<mid-or-bvid>/,含 subtitles/(SRT,文件名含序号与 BV 号)、no-subtitle-videos.csv、failed-videos.csv(仅失败时生成)、<project-name>.zip(仅传 --zip 时生成)。脚本按 --ppt-master-root、PPT_MASTER_ROOT 环境变量、当前工作目录、hugo-skills 同级目录的顺序定位 PPT Master,无法定位时停止并要求显式指定,不回退到 hugo-skills/projects/。可用 --output 指定其它项目目录。
限制与规则:默认并发数 8,遇限流应降低 --concurrency,不要增加浏览器视频标签页;保留 Bilibili 返回的时间轴和文字,不改写、不总结字幕正文;无字幕不算下载失败;重复运行默认复用有效 SRT,仅用户明确要求刷新时传 --overwrite;不要把登录 Cookie 写入项目或提交到 Git。依赖:pip install -r skills/bilibili-subtitles/resources/requirements.txt,除二维码图片生成外其余功能只用 Python 标准库。