哔哩喵 bili mux 正式发布了!已上架插件应用商店!

inpm 2026-08-24 15:05 1

哔哩喵 Bili-Mux:浏览器内直接合成 MP4 的 B 站下载扩展


做了一年一度(并不)的小工具,今天正式发布了,已上架 Chrome 应用商店,同步开源在 GitHub 。


插件市场搜索🔍:哔哩喵 或者 bili mux 都可以


或者直接点击下方链接:


https://chromewebstore.google.com/detail/bnphpkhlcebimdiafgakooibmhdmeaem?utm_source=item-share-cb


项目地址: https://github.com/c-yyy/bili-mux




是什么


一个 Manifest V3 Chrome 扩展,在 B 站视频页注入一个下载面板。核心卖点是:音视频合成完全在浏览器内完成,通过 ffmpeg.wasm 跑在 Offscreen Document 里,不需要本机安装 ffmpeg ,也不需要把链接发给任何第三方服务器。


功能一览



  • 封面下载(静态直链,直接落地)

  • DASH 视频流 / 音频流分离保存(.m4s ,可选画质至 4K )

  • 浏览器内合成 MP4:拉取音视频流后用 ffmpeg.wasm 封装成单个 MP4 ,一条进度条走完自动下载

  • FLV 合并下载:旧版 HTTP-FLV 分段直接二进制拼接,低码率、体积小

  • 分 P 批量下载:勾选多个分 P ,逐个 FLV 合并下载

  • 面板实时显示扩展自身的内存占用与网络下载速率


技术上踩过的几个坑


分享给有兴趣的 V 友:



  1. WBI 签名:playurl 接口需要 WBI 签名,内置了 MIXIN_TAB 混淆表,从 nav 接口取密钥按位重排截 32 位后 MD5 ,密钥缓存 10 分钟。

  2. ffmpeg.wasm 在 MV3 里跑:选用单线程 core (@ffmpeg/core-st ),不依赖 SharedArrayBuffer ,省去 COOP/COEP 响应头的麻烦。

  3. 跨进程传二进制:chrome.runtime.sendMessage 不支持 ArrayBuffer 序列化,content → Service Worker → Offscreen 的载荷一律 base64 编码。

  4. CDN 403:bilivideo.com 校验 Referer ,chrome.downloads 发起的下载不带 Referer 会被拒。方案是流式下载在 content script 内 fetch (浏览器自动带 Referer ),再配合 declarativeNetRequest 给 CDN 域名注入 Referer 头。

  5. 多标签串台:每个合成请求带唯一 requestId ,background 维护 requestId → tabId 映射,结果定向转发。


安装


两种方式任选:



  • Chrome 应用商店直接安装(已上架)

  • 手动安装:GitHub 仓库下载 .crx → chrome://extensions/ 开启开发者模式 → 拖入即可


环境要求 Chrome 116+(合成依赖 Offscreen Document API )。装好后打开任意 B 站视频页(需登录),工具栏末尾出现粉色「下载」按钮即成功。


声明


扩展只解析你自己账号本就有权播放的流,仅供个人学习留存使用,请勿用于批量搬运或二次分发。


源码完全开源,欢迎 Star / Issue / PR ,也欢迎 V 友们试用后拍砖。

最新回复 (0)
    没有回复
* 帖子来源V2EX
返回