
B站CC字幕下载与转换全攻略用 ccdown 一个命令搞定提取难题【免费下载链接】BiliBiliCCSubtitle一个用于下载B站(哔哩哔哩)CC字幕及转换的工具;项目地址: https://gitcode.com/gh_mirrors/bi/BiliBiliCCSubtitle刷到一节含CC字幕的B站课程想把它离线保存慢慢消化翻遍页面却找不到任何下载入口——这种看得见却拿不走的憋屈感想必不少人都体会过。其实B站CC字幕本质上是一份独立于视频的文本数据网页端只是渲染展示并不提供保存通道。而BiliBiliCCSubtitle这个开源小工具恰好补上了这块短板它负责把CC字幕从B站接口里取回来再顺手转成主流播放器通用的SRT格式全程只需敲一条命令。先弄明白CC字幕到底是什么CC字幕Closed Caption是B站为部分视频提供的闭合字幕服务它和视频画面是分开存储的。正因如此它才能做到多语言切换、逐句定位也正因如此普通用户无法像截图那样直接另存为。只有播放器下方出现字幕按钮的视频才说明它配有CC字幕——这也是后面排查找不到字幕问题时首先要确认的一点。拿到工具克隆仓库与运行环境工具本身是C编写的命令行程序在终端里执行以下命令即可拉取源码git clone https://gitcode.com/gh_mirrors/bi/BiliBiliCCSubtitle如果你打算直接用现成的编译产物运行环境要求是Windows 10X86 或 X86_64若是从源码自行编译则依赖 vcpkg 包管理器、libcurl 与 jsoncpp 三个组件。编译完成后会生成名为ccdown的可执行文件所有操作都围绕它展开。不确定命令怎么用执行ccdown -h工具会打印一份完整的参数说明。第一次实战把单个视频的字幕抓下来下载字幕的入口参数是-d后面跟上视频播放页地址即可ccdown -d https://www.bilibili.com/video/BV1JE411N7UD以这个经典示例链接来说命令执行后工具会自动识别BV号、向B站请求字幕数据并保存到本地。视频链接在B站播放页点击分享即可复制凡是以https://www.bilibili.com/video/开头的地址都能直接使用。看看战果字幕文件存在了哪里默认情况下程序会在自身所在目录新建一个downloads文件夹所有下载内容都收纳其中国内版B站字幕保存在downloads/BV号/目录下文件名形如AV号(BV号)-Pi.zh-CN.json、AV号(BV号)-Pi.en-US.json其中 Pi 表示第几个分Pi1、2、3……后缀则对应语言比如 zh-CN 是简体中文、en-US 是美式英语。若视频同时提供中英双语两种语言的JSON文件会一起下载下来。国际版Bilibili文件落在downloads/GLOBAL视频ID/下命名为GLOBAL视频ID-语言ID.json。看到这里你会发现下载回来的都是JSON文件——这是B站字幕的原生存储格式普通播放器并不认它需要进一步转换。进阶玩法整个系列的分P字幕一次拿下遇到多P合集视频比如系列课程逐集操作显然太低效。工具为此提供了范围参数下载第2P到第5P的全部字幕ccdown -s 2 -e 5 -d http://bilibili.com/video/BVXXXXXXXXX只下载第6P及之前的字幕ccdown -e 6 -d http://bilibili.com/video/BVXXXXXXXXX只下载第1P及之后的字幕ccdown -s 1 -d http://bilibili.com/video/BVXXXXXXXXX只锁定某一特定分P可以在URL末尾追加参数ccdown -d http://bilibili.com/video/BVXXXXXXXXX?p2这里有个容易踩的坑需要特别提醒一旦在URL里指定了分P如?p2它就会覆盖-s/-e的范围设置。想用范围批量下载时URL务必保持干净不要带分P参数。格式转换让播放器认出你的字幕B站的JSON字幕无法直接被VLC、PotPlayer等播放器识别需要转成SRT这种通用字幕格式。转换命令如下ccdown -c [-o XXX字幕-中文.srt] XXX字幕.zh-CN.json-c表示进入转换模式输入文件是刚才下载的JSON-o用于指定输出文件名比如XXX字幕-中文.srt如果省略程序会基于输入文件名自动生成。转换完成后把SRT文件拖进播放器即可正常显示字幕。更省事的组合拳下载时直接转好既然下载和转换是前后两步工具也允许把它们合并成一条命令执行——同时给出-d和-c两个参数程序会在下载完成后立即自动转换ccdown -c -d -s 1 http://bilibili.com/video/BVXXXXXXXXX ccdown -c -d http://bilibili.com/video/BVXXXXXXXXX?p2 ccdown -c -e 6 -d http://bilibili.com/video/BVXXXXXXXXX三条命令分别对应全部分P下载即转指定分P下载即转截止某一P下载即转。对多数用户来说这才是日常最常用的打开方式一条命令跑完SRT字幕文件直接到手。把字幕存到你想放的位置默认的downloads文件夹虽然省心但如果你想统一归档到自己的资料目录可以用-D参数指定输出路径ccdown -d -D /你的文件夹路径 视频链接需要注意-D指向的目录必须已经存在工具不会替你创建若目录不存在程序会报错并中断。参数速查表参数作用补充说明-d下载JSON字幕后接视频播放页URL-c将JSON转换为SRT可配合-d实现下载即转换-o指定转换输出文件名仅转换模式可用下载模式下会被忽略-s指定起始分P配合-d批量下载-e指定结束分P配合-d批量下载-D指定输出目录目录必须预先存在-h打印帮助信息所有参数一览国际版Bilibili同样支持除了国内主站工具还兼容国际版/东南亚版Bilibilibiliintl.com。如果你需要提取海外版视频的字幕直接粘贴对应的播放页链接即可ccdown -d https://www.biliintl.com/en/play/1010919/10446796下载与转换的逻辑完全一致只是文件名按国际版规则生成GLOBAL视频ID-语言ID.json。常见问题排查提示找不到字幕先确认视频确实提供CC字幕。判断方法很简单——B站播放器下方有没有字幕按钮没有就说明该视频根本不带CC字幕工具自然无从下载。多P视频下载中途卡住早期版本在中间某一P恰好没有字幕时会导致整个下载中断这个问题在后续更新中已修复建议优先使用最新版本。-o参数不生效-o只能用于转换模式在下载模式下会被程序忽略并给出警告属正常现象。SRT文件加载不出来把SRT文件和视频文件放在同一目录并保持同名仅扩展名不同多数播放器如VLC、MX Player会自动关联加载省去手动选择的麻烦。工具内部是怎么运转的如果对实现原理感兴趣源码里各模块的分工相当清晰ccjson_downloader字幕下载的核心负责向B站接口发起请求、解析播放页信息并保存JSON文件ccjson_convert格式转换引擎把JSON逐句解析后重组为标准SRT时间轴文本curl_helper网络请求封装统一处理HTTP请求与响应common通用工具函数与错误处理逻辑。从网络请求、数据解析到格式输出整条链路加起来不过几个文件代码量不大很适合作为学习命令行工具设计的入门样例。写在最后B站CC字幕的提取本质上就是下载JSON 转成SRT两步而 ccdown 把它们压缩成了几秒钟内的一次命令执行。无论是把外语课程的字幕做成双语对照笔记还是为视频创作积累素材文案又或是提前缓存好字幕供通勤时离线学习这个小工具都能派上用场。最后提醒一句字幕内容凝结着创作者的劳动请将下载的字幕仅用于个人学习与研究合理使用尊重原创。【免费下载链接】BiliBiliCCSubtitle一个用于下载B站(哔哩哔哩)CC字幕及转换的工具;项目地址: https://gitcode.com/gh_mirrors/bi/BiliBiliCCSubtitle创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考