B站CC字幕下载与转换:一条命令把视频字幕变成本地文件
B站CC字幕下载与转换:一条命令把视频字幕变成本地文件
【免费下载链接】BiliBiliCCSubtitle一个用于下载B站(哔哩哔哩)CC字幕及转换的工具;项目地址: https://gitcode.com/gh_mirrors/bi/BiliBiliCCSubtitle
周二晚上,我跟着B站上一个英语教学视频做精听练习,想把字幕逐句抄下来做笔记。页面明明开着"字幕"开关,可翻遍整个页面找不到下载按钮。右键没反应,在线工具要么收费要么三天两头失效,折腾一个多小时,字幕还是只活在播放器里。
它是 BiliBiliCCSubtitle——一个下载B站CC字幕并转成SRT格式的命令行工具。
没它之前 vs 有它之后
| 想做的事 | 没它之前 | 有它之后 |
|---|---|---|
| 把字幕存下来 | 截图、手抄、碰运气 | 一条ccdown -d命令,字幕落盘 |
| 给播放器用 | JSON格式普遍不认 | -c转成通用SRT |
| 整季课程 | 一集一集手动来 | -s-e参数批量下载 |
| 文件管理 | 散落各处找不到 | 自动归入 downloads/<BV号>/ 目录 |
走一遍完整流程:从复制链接到字幕入库
第一步:先确认视频有CC字幕。播放器右下角要有"字幕"按钮,这是后续一切的前提——B站只为带CC字幕的视频提供字幕接口。
第二步:复制分享链接。点页面上的"分享"按钮,取以 bilibili.com/video/ 开头的地址。分享链接比地址栏里的干净,没有多余参数,程序解析更稳。
第三步:下载字幕。先取得工具:git clone https://gitcode.com/gh_mirrors/bi/BiliBiliCCSubtitle,按CMakeLists.txt编译,或直接使用仓库提供的Windows版本。然后在终端执行:
ccdown -d https://www.bilibili.com/video/BV1JE411N7UD程序会请求B站字幕接口,把JSON文件存进 downloads 目录,文件名类似AV号(BV号)-P1-zh-CN.json。CC字幕本质上是独立于视频的文本数据,只是平时藏在播放器里,工具做的就是把它原样保存下来。
第四步:验证结果。打开 downloads 文件夹,确认文件存在且非空。用文本编辑器看一眼,里面的 body 是一串带时间戳的字幕条目,说明下载成功。
第五步:转成SRT。多数播放器不认JSON,加一步转换:
ccdown -c AV号(BV号)-P1-zh-CN.json嫌两步麻烦,也可以直接ccdown -c -d 链接,下载完自动转好。
容易踩的坑
URL带分P参数时,范围参数会失效。?p=2与-s 2 -e 5同时出现,程序以URL里的分P为准,范围设置被忽略。想批量下载,URL就别带 p。
-o只管转换,不管下载。它只用于指定转换输出的文件名,用在下载模式会被提示并忽略。想改保存位置,用-D,且该目录必须已经存在,程序不会替你创建。
批量下载时某集没有字幕,别慌。新版会打印 "No CC-subtitles was found" 并跳过这一P继续,不会像旧版本那样中断整个下载。
举一反三
- 整季网课一次拉完。系列视频用
ccdown -s 1 -e 10 -d 链接,把第1到第10P的字幕一次拿到手。 - 国际版B站同样适用。biliintl.com 的地址也能解析,文件以
GLOBAL<视频ID>-<语言ID>.json命名。 - 双语字幕对照。视频同时提供中英文CC字幕时,会生成 zh-CN、en-US 两个文件,转成SRT后可在支持双字幕的播放器里对照学习。
收尾清单
- 播放页有"字幕"按钮吗?没有就换个视频。
- 复制分享链接,命令带上 -d 下载。
- 想要SRT,把 -c 一起加上。
- 批量下载时,URL别带 p 参数,用 -s 和 -e 控制范围。
- SRT与视频文件同名放同一文件夹,播放器会自动加载。
想深入了解实现细节,可翻看ccjson_downloader.cpp(字幕下载核心)、ccjson_convert.cpp(JSON转SRT)、curl_helper.cpp(网络请求)和common.cpp(工具函数),编译依赖在CMakeLists.txt中有完整声明。
【免费下载链接】BiliBiliCCSubtitle一个用于下载B站(哔哩哔哩)CC字幕及转换的工具;项目地址: https://gitcode.com/gh_mirrors/bi/BiliBiliCCSubtitle
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
