m4s-converter:把B站缓存视频变成随时随地能播的MP4
【免费下载链接】m4s-converter一个跨平台小工具,将bilibili缓存的m4s格式音视频文件合并成mp4项目地址: https://gitcode.com/gh_mirrors/m4/m4s-converter
🌙 深夜,你想投屏却没戏
凌晨一点,你躺在床上,想把手头缓存好的那部纪录片投到电视上慢慢看。打开文件夹,看到的却是一堆30280.m4s、100048.m4s这种看不懂的文件,Windows 自带的播放器一个都打不开——因为它们压根不是普通视频,而是 B 站客户端专用的缓存格式。m4s-converter 就是为这个场景而生的小工具:把 bilibili 缓存视频合并成标准 mp4,任何播放器都认。
📦 先看它到底能做什么
- 一键合并:自动识别缓存里分离的视频流与音频流,合成一个完整的 MP4,并把标题、UP主等元数据一起写进去,文件信息清清楚楚
- 无损封装:它不重新编码,只把音视频数据流重新装进 MP4 容器,就像把散落的行李重新装进同一个箱子,画质音质一分不少;速度快,固态硬盘上实测 1.46GB 约 5 秒、11.7GB 约 38 秒
- 弹幕全自动:缓存里的弹幕 xml 同步转成 ass 字幕文件,播放器可直接加载,离线观看也能保留互动氛围
- 跨平台省心:Windows、Linux、macOS 都能跑,合成引擎 MP4Box 已内置在程序中,首次运行自动释放,无需手动安装依赖
🚀 三分钟跑通第一次转换
[!NOTE] 工具只负责格式转换,不具备下载功能,请先通过 B 站官方客户端把视频缓存到本地。
第一步:拿到工具。克隆仓库自行编译,或直接下载对应平台的发布版本:
# 所有系统通用 git clone https://gitcode.com/gh_mirrors/m4/m4s-converter cd m4s-converter第二步:运行程序。
# macOS / Linux chmod +x m4s-converter ./m4s-converter # Windows m4s-converter.exe启动后先显示一段使用条款,按任意键确认。随后工具自动定位 B 站默认缓存目录(Windows 为C:\Users\你的用户名\Videos\bilibili,macOS/Linux 为~/Videos/bilibili),把能找到的所有 m4s 文件批量合成。
第三步:去 output 目录拿结果。合并完成后工具会自动打开输出文件夹,里面按"视频分组-UP主"建好子目录,每个 mp4 旁边都躺着同名.ass弹幕字幕。拷贝到手机、平板、电视盒子上都能直接播放,从此缓存不再被锁死在客户端里。
🔧 三个进阶场景,把工具用到极致
场景一:缓存换了位置,用 -c 指路痛点:视频存在移动硬盘、或下载时自定义过目录,工具自动搜索扑了空。这时用-c直接告诉它路径:
# 指定自定义缓存目录 ./m4s-converter -c "/Volumes/Media/bilibili_cache"场景二:增量更新与强制重转痛点:批量处理时,已转换过的文件重复跑一遍既费时又容易覆盖。工具内置三重去重:同名文件直接跳过、通过 MP4 元数据比对跳过、再通过内容哈希比对跳过,默认运行就是增量模式。只有当你想重新生成某个文件时,才加-o覆盖模式,两者配合,效率与可控性兼得。
场景三:弹幕与散装文件的取舍痛点:有人嫌弹幕干扰画面,有人想排查哪些文件合成失败。两个参数正好对应两种诉求:
# 关闭自动生成弹幕 ./m4s-converter -a # 把未合并的MP3和视频文件收集到汇总目录,便于检查 ./m4s-converter -u| 参数 | 作用 | 典型场景 |
|---|---|---|
| -c | 自定义缓存路径 | 缓存不在默认目录 |
| -o | 覆盖同名视频 | 想重新合成文件 |
| -a | 关闭弹幕转换 | 不需要字幕 |
| -u | 汇总未合并文件 | 排查转换失败 |
| -g | 自定义 MP4Box | macOS 等特殊环境 |
❓ 六个高频问题,一次排干净
Q1:一启动就弹出一大段文字,程序卡住了?那是使用条款确认页,不是死机。按回车键同意后程序继续执行,直接关窗口则视为拒绝并退出。
Q2:提示"找不到 BiliBili 的缓存目录"?先确认缓存真实存在,再用-c显式指定路径,比让程序自动猜测更可靠,报错信息里也会给出具体原因。
Q3:日志出现"未缓存完成,跳过合成"?说明这个视频缓存时被中断,文件不完整。回到 B 站客户端重新缓存该视频,再运行一次即可。
Q4:提示"释放 MP4Box 失败"?内置合成引擎无法写入临时目录,通常是权限不足。Windows 下右键"以管理员身份运行",或执行./m4s-converter -g select手动弹出对话框选择一个 MP4Box 文件。
Q5:有些视频总被跳过,怎么强制转换?跳过是保护机制:要么文件已合成过,要么内容完全相同。确认需要重做时加上-o参数即可覆盖生成。
Q6:手机上的缓存能处理吗?可以。手机缓存使用entry.json与danmaku.xml结构,工具同样识别。把手机缓存目录拷贝到电脑,再用-c指向它即可完成 m4s 文件格式转换。
🎯 一次转换,长期受益
B 站客户端一旦下架视频,你辛苦缓存的内容可能就再也无法播放。m4s-converter 的价值,是把这份"只有 B 站能读"的资产,无损封装成任何设备、任何播放器都认得的通用 mp4,画质不损、弹幕齐全,还自带去重与增量更新。现在就打开终端跑一次,把缓存里那些躺了半年的视频,全部变成只属于你的私人资产吧。
【免费下载链接】m4s-converter一个跨平台小工具,将bilibili缓存的m4s格式音视频文件合并成mp4项目地址: https://gitcode.com/gh_mirrors/m4/m4s-converter
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考