免费B站视频下载工具BBDown:从安装到批量下载的完整实操指南
【免费下载链接】BBDownBilibili Downloader. 一个命令行式哔哩哔哩下载器.项目地址: https://gitcode.com/gh_mirrors/bb/BBDown
BBDown 是一款完全免费开源的哔哩哔哩视频下载工具,以命令行方式运行,能把 B 站上的普通视频、番剧、课程连同弹幕字幕一起稳定保存到本地。本文不罗列枯燥的参数清单,而是按"新手进阶路径"带你把这款 B 站视频下载工具从第一次安装用到批量下载,每一步都给可复制的命令。
01 先想清楚:你需要的下载工具,到底长什么样
很多人在 B 站缓存视频时会遇到三件烦心事:官方客户端缓存受登录和时限限制、想存高清源只能开会员、缓存文件换设备后根本没法用。BBDown 解决的正是这三点——它绕开播放器缓存机制,直接从接口拉取原始音视频流,然后合并成一份标准的 MP4,放在你的硬盘里,永远属于你。
它是纯命令行工具,没有花哨的图形界面,但这也意味着它足够轻、足够快、足够可自动化。下面这张表可以让你一分钟看懂它的能力边界:
| 能力维度 | 具体内容 |
|---|---|
| 支持内容 | 普通视频、番剧、课程、合集、收藏夹、个人空间、列表 |
| 下载接口 | Web / TV / APP / 国际版,可自由切换 |
| 画质上限 | 支持 8K、HDR、杜比视界、杜比全景声 |
| 编码格式 | AVC / HEVC / AV1 可选优先级 |
| 附加内容 | 弹幕(XML/ASS)、外挂字幕(转 SRT)、封面、章节 |
| 输出形式 | 自动合并音视频为 MP4,也可只取其中一种 |
| 运行平台 | Windows / macOS / Linux,只要装了 .NET 运行时 |
一句话总结:普通下载器做"能下"这个动作,BBDown 做的是"按你的心意下"。接下来我们就从零开始。
02 装好地基:三条命令把 BBDown 请进电脑
BBDown 用 .NET 生态分发,最常见的安装方式是作为全局工具(dotnet tool)安装。动手前先确认电脑上有 .NET 运行时:
dotnet --version能看到6.0.100或更高的版本号就说明环境就绪。如果提示找不到dotnet,需要先安装 .NET SDK,这一步可以直接从微软官方渠道完成。环境确认后,安装工具本体:
dotnet tool install --global BBDown以后想升级到新版本,把install换成update即可:
dotnet tool update --global BBDown安装完成后执行BBDown --version,能输出版本号就代表成功了。
还有一件必须准备的事:BBDown 只负责"下载",把视频轨和音频轨合并成 MP4 这步需要调用外部工具 ffmpeg(或 mp4box)。请先到 ffmpeg 官网下载对应系统的版本,解压后把可执行文件加入系统 PATH。跳过这步的后果很直观——下载完的文件是两个单独的.m4s文件,不会自动变成你想要的视频。
B站视频下载工具BBDown安装与版本验证截图此处建议放置一张终端中执行
dotnet tool install和BBDown --version的截图,帮助读者确认安装无误。
03 第一次实战:用一条命令拿下一个视频
安装完成后,激动人心的时刻到了。找到任何一个 B 站视频页面的链接,直接丢给它:
BBDown "https://www.bilibili.com/video/BV1xx4y1v7Sj"你只需要做这一件事,剩下的交给程序自动完成。它内部大致经历五个步骤:
- 解析链接,读取视频元信息(标题、分P、清晰度列表);
- 按你的偏好挑选最合适的视频流与音频流;
- 并行发起下载(默认开启多线程);
- 调用 ffmpeg 把音视频与字幕、章节合并;
- 在当前目录输出一份完整的 MP4 文件。
看到目录里出现以视频标题命名的 MP4 文件,你的第一次 B 站视频下载就宣告成功。如果想在下手前先探探路,可以加-info参数,让程序只解析、不下载,把清晰的画质列表和文件体积列给你看:
BBDown -info "https://www.bilibili.com/video/BV1xx4y1v7Sj"哔哩哔哩视频下载工具BBDown下载进度界面此处建议放置一张终端中 BBDown 显示解析结果与下载进度条的截图,直观展示整个下载过程。
04 画质与编码,全由你说了算
默认情况下 BBDown 会帮你挑当前能拿到的最优画质,但"最优"是个主观词,有人要极致清晰,有人只想快速预览。这些需求都通过参数满足。
指定画质优先级:用-q按优先级排序,程序从上往下找第一个能用的:
BBDown -q "8K 超高清, 1080P 高码率, HDR 真彩, 杜比视界" "https://www.bilibili.com/video/BV1xx4y1v7Sj"指定编码优先级:有些设备播放 HEVC 卡顿、有些网页端不支持 AV1,用-e自定义编码顺序:
BBDown -e "hevc,av1,avc" "https://www.bilibili.com/video/BV1xx4y1v7Sj"交互式选择:拿不准选哪个,加-ia进入交互模式,程序会列出所有可用清晰度让你按数字挑选,对新手最友好。
只要其中一部分:有些场景你并不需要完整的视频文件,比如做混剪只需要画面,做播客只需要声音。BBDown 支持单独提取任意一种资源:
| 目标内容 | 命令参数 |
|---|---|
| 只要视频画面 | --video-only |
| 只要音频 | --audio-only |
| 只要弹幕 | --danmaku-only |
| 只要外挂字幕 | --sub-only |
| 只要封面 | --cover-only |
另外提醒一句:如果电脑上 ffmpeg 版本太老、合并杜比视界报错,可以改用新版 mp4box,或者在命令后追加--skip-mux跳过自动合并,拿到原始流后自己处理。
05 面对一堆分P和长篇内容,批量下载的正确姿势
B 站视频的"分P"(多集)是新手最容易困惑的地方。默认情况下 BBDown 会把多 P 内容下载到以主标题命名的文件夹里,每个分 P 单独一个文件,互不干扰。
控制分 P 的-p参数非常灵活,一张表就能看懂:
| 想要的效果 | 写法 |
|---|---|
| 只要第 10 集 | -p 10 |
| 只要第 1、3、5 集 | -p 1,3,5 |
| 要第 2 到 8 集 | -p 2-8 |
| 全都要 | -p ALL |
| 只要最后一集 | -p LAST |
下载番剧或课程全集,一行命令搞定:
BBDown -p ALL "https://www.bilibili.com/bangumi/play/ss33073"除了单个视频,BBDown 还支持解析收藏夹、个人空间、合集与列表地址,相当于把"我收藏的 200 个视频"一次性搬回家。当分 P 很多时程序默认折叠展示,用--show-all可以展开查看每一个分 P 的标题。批量下载时如果想给服务器减负,可以用--delay-per-page 2让每个分 P 之间休息 2 秒。
06 下载太慢?给速度做一次"涡轮增压"
B 站下载慢,原因通常不在带宽,而在请求被限速。BBDown 提供了几套提速思路:
第一招,多线程。多线程下载默认就是开启的(-mt),如果你的网络环境限制并发,可以显式关闭它。
第二招,接上 aria2c。aria2c 是著名的多协议下载引擎,把它装好后通过参数接入:
BBDown --use-aria2c --aria2c-args "-x 16 -s 16 -j 16 -k 5M" "https://www.bilibili.com/video/BV1xx4y1v7Sj"第三招,换 TV 接口。接口不同,限速策略也不同。加-tv使用 TV 端接口,不少 UP 主的视频用 TV 源下载速度更快,而且通常没有水印;-app对应 APP 接口,-intl对应国际版接口,都可以按需尝试。
第四招,绕开 HTTPS。个别网络下 HTTPS 握手消耗大,--force-http可以强制改用 HTTP 协议传输。
如果以上都不奏效,还可以用--upos-host指定自定义的存储服务器,把下载请求转移到更快的节点上。
07 登录与会员内容:跨过那些"需要授权"的门槛
有些内容不登录根本拿不到,比如会员专享、高清片源、部分课程。BBDown 提供三条路:
扫码登录,最推荐新手的方式。在终端执行:
BBDown login终端会显示一个二维码,用手机 B 站 App 扫一扫完成授权。TV 端账号则用logintv命令。
粘贴 Cookie,适用于你已经从浏览器里拿到登录凭证的场景:
BBDown -c "SESSDATA=******" "https://www.bilibili.com/video/BV1qt4y1X7TW"Access Token,TV/APP 接口的鉴权方式,用-token传入:
BBDown -app -token "******" "https://www.bilibili.com/video/BV1qt4y1X7TW"登录状态会被保存在本地数据文件中,下次下载会自动复用,不用每次重复扫码。
08 让重复劳动归零:配置文件与 API 服务器
如果你每次都带着一长串参数敲命令,那说明还没用上配置文件。在程序目录下新建BBDown.config文件,把常用参数逐行写进去,选项和参数值各占一行,用#开头的是注释:
# 自定义单P文件名格式 --file-pattern <videoTitle>[<dfn>] # 自定义多P文件名格式与目录结构 --multi-file-pattern <videoTitle>/[P<pageNumberWithZero>]<pageTitle>[<dfn>] # 每个分P下载间隔2秒 --delay-per-page 2 # 默认下载弹幕 --download-danmaku之后只需:
BBDown --config-file BBDown.config "https://www.bilibili.com/video/BV1xx4y1v7Sj"不指定--config-file时,程序会自动读取同目录下的BBDown.config。文件名里能用的占位符非常丰富,除了上面出现的<videoTitle>(主标题)、<pageNumber>(分P序号)、<dfn>(清晰度),还有<ownerName>(UP主名)、<bvid>(BV号)、<videoCodecs>(编码)等十几个变量,组合出怎样的命名规则,完全看你的想象力。
更硬核的用法是 API 服务器模式。执行:
BBDown serve -l http://0.0.0.0:12450BBDown 就会变成一个本地 HTTP 服务,支持通过接口添加任务、查询任务状态、清理已完成任务。详细的接口约定写在项目内的json-api-doc.md文档里,想做自动化下载管理(比如接入自己的定时脚本、做一个 Web 控制面板)的朋友可以直接参考它。
BBDown配置文件BBDown.config编写示例此处建议放置一张
BBDown.config文件内容的截图,方便读者对照格式抄作业。
如果你对源码感兴趣,BBDown 采用模块化组织:BBDown/目录是主程序与命令行入口(如MyOption.cs定义了全部参数),BBDown.Core/目录是核心逻辑,其中Fetcher/下按内容类型拆分了不同的信息抓取器,Util/里是 HTTP、字幕、BV 号转换等工具类。想二次开发的话,克隆仓库运行https://gitcode.com/gh_mirrors/bb/BBDown即可拿到完整工程。
09 新手踩坑速查:四个高频问题的现场排查
Q:下载完没有声音,只有一个视频画面?A:绝大多数是 ffmpeg 没装好或没进 PATH,导致音视频合并失败。先执行ffmpeg -version确认能调用,再用--ffmpeg-path指定绝对路径试试。
Q:提示需要登录,但我不想扫码?A:可以用-c传入浏览器里复制的 Cookie 字符串,注意复制完整,尤其是SESSDATA这一项。
Q:B 站页面能看,但 BBDown 解析出来的清晰度很低?A:先确认有没有登录(高清源通常要求登录态),再试试-tv切换接口,有时是接口差异导致的源质量问题。
Q:下载了一堆文件,哪些才是最终成品?A:看到.m4s或.mp4混在一起的多个文件,说明合并步骤被跳过或失败了。正常情况下每个视频最终只应产出一个 MP4,其余是中间产物,--skip-mux的使用者则需要自己处理这些原始流。
把选择权握回自己手里
整篇文章走下来,你会发现 BBDown 的使用逻辑并不复杂:安装一次,掌握四五条常用命令,剩下的都是按需翻参数表。真正让它脱颖而出的,是把画质选择、编码偏好、批量策略、命名规则、登录鉴权这些决定权全部交到了使用者手里——免费、开源、跨平台、持续更新,没有理由不试一下。
最后照例提醒一句:请仅下载你有权保存的内容,比如自己制作的视频、已获授权的课程,或用于个人学习与备份的资料;尊重创作者版权,别把工具用错了方向。
现在就打开终端,运行第一条命令,下载你的第一个视频吧。🎉
【免费下载链接】BBDownBilibili Downloader. 一个命令行式哔哩哔哩下载器.项目地址: https://gitcode.com/gh_mirrors/bb/BBDown
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考