m4s转MP4完整教程:m4s-converter免费合并B站缓存视频,11.7GB只要38秒
【免费下载链接】m4s-converter一个跨平台小工具,将bilibili缓存的m4s格式音视频文件合并成mp4项目地址: https://gitcode.com/gh_mirrors/m4/m4s-converter
m4s-converter 是一款免费开源的跨平台小工具,把 bilibili 客户端缓存的 m4s 音视频文件无损合并成标准 MP4,让只能在客户端里播放的缓存视频真正留存在你的设备上。新手几分钟就能跑通第一次合并,不需要任何编程基础。
缓存还在,播放器却说"不认识"?
先还原一个很常见的场面:你关注的一个教程番剧或者纪录片被下架了,打开页面是一行冰冷的"该视频无法观看"。但别急着点叉——只要当时是用官方客户端看的,缓存目录里大概率还躺着一堆文件,video.m4s、audio.m4s,旁边还有.playurl、videoInfo.json这类小文件。
用播放器直接打开?不行。这不是你的播放器坏了,而是 B站的缓存机制把一条视频拆成了"两个半成品":video.m4s里只有画面,audio.m4s里只有声音,谁都不是完整文件。那堆.m4s后缀的文件对通用播放器来说就是天书,对 m4s-converter 来说才是原材料。
所以你需要的不是"下载"或"转码",而是 B站缓存视频合并:把已经存在的文件拼回一条完整视频。
为什么这么快?看清它的三个小动作
先回答一个很多人会问的问题:几十 GB 的视频,转换工具不都得跑半天吗?
它快,是因为从头到尾没有动过一帧画面。可以把 MP4 理解成一个拉链袋:画面流和声音流早就码好了,工具只做三件小事。
- 分拣配对。遍历缓存目录,读
.playurl文件里的轨道 ID,精确分辨哪个是视频、哪个是音频——连番剧缓存那种需要自动加 30000 偏移的特殊编号都处理好了,不靠猜文件名。 - 清理入库。缓存下来的 m4s 文件头部可能多出 9 个多余的 0 字节,它会先检查、剔除,再分别转存为
-video.mp4和-audio.mp3,确保下一步合成时不出幺蛾子。 - 装袋打标。调用 GPAC 的 MP4Box 把两路流装进同一个 MP4,顺手把合集 ID、UP主 ID 写进文件标签。默认还会找到配套的弹幕 XML(Android 端则是
danmaku.xml),转成 ASS 字幕,让当年的弹幕场面跟着视频一起留下来。
另外它合成完会给每条 MP4 记一份"指纹",同一批缓存再跑一遍,它认得出来,直接跳过,不会重复劳动,更不会误覆盖你已有的文件。具体合成逻辑可以看 核心合并代码。
三分钟上手:从双击到拿到 MP4
第一次使用按这个顺序走就行。
第 1 步,把工具弄到手。两种方式:
git clone https://gitcode.com/gh_mirrors/m4/m4s-converter或者去项目的 release 页下载对应系统的预编译文件,Windows、Linux、macOS 都有,后者省事——下完就能跑。
第 2 步,运行。Windows 直接双击m4s-converter.exe;Linux / macOS 在终端里给权限再运行:
chmod +x m4s-converter ./m4s-converter它会自动去找 B站客户端的默认缓存位置(一般在Videos/bilibili下),找不到时会弹窗让你手动指路,不用敲路径。Windows 和 Linux 版把 MP4Box 打包在程序里,第一次运行自动释放到临时目录;macOS 则需要自己先装好 GPAC。
第 3 步,过一下使用条款。启动时会先打印一段声明:只转换本人合法缓存的内容,结果仅限个人备份。按任意键即同意,不认可直接关窗口。
第 4 步,收成果。日志滚完,缓存目录下的output文件夹会自动弹开,里面按"合集名-UP主"分好了子目录,MP4 和弹幕 ASS 躺在一起。官方给出的实测:1.46GB 的合成耗时 5 秒,11.7GB 的大文件 38 秒(SSD 环境,仅供参考)⏱️。中途想停?Ctrl+C即可,它会把当前这条处理完再退出,不会留下半截文件。
什么场景该开哪个开关:参数清单
平时裸跑就够用。只有踩到下面这些场景时,才需要加参数:
| 场景 | 加什么 | 说明 |
|---|---|---|
| 缓存不在默认位置 | -c "你的缓存路径" | 手动指路,比如换过系统盘 |
| 不想要弹幕字幕文件 | -a | 只合并视频本身 |
| 反复转同一批,不想文件越堆越多 | -o | 允许覆盖同名输出 |
| 想排查哪些没转成 | -u | 把没配对的音视频收进"未合并文件"目录 |
| 自带 MP4Box 不可用(常见于 macOS) | -g "mp4box路径"或-g select | 指定自己的 GPAC,或弹窗选 |
常用组合直接抄:
./m4s-converter -c "/你的/缓存/路径" -a ./m4s-converter -o -u ./m4s-converter -g select想知道它认识哪些参数,-h出帮助,-v看版本。
老实说清:它能干嘛,又会在哪让你失望
m4s-converter 是个纯本地工具。它不下载视频、不连 B站服务器、不碰你的账号、不做任何解密——它的全部本事,就是把你设备上已有的 m4s 缓存合并成 MP4。所以请把它用在正确的位置:只转换你自己在能正常观看时通过官方客户端缓存的内容,结果只作个人备份,不传播、不商用。视频下架不等于版权消失,转出来的文件照样受原作版权约束。项目仓库里的 法律声明 把这层意思写得很细,使用即视为同意。
至于它什么时候会让你失望,也有明确的几种:
- 缓存没下完的会跳过。状态不是"已完成"的视频直接略过,回客户端补缓存完整再转。
- 画面或声音缺一个就合不了。配对失败的轨道不会硬凑,配合
-u能一眼看到是谁缺了半边。 - macOS 要多一步。得先自行安装 GPAC,否则提示找不到 MP4Box。
趁缓存还在,给差点消失的视频留个底
回到开头那个页面灰掉、缓存还在的场景。被下架、UP主删稿的视频,只要缓存没被清理,就还在你的硬盘里,只是困在 m4s 这个"客户端专用格式"里出不来。而解锁它只需要一次双击:把工具跑起来,同意条款,等日志滚完——几秒钟后,那条"只能在 B站里看"的视频,就以标准 MP4 的身份重新活在你的收藏夹、电视和剪辑软件里。别等哪天清理磁盘才想起还有这批缓存,现在就跑一次,成本不到一分钟。
【免费下载链接】m4s-converter一个跨平台小工具,将bilibili缓存的m4s格式音视频文件合并成mp4项目地址: https://gitcode.com/gh_mirrors/m4/m4s-converter
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考