3分钟跑通BBDown:B站视频批量下载与3个坑
【免费下载链接】BBDownBilibili Downloader. 一个命令行式哔哩哔哩下载器.项目地址: https://gitcode.com/gh_mirrors/bb/BBDown
你想把某个UP主的全部课程存到本地,手动逐个点"另存为"根本来不及。番剧有24集,多分P的视频还要把音视频分别存两次。这就是BBDown想解决的麻烦:一个命令行式的哔哩哔哩下载器,贴个链接就能批量下载,多分P自动拉完,字幕弹幕都能拿到,还能把音视频混成一份mp4。
3分钟跑通:一条命令拿到第一条视频
前提只有一个:本地有 dotnet 环境。先装它:
dotnet tool install --global BBDown终端提示安装完成就可以跑了。接着贴一个视频链接试试:
BBDown "https://www.bilibili.com/video/BV1qt4y1X7TW"你会看到它解析出可用的音视频流,打印选中的清晰度,然后开始多线程下载。跑完后去当前目录看,就是一份能直接打开的 mp4。这套流程就是最短路径的BBDown使用教程,剩下的全是往命令里加参数的事。想试试 TV 端接口,在命令里加个-tv就行,热门UP主的片源往往是无水印的。
常问的4个问题:合集、分P、会员、字幕
番剧合集能一次拉完吗?能。番剧链接配-p ALL就是全集:
BBDown -p ALL "https://www.bilibili.com/bangumi/play/ss33073"分P太多的时候,默认只会折叠展示,加--show-all能把每一个分P标题都展开,避免你盲选。
只想下其中几个P?三种写法都归-p管:-p 10单个P,-p 1,2,10多个P,-p 1-10一个范围。也支持在URL里写?p=10,以及ALL、LAST这类关键字。
会员专属的视频下得动吗?得先登录。跑BBDown login用APP扫一次二维码,WEB端账号凭证就存下来了;BBDown logintv则是登录云视听小电视。之后程序会自动读取凭证,不想扫码就手动传-c加 cookie、-token加 access_token。
外挂字幕能直接变 srt 吗?能,字幕下载时自动转成 srt。只要字幕不要视频,用--sub-only;弹幕同理,-dd顺带下载,--danmaku-only单独拉。
说到接口,选哪个接口基本决定了你能拿到什么片源:
| 接口 | 开关 | 特点 |
|---|---|---|
| Web | 默认 | 最稳,会员内容需要cookie |
| TV | -tv | 热门UP主片源多为无水印 |
| APP | -app | 需要access_token |
一句话:先用默认Web跑,片源不理想切-tv,APP接口留着当备选。8K、HDR、杜比视界这类高规格流,它同样能解析下载。
愿意折腾的话:配置、文件名、混流
💡 这三件事都不是必须,但做过之后命令行会清爽很多。
问题:同组参数每次都要重复敲。经常用固定参数下载的话,在程序同目录放一个BBDown.config,不指定时程序会自动读取。规则不复杂:#开头的行忽略,选项的参数写在它的下一行。
# #开头的行会被忽略 --file-pattern <videoTitle>[<dfn>] --delay-per-page 2 --download-danmaku改完效果:之后只贴链接就能跑,多分P之间自动隔2秒,弹幕顺带下载。想指定别的文件用--config-file指过去即可。
问题:下完的文件名和目录结构乱。多P视频默认存成<videoTitle>/[P01]<pageTitle>这样的结构,觉得不合心意就用-M自定义 multi-file-pattern。变量不少,<videoTitle>、<pageNumberWithZero>、<ownerName>、<publishDate>这些都能拼进文件名,按UP主、日期归档都可以。
问题:混流这一步跑不起来。混流依赖外部的 ffmpeg 或 mp4box,机器上没装就会卡在最后一步。用--ffmpeg-path指到二进制文件就行;杜比视界要求 ffmpeg 5.0 以上,老版本会解析失败。
完整的BBDown命令行参数远不止这几条,交互选清晰度、aria2c 下载、自定义下载 host 等等都在里面,看 README.md 的完整列表,每个参数对应的字段含义在 MyOption.cs 里一一对应。
老玩家提醒:几个容易踩的坑
📌 这几条都是真实会耽误事的地方,提前知道能少查半天。
- 混流需要 ffmpeg 或 mp4box。如果下载都跑完了却没生成 mp4,先查这两个程序在不在,别去怀疑网络。
- 任务没有并发队列限制,一口气提交几十个P就是几十个并行任务,带宽和磁盘都顶得住再下大合集。
- 单个任务提交后没法取消,只能等它完成或失败。下大合集前先用
-info解析一遍,看看会拉出多少东西。 - 这个项目仅限个人学习、研究和非商业用途,下到的内容别二次传播,版权边界自己把握。
- 跑
BBDown serve可以起一个服务器模式,通过 JSON API 提交和查看任务,接口定义在 json-api-doc.md。服务器本身不支持 HTTPS,想放内网上用就自己在前面挂个反向代理。
赶时间的话就记三件事:dotnet tool install --global BBDown装好,贴链接直接下,-p ALL拉全集。想再往深里看,解析和流选择的逻辑都在 BBDown.Core/ 这个目录里。
【免费下载链接】BBDownBilibili Downloader. 一个命令行式哔哩哔哩下载器.项目地址: https://gitcode.com/gh_mirrors/bb/BBDown
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考