news 2026/8/22 2:16:42

B站CC字幕下载完整教程:一条命令,从播放页到本地SRT文件

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
B站CC字幕下载完整教程:一条命令,从播放页到本地SRT文件

B站CC字幕下载完整教程:一条命令,从播放页到本地SRT文件

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

想把一节外语课的B站CC字幕留下来精听?开源免费的BiliBiliCCSubtitle只干两件事:把B站CC字幕下载成JSON,再转成SRT。一条命令跑通,字幕原样存进本地文件夹。

搞清这个命令行工具做什么

  • 形态:C++ 写的命令行工具,没有图形界面。在 Windows 上就是一个ccdown可执行文件。
  • 职责:只负责 B站CC字幕下载(JSON)和 CC字幕转SRT,不做别的。
  • 和替代做法的本质差异:它直接抓取 B 站官方接口返回的字幕数据,不经过语音识别。时间轴、断句、文字全部原样保留,不存在识别错别字的问题,也省掉手动逐行复制的功夫。
  • 国内版和国际版 B 站播放页都支持。

准备Windows 10环境并获取ccdown

  • 最低环境:Windows 10,x86 或 x64 均可。日常使用不依赖任何运行库。
  • 只有想从源码自行编译,才需要准备 vcpkg、libcurl、jsoncpp 三样依赖。
  • 获取方式,克隆仓库:
git clone https://gitcode.com/gh_mirrors/bi/BiliBiliCCSubtitle cd BiliBiliCCSubtitle
  • 自检命令:
ccdown -h

屏幕上打印出-d-c-s-e-D-o各参数的用法说明,就说明工具可以开工了。

跑通第一次B站CC字幕下载

  1. 在命令行执行下载命令:
ccdown -d https://www.bilibili.com/video/BV1JE411N7UD
  1. 看输出。每拉到一种语言,会打印一行,形如:
Found: zh-CN ==> downloads/BV1JE411N7UD/AV97740720(BV1JE411N7UD)-P1-zh-CN.json
  1. 打开命令行所在的当前目录:会多出downloads/BV1JE411N7UD/文件夹,里面按语言存着 JSON,比如AV97740720(BV1JE411N7UD)-P1.zh-CN.json

downloads文件夹由程序自己创建,不用手动建。国际版视频则存进downloads/GLOBAL<视频ID>/

选对命令:批量B站CC字幕下载与转SRT

场景 1:只下载某一个分P

ccdown -d https://www.bilibili.com/video/BV1JE411N7UD?p=2

预期:只保存第 2 分P 的字幕 JSON。

场景 2:批量下载一段范围的分P

ccdown -s 2 -e 5 -d https://www.bilibili.com/video/BV1JE411N7UD

预期:依次下载 P2 到 P5,中间没有字幕的分P会被跳过,不中断。

场景 3:下载完顺手转成SRT

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

预期:downloads 文件夹里,每个 JSON 旁边多一个同名的.srt文件。

场景 4:下载国际版B站字幕

ccdown -d https://www.biliintl.com/en/play/1010919/10446796

预期:文件存入downloads/GLOBAL10446796/,按语言命名。

场景 5:指定保存目录

ccdown -D D:\CC字幕 -d https://www.bilibili.com/video/BV1JE411N7UD

预期:所有文件落到D:\CC字幕,而不是默认的 downloads。

场景 6:转换手头已有的JSON

ccdown -c -o 输出.srt 输入.zh-CN.json

预期:生成 SRT;不带-o时,默认输出在与 JSON 同目录的 SRT 文件。

弄清默认行为,避开这些限制

  • 现象:-D指定新目录,立刻报Specified output directory does not existed原因:程序只检查目录,不会替你创建。规避:先建好目录再跑。

    mkdir D:\CC字幕
  • 现象:-s/-e设置了范围,实际只下了一个分P。原因:URL 里的?p=优先级更高,直接覆盖范围设置。规避:批量下载时把 URL 里的?p=去掉。

  • 现象:下载模式里加了-o,输出里出现告警且无效。原因:-o只在转换模式生效,下载模式会打印 WARN 并忽略它。规避:下载时不要传-o,文件按默认命名规则保存。

  • 现象:文件没出现在你以为的位置。原因:默认目录是命令行所在的当前目录,不是程序所在目录。规避:用-D明确指定保存位置。

