BBDown 使用指南把 B 站高清视频安全下载到本地的终极命令行方案【免费下载链接】BBDownBilibili Downloader. 一个命令行式哔哩哔哩下载器.项目地址: https://gitcode.com/gh_mirrors/bb/BBDown你有没有遇到过这样的场景收藏夹里躺着一套很喜欢的 B 站教程想离线慢慢看浏览器却根本没有保存视频这个按钮想给剪辑找素材视频只有在线播放的份想备份某个 UP 主的所有投稿又不想一个一个手动操作。市面上确实有各种在线解析站和桌面客户端但要么把视频传上别人的服务器、要么收费、要么画质被压得很厉害。BBDown 就是为解决这类问题而生的开源工具一个完全运行在本地的命令行式哔哩哔哩下载器。它免费、开源支持最高 8K、HDR、杜比视界等旗舰画质也能批量下载番剧、收藏夹和整个合集。这篇文章我们就从一条最简单的命令开始一步步把它用熟、用透。为什么最终选择了一行命令而不是一个软件在正式动手之前先聊聊它和常见方案的根本差异这决定了它值不值得你花几分钟学会。数据不离开你的电脑。在线解析网站需要你把视频链接贴到网页上等于把我要下载什么这件事告诉第三方服务器BBDown 全程本地解析、本地下载不存在隐私泄露的中间环节。画质天花板高得多。很多在线工具只给到 1080P而 BBDown 完整支持 8K 超高清、HDR 真彩、杜比视界和杜比全景声前提是视频本身提供这些规格、你的账号也有相应权限。批量能力是标配。单个视频只是它的入门功能番剧全集、合集分P、收藏夹列表、个人空间投稿都能整批处理还支持只挑其中几个分P下载。三平台通用。基于 .NET 开发的它在 Windows、Linux、macOS 上都能跑行为完全一致。当然它也不是零成本的——它需要你习惯命令行并且混流环节依赖外部的 ffmpeg 或 MP4Box。但这两点学习成本很低下面我们会亲手验证。第一步装好环境跑通你的第一条下载命令BBDown 已经以 .NET 全局工具的形式发布前提是你本机有 .NET 环境项目当前基于 .NET 9.0 构建。确认环境就绪后只需要一条命令完成安装dotnet tool install --global BBDown以后想升级到新版本换成dotnet tool update --global BBDown装好之后下载一个视频的体验是极其直给的BBDown https://www.bilibili.com/video/BV1qt4y1X7TW把链接换成任意你想下载的视频即可。程序会自动解析视频信息展示可用的清晰度和音视频流然后开始下载。下载完成后在程序所在的当前目录里就能看到合并好的 MP4 文件。这里有一个前置条件需要注意混流必须依赖外部程序。普通视频需要 ffmpeg 或 MP4Box其中杜比视界格式建议使用 ffmpeg 5.0 以上版本或新版 MP4Box。如果你已经装过 ffmpeg通常无需任何额外配置如果程序找不到它可以用--ffmpeg-path显式指定它的绝对路径。掌握画质与接口的取舍从小白到熟手的第二课第一条命令跑通之后你会发现默认下载的清晰度未必是最优的。BBDown 在这方面的控制粒度非常细。用优先级列表锁定你想要的画质不同视频提供的档位不同与其每次都交互选择不如直接给程序一个优先级清单。用-q参数指定画质优先级用逗号分隔BBDown 视频链接 -q 8K 超高清, 1080P 高码率, HDR 真彩, 杜比视界程序会从上到下尝试找到第一个可用的档位。同理编码格式也可以用-e指定例如优先 HEVC 再退而求其次选 AVCBBDown 视频链接 -e hevc,av1,avc如果你不想事先决定用-ia进入交互式选择模式程序会把所有可用清晰度列出来让你现场挑-hs则可以反过来隐藏冗长的流信息列表。换一个接口画质也许完全不一样BBDown 支持多种解析接口-tv走 TV 端、-app走 APP 端、-intl走国际版。实际用下来你会发现对于粉丝量大的 UP 主TV 接口常常能拿到无水印的片源这是一个值得记住的小技巧BBDown -tv 视频链接如果默认的 WEB 接口遇到限制或异常换一个接口往往就能绕过去这比折腾代理要省事得多。第三步批量下载全集、合集和收藏夹的完整玩法单个视频只是热身。BBDown 真正强大的是对多分P内容的整批处理能力而-p选择分P参数是这套能力的核心。先看它支持的几种取值写法基本覆盖了所有常见需求单个分P-p 8或者直接在链接后面加?p8多个指定分P-p 1,2,10只下这三个连续范围-p 3-5从第 3 个到第 5 个全部-p ALL适合番剧全集、合集最后一个-p LAST混合写法-p 3,5,LATEST甚至可以和 LAST/LATEST 组合比如下载一部番剧的整季命令是这样的BBDown -p ALL https://www.bilibili.com/bangumi/play/ss33073对于分P特别多的视频程序默认不会把所有分P一次性列出来用--show-all可以强制展示全部方便你确认哪些要下、哪些跳过。批量下载时还有两个很实用的配套参数。--delay-per-page设置每个分P之间的下载间隔秒数避免短时间内请求过于密集--save-archives-to-file会把下载过的视频记录到本地文件下次再碰到同一个视频会自动跳过重复备份变得毫无压力。只拿你需要的部分音频、弹幕、字幕和封面有些时候我们并不想要完整的视频文件。BBDown 提供了四个互相独立的仅下载开关可以精确到只取某一种素材# 只要音频适合做播客、做混音素材 BBDown 视频链接 --audio-only # 只要弹幕 BBDown 视频链接 --danmaku-only # 只要字幕外挂字幕会转成 srt 格式 BBDown 视频链接 --sub-only # 只要封面图 BBDown 视频链接 --cover-only反过来如果你想完整下载但嫌某些部分碍事也有对应的跳过开关--skip-mux跳过混流、--skip-subtitle跳过字幕、--skip-cover跳过封面、--skip-ai跳过 AI 字幕。对创作者来说这套组合拳非常实用。举个例子给视频做二次创作时可以先--audio-only取走音轨用于混音再用--skip-subtitle拿到没有字幕干扰的纯净画面两个命令配合就能把需要的素材一次备齐。一次完整的实战复盘从零备份一个 UP 主的系列教程理论讲了不少我们把它串成一个从头到尾的完整任务备份某位 UP 主的整套编程教程到本地并且按自己的规则命名。第 1 步登录账号。高清画质和会员内容都需要账号权限推荐用扫码方式登录。在终端执行BBDown login终端会显示二维码用 B 站 App 扫码即可完成 WEB 账号登录。如果是 TV 端云视听小电视账号用BBDown logintv走同样的流程。不想扫码的话也可以手动把网页 Cookie 传进来BBDown -c SESSDATA****** 视频链接或者给 TV/APP 接口传入 access_token-token ******。第 2 步解析整个合集并下载。把教程所在的合集链接丢给程序加上-p ALL全量下载并用--download-danmaku把弹幕一起带回家BBDown 合集链接 -p ALL --download-danmaku第 3 步用命名规则整理文件。默认的文件名只保留视频主标题多分P时保存在一个以主标题命名的文件夹里。如果你有自己习惯的归档方式用-F和-M两个参数自定义BBDown 合集链接 -p ALL -F ownerName_videoTitle_dfn -M videoTitle/[PpageNumberWithZero]pageTitle[dfn]其中可用变量包括videoTitle主标题、pageTitle分P标题、pageNumber和pageNumberWithZero分P序号、bvid/aid/cid视频 ID、dfn清晰度、res分辨率、fps帧率、videoCodecs/audioCodecs编码、videoBandwidth/audioBandwidth码率、ownerName上传者、publishDate发布时间、apiType接口类型等。熟悉这几个变量之后你完全可以拼出属于自己的归档规范。第 4 步把常用参数沉淀成配置文件。上面这些参数如果每次都要手敲一遍太浪费了。BBDown 支持读取本地配置文件默认读取程序同目录下的BBDown.config也可以用--config-file指定其他文件。配置格式很简单一行参数名下一行是它的值#开头的行会被忽略。一份典型的配置长这样# 自定义输出文件名 --file-pattern videoTitle[dfn] --multi-file-pattern videoTitle/[PpageNumberWithZero]pageTitle[dfn] # 每个分P之间间隔 2 秒 --delay-per-page 2 # 默认下载弹幕 --download-danmaku从此之后备份任务就简化成一行命令BBDown 链接 -p ALL其余参数全部由配置自动接管。进阶地图按需解锁的几项高阶能力当上面这些日常操作都熟练之后还有几个方向可以根据你的实际需求选择性解锁。追求极限速度多线程与 aria2cBBDown 默认开启多线程下载可用-mt控制--multi-thread false可关闭普通场景已经够快。如果还不够可以把下载引擎换成 aria2cBBDown 视频链接 -aria2前提是你自己准备好 aria2c 的可执行文件必要时用--aria2c-path指定它的位置。它的附加参数默认包含-x16 -s16 -j16 -k 5M想调整并发或限速用--aria2c-args传入例如通过--all-proxy为 aria2 指定代理、通过限速参数控制带宽占用。需要提醒的是附加参数里有引号时要注意转义。把 BBDown 变成服务API 服务器模式如果你不想每次都在终端里敲命令或者想把它集成到自己的管理界面里可以启动服务器模式BBDown serve -l http://0.0.0.0:12450启动后它会提供一组 JSON API包括查询任务列表/get-tasks/、查看运行中或已完成的任务、按视频 AID 查单个任务、添加任务/add-task只需传入 Url 字段即可、清理已完成或失败的任务等。项目仓库的 json-api-doc.md 里有完整的接口和数据格式说明照着文档就能写出自己的下载管理面板。服务器模式不支持 HTTPS如果有需要可以用 nginx 之类的反向代理在外面包一层。顺带一提仓库自带 Dockerfile镜像内部会安装 ffmpeg 并默认以服务器模式在 23333 端口启动想部署到服务器上做常驻下载服务的话直接用它构建镜像即可。更贴近场景的辅助开关--work-dir指定工作目录让所有下载文件集中落盘避免把项目目录弄乱--ffmpeg-path、--mp4box-path、--aria2c-path分别指定三个外部程序的路径解决找不到命令问题--host配合 access_token 使用 BiliPlus 解析服务能拿到账号的大部分权限适合 WEB 接口受限的场景-info即--only-show-info只解析展示信息而不实际下载适合先侦查再决定要不要下。常见坑与对策实测中遇到的几个问题作为过来人把最容易踩的坑提前列出来帮你省点时间。下载完成后没有成品文件。九成是 ffmpeg 或 MP4Box 没装好、或路径没被程序找到。先确认外部程序可用再考虑用--ffmpeg-path指定路径也可以临时加--skip-mux跳过混流看看音视频分片本身是否下载成功。想要的画质没有出现。高清档位通常绑定账号权限先用BBDown login扫码登录再检查-q优先级列表里的名称是否与实际档位一致。登录扫码时报错。某些系统下可能出现The type initializer for Gdip threw an exception这是二维码渲染库的环境问题属于已知情况按社区反馈安装对应图形库依赖即可解决。批量下载触发风控。不要用默认的零间隔疯狂请求配合--delay-per-page设置合理的间隔时间多线程并发也适当控制细水长流反而更稳定。从今天开始建立你自己的 B 站素材库到这里一条完整的从安装到批量归档的链路已经走通了装好工具扫码登录用-p ALL拉下整部番剧或整个合集用-F/-M变量定制命名再靠BBDown.config把常用参数固定下来——下次动手只需要一行命令。如果你想从源码构建仓库地址是https://gitcode.com/gh_mirrors/bb/BBDown源码结构也很清晰解析逻辑集中在 BBDown.CoreParser、各类 Fetcher、DanmakuUtil下载、混流、aria2 调用和 API 服务器则分布在主工程里感兴趣的话读一读能学到不少 B 站接口逆向的思路。最后必须重申一遍使用边界BBDown 仅供个人学习、研究和非商业用途。下载和传播视频内容前请务必确认自己拥有合法授权尊重内容创作者的版权。工具只是放大你的效率怎么用、用在什么地方始终是使用者自己的责任。现在就去终端敲下第一条命令吧。把那个你反复点开却无法保存的视频真正变成自己硬盘里随时可看的资产。【免费下载链接】BBDownBilibili Downloader. 一个命令行式哔哩哔哩下载器.项目地址: https://gitcode.com/gh_mirrors/bb/BBDown创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考