B站CC字幕下载指南:ccdown 一条命令拉取 CC 字幕并转成 SRT
2026/8/21 20:37:03 网站建设 项目流程

B站CC字幕下载指南:ccdown 一条命令拉取 CC 字幕并转成 SRT

【免费下载链接】BiliBiliCCSubtitle一个用于下载B站(哔哩哔哩)CC字幕及转换的工具;项目地址: https://gitcode.com/gh_mirrors/bi/BiliBiliCCSubtitle

对着播放器抠了半小时外语课字幕,不如用 BiliBiliCCSubtitle(命令名 ccdown):把 B站CC字幕下载 存成 JSON,一条命令再转成 SRT。

项目名片:C++ 命令行工具,只干两件事

ccdown 是一个 C++ 写的命令行程序,跑在 Windows 10(x86/x64)上,日常使用不用装任何运行库。它只做两件事:

  1. 从 B 站官方接口把视频的 CC 字幕拉下来,存成 JSON 文件;
  2. 把这份 JSON 转成播放器通用的 SRT 字幕。

和录屏转文字、手动复制相比,它的差别是数据直接来自官方字幕——时间轴、断句、文字全部原样保留,不经过语音识别,所以不存在识别错别字的问题。

先跑起来:四步下载第一份 CC 字幕

第 1 步,确认环境。日常使用只要求 Windows 10;只有想从源码编译,才需要 CMake 3.16+、vcpkg、libcurl、jsoncpp。

winver

看到窗口显示 Windows 10(x86 或 x64)就算过关。

第 2 步,拿到工具。克隆仓库,再编译出可执行文件(官方 README 也提供预编译版本,用预编译包可跳过两条 cmake 命令):

git clone https://gitcode.com/gh_mirrors/bi/BiliBiliCCSubtitle cd BiliBiliCCSubtitle cmake -B build cmake --build build

看到 build 目录下出现 ccdown 可执行文件就算成功。

第 3 步,验证工具就位。

ccdown -h

看到-d-c-s-e-D各参数的 MODE 说明,说明工具能跑。

第 4 步,下第一条字幕。

ccdown -d https://www.bilibili.com/video/BV1JE411N7UD

看到当前目录出现downloads/BV1JE411N7UD/文件夹,里面有AV号(BV号)-P1.zh-CN.json这样的文件(视频提供几种语言就有几个 json),就算跑通了。国际版 B 站的产物在downloads/GLOBAL<视频ID>/下,文件名形如GLOBAL<视频ID>-<语言ID>.json

它能替你干的活:命令参数对照表

下表里的BV1JE411N7UD换成你自己的视频地址即可,地址就是 B 站播放页链接:

使用场景命令效果
只下某个分 Pccdown -d https://www.bilibili.com/video/BV1JE411N7UD?p=2链接尾部?p=2指定只下第 2 P
下某段范围的分 Pccdown -s 2 -e 5 -d https://www.bilibili.com/video/BV1JE411N7UD顺序下 P2 到 P5 的字幕
只下前 N 集ccdown -e 6 -d https://www.bilibili.com/video/BV1JE411N7UD下 P1 到 P6
下 P1 及之后全部ccdown -s 1 -d https://www.bilibili.com/video/BV1JE411N7UD从 P1 一直下到最后一集
下载完顺手转 SRTccdown -c -d https://www.bilibili.com/video/BV1JE411N7UD-c-d同用,下载完成后自动转换
指定保存目录ccdown -D D:\字幕 -d https://www.bilibili.com/video/BV1JE411N7UD字幕存进你指定的目录
下载国际版 B 站ccdown -d https://www.biliintl.com/en/play/1010919/10446796拉取国际版/东南亚版字幕
转换手头已有的 JSONccdown -c -o 输出.srt 输入.zh-CN.json-o指定输出的 SRT 文件名

跑之前注意三个坑:

  • -s/-e做批量时,链接里不要带?p=——URL 里的?p=会覆盖范围参数;
  • -D指定的目录必须已经存在,程序不会自动创建;
  • -o只在-c转换模式下可用,下载模式下会被忽略并提示警告。

翻车急救:问一行答一行

  • 跑完命令,downloads/<BV号>/里是空的?这条视频没有 CC 字幕。回播放页看播放器下方有没有"字幕"开关,没有就别在这条视频上耗时间。
  • 多 P 视频批量下,中间某一分 P 断掉了?旧版本遇到中间分 P 没有字幕会中断整个流程,2021-06-05 的版本已修复。升级到最新版重新跑一遍即可。
  • 转换出来的 SRT 时间轴和画面对不上?旧版本时间轴换算逻辑有 bug。更新到最新版后重新用-c转一次就能对上。

给想深挖的人:源码模块与读码顺序

整个工具就 10 个源文件,分工很清晰:

  • main.cpp:解析命令行参数,分发到下载、转换、边下边转三种模式;
  • ccjson_downloader.cpp:抓取逻辑核心,解析播放页拿到 aid/bvid,请求分 P 列表和字幕接口,按分 P 落盘 JSON,国际版走play/<id>分支;
  • ccjson_convert.cpp:把字幕 JSON 换算成带时间轴的 SRT;
  • curl_helper.cpp 封装 HTTP GET,common.cpp 负责创建 downloads 目录、路径存在性检查和 Windows 编码转换。

建议读码顺序:main.cppccjson_downloader.cppccjson_convert.cppcurl_helper.cpp/common.cpp,顺着"页面 → 接口 → 文件"的链路走一遍就能串起整个流程。

最常用命令与版权提醒

日常使用频率最高的一条,直接复制:

ccdown -c -d https://www.bilibili.com/video/BV1JE411N7UD

跑完到downloads/<BV号>/里取 SRT,和同名视频放进同一文件夹,播放器会自动加载。

最后提醒一句:字幕是 UP 主和平台的内容资产,请仅用于个人学习、研究,不要拿去做商用搬运,尊重原创者的劳动成果。

【免费下载链接】BiliBiliCCSubtitle一个用于下载B站(哔哩哔哩)CC字幕及转换的工具;项目地址: https://gitcode.com/gh_mirrors/bi/BiliBiliCCSubtitle

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询