
哔哩喵 Bili-Mux 是一个 Manifest V3 Chrome 扩展,在 B 站视频页直接注入下载面板,用户点击工具栏末尾的粉色「保存」按钮即可展开操作。扩展支持封面下载、DASH 音视频流分离保存、浏览器内 ffmpeg.wasm 合成 MP4、FLV 合并下载以及分P批量下载,从解析到合成的全部环节都在浏览器里完成。
适合需要把有权限观看的 B 站视频留存到本地做学习或归档的用户。项目要求 Chrome 116 及以上版本,且需要在 B 站处于登录状态。许可证未在 README 中标注。

场景痛点
下载 B站视频的传统路径要么依赖官方客户端,要么借助第三方下载器。第三方工具经常要求在本机安装 ffmpeg 或额外的转码组件,画质还可能被压缩。熟悉技术的用户知道 B 站的 DASH 流是音视频分离的 .m4s 文件,手动抓流后得到两个无法直接播放的文件,合并环节仍绕不开本机命令行。另一个隐蔽的坑是 CDN 校验:B 站媒体服务器要求请求携带 Referer,普通下载器直连会收到 403。这些环节叠加起来,一次「就想把视频存下来」的操作被拆成了抓流、转码、修 Referer 三段工程。
核心功能
封面下载
封面走静态直链,通过 chrome.downloads 直接落地保存,一步完成。
DASH 音视频流分离保存
视频流和音频流可分别单独保存为 .m4s 文件,画质可选至 4K。拿到分离流后,用户可以在本地用 ffmpeg 合并:
浏览器内合成 MP4
这是扩展的核心能力。拉取音视频流后,扩展在 MV3 Offscreen Document 中运行 ffmpeg.wasm(@ffmpeg/ffmpeg 0.11 + 单线程 @ffmpeg/core-st)把两条流封装为单个 MP4,进度条完成后自动下载,全程无需在本机安装 ffmpeg。单线程 core 不依赖 SharedArrayBuffer,无需 COOP/COEP 响应头。合成后的实例会保留复用,仅失败时销毁重建。
FLV 合并下载
针对旧版 HTTP-FLV 格式,扩展将多个分段直接做二进制拼接,产出一个可直接播放的 .flv 文件。FLV 码率较低、体积更小,适合对体积敏感的场景。
分P批量下载
多分P视频支持批量处理,不用逐P手动重复操作。
实时资源占用显示
下载面板会实时显示扩展自身的内存占用与网络下载速率,合成大文件时用户可以直观看到资源消耗。
安装与使用
前置条件
- Chrome 116 及以上版本(浏览器内合成依赖 Offscreen Document API)
- B 站账号处于登录状态
安装
方式一:下载 .crx 安装包。
1. 打开 Chrome,地址栏输入 chrome://extensions/,开启右上角「开发者模式」。
2. 将下载的 Bili-Mux-v1.1.1.crx 拖入页面,点击「添加扩展程序」。
方式二:源码加载。
1. 下载本项目到本地。
2. 进入 chrome://extensions/,开启「开发者模式」。
3. 点击「加载已解压的扩展程序」,选择项目根目录。
日常使用
打开任意 B 站视频页,点击工具栏末尾的粉色「保存」按钮展开面板,按需选择操作。不同场景的建议如下:
| 场景 | 推荐操作 | 说明 |
| 想要一个直接可播放的文件 | 合成 MP4(浏览器内) | 进度条完成后自动下载,无需本机 ffmpeg |
| 追求 4K 原画、自行处理 | 分离下载音视频流 | 得到 .m4s 后用本地 ffmpeg 合并 |
| 对体积敏感 | FLV 合并下载 | 低码率、体积小,直接可播放 |
| 收藏视频封面 | 封面下载 | 静态直链直接落地 |
需要注意:扩展仅解析用户账号本就有权播放的流,仅供个人学习留存使用,请勿用于批量搬运或二次分发,由此产生的版权和账号风险由使用者自行承担。
我的使用感受
从 README 的技术细节看,作者在 MV3 的限制下把合成链路打磨得比较扎实:跨进程二进制载荷全部 base64 编码绕开消息序列化限制、分块消息协议绕开 64 MiB 上限、多标签用 requestId 映射防止串台,提交记录里也留下了对这些问题的完整修复过程。对普通用户来说,最有价值的一点是「合成 MP4(浏览器内)」按钮:点一下就得到成品文件,ffmpeg 完全隐身。实时资源占用显示是个少见的贴心细节。局限在于低配机器上跑 wasm 合成会有等待时间,且功能边界被明确限定在个人留存场景。
官方网站
https://github.com/c-yyy/bili-mux
下载地址
https://pan.quark.cn/s/47eaaa84531e






