五秒把B站缓存视频转成MP4:m4s-converter 免费开源工具实测手记
【免费下载链接】m4s-converter一个跨平台小工具,将bilibili缓存的m4s格式音视频文件合并成mp4项目地址: https://gitcode.com/gh_mirrors/m4/m4s-converter
最近我发现自己收藏夹里一半的视频已经打不开了——有的下架、有的删稿,唯独之前缓存下来的那一堆.m4s文件还好端端躺在硬盘里。可惜它们只能在 B站 客户端里播放,拖进剪辑软件不认、拷到电视上不认。直到我遇到 m4s-converter:一个免费开源的跨平台小工具,能把 bilibili 缓存的 m4s 音视频无损合并成 MP4,实测 1.46GB 文件只花 5 秒。下面把我的完整上手过程原原本本讲给你听。
那些"消失"的视频,其实还躺在你手机里
你有没有过这样的经历:辛辛苦苦缓存下来的教程、纪录片、演唱会,某天点开发现"稿件已删除"。UP主删稿了、番剧下架了,缓存却还在,只是只能在官方客户端里看。换台电视不认、拖进剪辑软件不认、换个手机更没法看。这堆.m4s文件就像上了锁的数字档案,钥匙就攥在你手里,只是没人告诉你该怎么用。
其实它压根没加密。.m4s是 MP4 家族里的"分片"形态——B站为了提高播放流畅度,把视频拆成了两个文件存放:video.m4s只有画面没有声音,audio.m4s只有声音没有画面。两个"半成品"加在一起,才是一个完整视频。所以"转换"的本质不是转码,而是把这两个半成品重新装进一个标准 MP4 容器。
认识一下这把钥匙:m4s-converter
m4s-converter 就是干这件事的:一个免费、开源、跨平台(Windows / Linux / macOS 通用)的小工具,自动扫描你缓存目录里所有的.m4s,配对、修复、合并,最后输出一个在任何设备上都能播的标准 MP4。
它有两句话值得先说清楚:
- 它不转码。它用 GPAC 的 MP4Box 做"封装",完全不碰画面和声音的编码数据,原始分辨率、码率、画质原样保留。
- 它不下载。它只处理你本地已有的缓存文件,不碰 B站 服务器,不解密任何东西。
明白这两点,你就知道为什么后面的一切都快得离谱。
第一次上手:从下载到跑出第一个 MP4
我第一次用时,流程比我预想的短得多,全程不用敲一条命令也能跑通。
第 1 步,拿到工具。两种方式任选:
git clone https://gitcode.com/gh_mirrors/m4/m4s-converter cd m4s-converter或者直接下载项目 release 里预编译好的可执行文件,Windows、Linux、macOS 都有对应版本。
第 2 步,运行。Windows 上双击m4s-converter.exe就行;Linux/macOS 需要先给执行权限再运行:
chmod +x m4s-converter ./m4s-converter第 3 步,看一眼使用条款。程序启动后会先展示一段声明,大意是:仅转换你本人通过官方客户端合法缓存的视频,转换结果严格用于个人备份。按任意键同意后继续,不想同意直接关窗口退出。
第 4 步,等它自己干活。工具会自动定位 B站 客户端的默认缓存路径(一般在Videos/bilibili目录下),扫描、配对、合成全自动。跑完它会自动打开输出文件夹,MP4 已经按"合集名-UP主"分好类了。如果中途想停,按Ctrl+C,它会处理完手头的任务再退出,不会丢半成品。
我第一次跑完,日志最后几行长这样:
已合成视频文件:【获奖学生动画】The Little Poet 小诗人|CALARTS 2023-toh糖.mp4 已完成本次任务,耗时:5秒那一刻的心情就两个字:舒坦。
它到底能替你干哪些活:能力-用法一览
用过一阵子之后,我把它的能力整理成了一张表,按"它能做什么 → 怎么用"来记最不容易忘:
| 能力 | 怎么用 | 说明 |
|---|---|---|
| 自动定位缓存目录 | 直接运行 | 默认扫描Videos/bilibili,找不到时弹窗让你手动选 |
| 自定义缓存路径 | -c参数 | 缓存不在默认位置时手动指路,比如./m4s-converter -c /你的/缓存/路径 |
| 弹幕转 ASS 字幕 | 默认开启 | 自动把 XML 弹幕转成 ASS 字幕文件,随视频一起保存 |
| 关闭弹幕转换 | -a参数 | 只要视频、不想要字幕文件时用 |
| 同名文件覆盖 | -o参数 | 默认不覆盖并自动重命名,加-o则直接覆盖 |
| 汇总未合并文件 | -u参数 | 把没合成成功的 MP3 和视频文件归拢到一个目录,方便排查 |
| 指定 MP4Box 路径 | -g参数 | 自带工具不可用时指定路径,或-g select弹窗选择 |
| 查看帮助/版本 | -h/-v | 记不住参数时随时查 |
几个常用组合顺手记一下:
# 指定缓存路径,同时关掉弹幕转换 ./m4s-converter -c "/你的/缓存/路径" -a # 覆盖同名文件,并把没合并成功的文件汇总起来 ./m4s-converter -o -u # 手动指定 MP4Box,或弹窗选择 ./m4s-converter -g "D:\GPAC\mp4box.exe" ./m4s-converter -g select另外还有两点贴心设计值得提:合成的 MP4 会带上标题、UP主、合集 ID 等元数据标签,方便以后整理;Android 手机端缓存的目录结构和桌面端不一样,它也能识别——工具会解析安卓端的entry.json和danmaku.xml,照样合成。也就是说,手机里攒的缓存同样能救回来。
五秒完成的秘密:它不是转码,是"装文件袋"
为什么 1.46GB 的文件 5 秒搞定,11.7GB 的大文件也只要 38 秒(固态硬盘实测,仅供参考)?拆开看它干的事就懂了。
你可以把转换过程想成"装文件袋":video.m4s和audio.m4s是两个抽屉里的半成品,MP4Box 把它们合进一个文件袋(MP4 容器)里,不打开、不重写里面的内容,只是打包。打包当然比重新抄写快得多。
整个流程其实只有四个环节:
- 扫描配对:读取缓存目录里
.playurl文件中的音视频 ID,精确判断哪个是视频轨、哪个是音频轨,而不是靠文件名瞎猜。 - 数据修复:缓存下来的 m4s 文件头部常有 9 个多余的
0字节,工具会先做"去头"处理,再转存为-video.mp4和-audio.mp3,保证后面的封装顺利。 - 无损封装:调 MP4Box 把两路流装进 MP4 容器,同时把合集 ID、UP主 ID 等写进元数据标签。
- 智能去重:每次合成都会生成基于输入文件 MD5 的
.hash记录,下次遇到同一批缓存直接跳过;元数据对不上的同名文件也不会被误覆盖。
所以它快,不是因为它转码转得快,而是它根本不需要转码。你看到的实际效果是:跑一遍,该转的转完,转过的自动忽略,误删重下的也能防住。
新手最容易翻车的四个地方
我用下来踩过几个坑,也看到很多人问过同样的问题,整理成"现象→原因→解决动作",每条后面都补一句"为什么":
| 现象 | 原因 | 解决动作 |
|---|---|---|
| 转出来的视频没声音 | 音频文件没缓存完整 | 检查缓存目录是否同时有audio.m4s和video.m4s,回客户端重新缓存后再转 |
| 提示找不到 MP4Box | GPAC 工具缺失或路径不对 | Windows/Linux 检查自带的 MP4Box 是否在位;macOS 需自行安装 GPAC,或用-g指定路径 |
| 某个视频被跳过没合成 | 缓存状态不是"已完成" | 回到 B站 客户端重新缓存该视频,确认下载完整后再跑 |
| 批量转换时有点卡 | 同时处理的大文件太多 | 分批转换,把输出目录放到固态硬盘上能明显提速 |
为什么第一条最常见?因为.m4s是音视频分离的,两个文件缺一不可——只缓存到一半就断网,音频文件就可能不完整,合成出来的自然没声音。为什么找不到 MP4Box 要检查路径?因为合成这一步全靠它,工具在 Windows 和 Linux 下自带了 MP4Box,而 macOS 需要你额外装 GPAC,用-g指定一下就行。
它不做什么,以及用之前要懂的事
把话说透:m4s-converter 是一个纯本地的格式合并工具。它不下载视频、不碰B站服务器、不解密任何加密内容,更不是什么"抓取工具"。它能做的,就是把你自己缓存下来的文件重新封装。
这也意味着它有一些天然边界:它不能帮你把视频"变回来",缓存没下完整它就无能为力;macOS 用户需要自己装好 GPAC 依赖才能用;至于去广告、去水印这类需求,它一概不管——它不是万能的,只是个本分的打包工。
合规这件事,工具自己也放在心上:启动时强制展示使用条款,确认你只转换自己在视频可观看期间通过官方客户端合法缓存的内容,转换结果严格限于个人备份。翻译成大白话就是——下架不等于版权失效,转换后的文件依然受原始著作权约束,别拿去传播、分享或商用。技术让内容保存更便利,但尊重创作者,才是它真正的底色。
趁缓存还在,动手吧
回到开头那个场景:那些差点"消失"的教程、纪录片、鬼畜合集,其实一直安安静静躺在你的缓存目录里,只差一步封装。别等视频源彻底失效才后悔——趁缓存还在,克隆项目或者直接下载可执行文件,一分钟不到,它们就会以标准 MP4 的身份重新"活"过来,在你自己的收藏夹里继续发光。
【免费下载链接】m4s-converter一个跨平台小工具,将bilibili缓存的m4s格式音视频文件合并成mp4项目地址: https://gitcode.com/gh_mirrors/m4/m4s-converter
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考