B站缓存转MP4终极指南:免费免转码无损合并,几十个视频一分钟全搞定
【免费下载链接】m4s-converter一个跨平台小工具,将bilibili缓存的m4s格式音视频文件合并成mp4项目地址: https://gitcode.com/gh_mirrors/m4/m4s-converter
m4s-converter 是一款跨平台的免费小工具,专门把 B 站客户端缓存的 m4s 音视频文件无损合并成 MP4。它不重新编码、只做封装,画质音质原样保留,几十个视频往往一两分钟全部处理完。如果你正在为"缓存视频放不了"发愁,这篇航海图请收好。
风暴眼:缓存目录里为何躺着两个"陌生文件"
深夜想补番,打开 B 站缓存目录,你发现每个视频文件夹里都蹲着两个长相陌生的文件:video.m4s和audio.m4s。拖进播放器,直接被拒之门外。别急着删——文件没坏,你手里握着的,只是一条被拆成两半的"航线"。
每个文件夹里其实有三样东西:
video.m4s:只有画面,没有声音audio.m4s:只有声音,没有画面entry.json:标题、UP 主、合集等"说明书"
一条完整的视频被拆成了两截龙骨,而播放器这个"船坞"只认拼装好的整船。你递过去两块孤零零的船板,它当然不接。
所以问题从来不是"转码",而是"重新合体"。
拆船的真相:B 站为什么要把一条视频切成两半
官方客户端为了在线播放的顺滑,会把一条视频拆成两条独立的轨道(画面轨 + 声音轨),分开传输、分开缓存,落地就成了你看到的两个 m4s 文件。
打个比方:一趟完整的航线,被拆成"桅杆"和"船帆"两批货分开发运。桅杆是好桅杆,船帆是好船帆,可它们永远凑不成一艘能出港的船。
转码是另一码事:那是把原材料重新回炉。而合并只是把现成的两半拼回去——两者天差地别。
两种修船思路:回炉重造 vs 原样焊接
传统转换工具的套路是"回炉":把视频重新压一遍,再封进 MP4。代价肉眼可见——画质二次损耗、CPU 飙到起飞、大文件动辄等几十分钟。
m4s-converter 换了个完全相反的思路:它调用 GPAC 的 MP4Box,把两条轨道原样焊进 MP4 容器,一个像素都不碰。
这句"不重编码、只做封装"背后,是实打实的好处:
- 画质音质 100% 保留,跟缓存时一模一样,没有二次压缩
- 速度快到接近复制粘贴:实测 1.46GB 的视频约 5 秒,11.7GB 的大文件也就 38 秒上下(固态硬盘环境)
- CPU 占用极低,转换期间电脑照常用,该刷网页刷网页,该写代码写代码
一句话:它是装配工,不是炼钢炉。
起锚实操:四步拿到第一艘完整的"船"
第一步,拿工具。习惯命令行的,直接克隆:
git clone https://gitcode.com/gh_mirrors/m4/m4s-converter cd m4s-converter不想碰终端?去 Release 页面挑对应系统的可执行文件,解压即用。
第二步,确认缓存位置。B 站缓存放得很有规律:
- Windows:
C:\Users\你的用户名\Videos\bilibili\ - macOS / Linux:
~/Videos/bilibili/
每个子文件夹里,都能看到video.m4s、audio.m4s、entry.json三件套。
第三步,运行。双击或执行一行命令:
./m4s-converter首次运行会弹出一段使用条款,回车表示同意,然后自动开工。
第四步,收船。它会递归扫描整个缓存目录,自动配对音视频、自动读取标题命名、自动按合集分舱,成品统一放进缓存目录下的output文件夹。VLC、PotPlayer、手机平板自带的播放器,全部通吃。
全程零手动,你只负责等。
掌舵的旋钮:五个参数让工具听你的
自动模式已经够省心,想要更多控制权,命令行参数才是完整驾驶台:
| 参数 | 一句话说明 |
|---|---|
-c "路径" | 指定缓存目录,外置硬盘、NAS 里的缓存全靠它引路 |
-a | 关掉弹幕转 ASS,嫌弹幕碍眼就拨下这个开关 |
-o | 同名文件直接覆盖(默认是自动改名避让) |
-u | 没合并成功的音视频统一收进汇总目录,方便人工善后 |
-g "路径" | 手动指定 MP4Box,填select会弹出文件选择框 |
举个组合拳的例子:视频存在移动硬盘,想要弹幕,又不想重复劳动:
./m4s-converter -c "/Volumes/Backup/bilibili"它还有本"老账本":每次转换会记录合成文件的哈希与元数据,下次运行自动跳过已处理过的视频,重复转换?不存在的。
三个港口的风俗:Windows / macOS / Linux 各有规矩
工具虽然跨平台,但有个小差别值得记住:
- Windows 和 Linux:首次运行会自动释放内置的 MP4Box 到临时目录,零依赖、零配置,装上就跑。
- macOS:需要先装 GPAC 依赖:
brew install gpac装完再用-g参数指路,比如-g /usr/local/bin/MP4Box,或者干脆-g select弹窗选。
搁浅现场答疑:四个高频问题的急救方案
Q:提示找不到 MP4Box?A:Windows 和 Linux 会自动释放内置版本;macOS 先去装 GPAC,再用-g指路。记住一句话:别让装配工缺席。
Q:转出来没声音?A:八成是audio.m4s不完整——缓存中断会导致文件缺失或大小异常。把这条视频重新缓存一次再转,问题基本消失。
Q:弹幕怎么没了?A:弹幕转 ASS 依赖缓存里的本地 XML 文件,缓存里压根没有弹幕数据时自然会跳过。想排除干扰,用-a关掉弹幕功能再试一次。
Q:会把已经转过的再转一遍吗?A:不会。程序会校验文件哈希与元数据,重复运行自动识别并跳过,你尽管放心反复跑。
老水手的四条习惯:让仓库永远不堵船
- 转完验完再清源:确认 MP4 播放无误后,再清理 m4s 源文件,既省空间又防手滑。
- 磁盘留足余量:MP4 和源文件体积差不多,转大文件前先瞄一眼剩余空间。
- 每周扫一遍缓存:缓存只进不出迟早撑爆磁盘,定时清理是刚需。
- 善用合集目录:输出已按合集自动分舱,配合自己的命名习惯,找片一目了然。
想亲手拆船?三个关键舱室的图纸
- 音视频配对与去重逻辑:
common/synthesis.go - 弹幕转 ASS 的默认样式参数:
conver/setting.go - 各平台 MP4Box 内置与自动释放:
internal/
想调默认字号、想改去重策略、想搞懂三个平台的分发差异,从这三个舱室下手就对了。
现在起航:四步行动清单
- 拿工具——克隆或下载对应系统版本
- 找缓存——定位你的
Videos/bilibili目录 - 跑一遍——双击或一行命令,回车同意条款
- 享受成果——任意设备随便播
最后必须把丑话摆在前头:这个工具只适用于你本人通过官方客户端合法缓存的视频,转换结果严格限于个人备份,严禁传播、分享或商用。尊重创作者,好内容才能持续涌现。
那些沉睡在缓存角落的"半条船",其实离出港只差一次无损焊接的距离。三分钟动手,给珍藏的影像重新接上龙骨。
【免费下载链接】m4s-converter一个跨平台小工具,将bilibili缓存的m4s格式音视频文件合并成mp4项目地址: https://gitcode.com/gh_mirrors/m4/m4s-converter
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考