卡住了先查这里

问:命令跑完了,downloads 里是空的,或打印No CC-subtitles was found in P1, ignoring? 答:这条视频没有 CC 字幕。回播放页看播放器下方有没有"字幕"开关,没有就换视频。

问:-D一运行就报目录不存在? 答:程序不自动建目录。先mkdir建好,再传给-D

问:批量下载到一半断了,或某个分P缺失? 答:旧版本遇到某个分P没字幕会中断整个流程,新版本已改为跳过继续。更新到最新版重跑一遍。

问:转出来的 SRT 时间轴和画面对不上? 答:旧版本的时间轴换算有 bug。用最新版重新转换一次即可对上。

问:链接里带了?p=又加了-s/-e,为什么只下了一个分P? 答:预期行为,?p=会覆盖范围参数。批量时把?p=去掉。

读一遍源码:五个文件各管什么

整个工程不到一千行,按下面顺序读能把流程串起来:

  • main.cpp:解析命令行参数,按-d/-c的组合分发模式。
  • ccjson_downloader.cpp:抓取播放页拿到 BV 号和 cid,再向 B 站接口要字幕 JSON 并存盘。
  • ccjson_convert.cpp:把秒级时间戳换算成HH:MM:SS,mmm格式,写出 SRT。
  • curl_helper.cpp:封装 HTTP 请求和文件下载。
  • common.cpp:准备运行环境(建 downloads)、检查目录是否存在、处理 Windows 编码。

开始用:一条命令下完并转换

把视频链接换成你自己的,直接复制这条命令:

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

跑完后打开 downloads 文件夹,SRT 文件已经就位。字幕属于 UP 主和平台的内容资产,请只用于个人学习和研究,尊重原创者的劳动,不要拿去做商用或搬运。

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

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/22 2:15:50

3条命令跑通抖音无水印下载:实操手册

3条命令跑通抖音无水印下载&#xff1a;实操手册 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback support. 抖音批量下载…

作者头像 李华
网站建设 2026/8/22 2:12:47

vmPing 实用指南:免安装上手可视化多主机 ping 监控

vmPing 实用指南&#xff1a;免安装上手可视化多主机 ping 监控 【免费下载链接】vmPing Visual Multi Ping. Color-coded ping utility for monitoring multiple hosts. 项目地址: https://gitcode.com/gh_mirrors/vm/vmPing vmPing 是一款免费、免安装的可视化监控工具…

作者头像 李华
网站建设 2026/8/22 2:09:17

AI模型盲测实战指南:如何通过输出逆向推断模型能力

最近&#xff0c;AI圈子里流传着一张神秘的“赛博朋克”风格测试图&#xff0c;引发了大量关于其背后未发布模型的猜测。这不仅仅是技术爱好者们的又一次“看图说话”&#xff0c;它背后折射出的&#xff0c;是当前AI模型评测领域一个普遍存在的痛点&#xff1a;如何在没有官方…

作者头像 李华
网站建设 2026/8/22 2:09:15

第5篇 · CAN 总线:差分、帧结构、仲裁与错误处理

导读入门三篇讲完了“测什么、怎么连、分几域”&#xff0c;还顺手看了工具链。从这篇起正式进入协议深水区——阶段二 CAN/LIN 总线。本篇全部依据《车载通信协议入门培训》课件整理&#xff0c;把 CAN 的物理层、帧结构、最精髓的“非破坏性仲裁”&#xff0c;以及课件里讲得…

作者头像 李华
网站建设 2026/8/22 2:09:06

colneGitHup速度慢的解决方式

登录gitee,在gitee上创建githup的镜像,然后通过gitee克隆到本地就可以了。 1.登录gitee 2.复制gitHub上的http3.导入gitee,右上角选择导入4.之后就在自己的仓库里面了,然后克隆到本机就可以了 然后克隆到本机就可以了

作者头像 李华