GoForum🌐 V2EX

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

inpm · 2026-08-24 15:08 · 0 次点赞 · 0 条回复

哔哩喵 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

@1192w.avif" alt="" />

@1192w.avif" alt="" />

是什么

一个 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 条回复
添加回复
你还需要 登录 后发表回复

登录后可发帖和回复

登录 注册
主题信息
作者: inpm
发布: 2026-08-24
点赞: 0
回复: 0