news 2026/8/27 3:10:48

用 m4s-converter 把B站缓存m4s转成MP4:零画质损失

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
用 m4s-converter 把B站缓存m4s转成MP4:零画质损失

用 m4s-converter 把B站缓存m4s转成MP4:零画质损失

【免费下载链接】m4s-converter一个跨平台小工具,将bilibili缓存的m4s格式音视频文件合并成mp4项目地址: https://gitcode.com/gh_mirrors/m4/m4s-converter

你缓存好的视频,打开缓存文件夹一看,竟是两个播放器都不认的 m4s 文件。m4s-converter 把它们装回 MP4,不重编码,也不负责下载。

m4s-converter 转换原理:不转码,只合并

B站缓存的 m4s,像一部电影的画面和声音被拍在两条胶片上。m4s-converter 把两条胶片重新接成一条,逐帧通过,一帧都不碰。它做的,只是把两路轨道拼回标准容器。它不做的,是重新编码和转码。

为什么B站缓存的m4s文件是拆开的

为了在线播放更流畅,B站把画面和声音拆成两路,各自独立缓存。两路都完好,但没有任何播放器认识这种"双轨"形态。

自测一下:打开视频的缓存文件夹。看到两个.m4s文件加一份 json 信息文件,缓存就是完整的,可以开工;只剩一个 m4s 或 json 信息缺失,说明缓存中断过。

m4s-converter 快速上手:从缓存到MP4三步

拿到工具。从项目的发布页下载对应系统的可执行文件,Windows 双击即可运行。想自己编译的话,拉取源码:

git clone https://gitcode.com/gh_mirrors/m4/m4s-converter

找到缓存。默认缓存目录在用户主目录Videos下的bilibili文件夹。随便打开一个视频子文件夹,确认有 m4s 文件和信息文件就能开工。

运行合成

./m4s-converter

首次运行会先显示使用条款,按任意键开始。

之后全是自动的:递归扫描缓存目录,配对画面与声音轨道。它读取标题和分P来给文件命名,并把 XML 弹幕转成 ASS 字幕。

固态硬盘上,1.46GB 约 5 秒 ⚡,11.7GB 约 38 秒。

转好的 MP4 统一放在缓存目录下的output子文件夹,按剧集归入子目录,结束还会自动打开它。

m4s-converter 命令行参数速查

  • -c "路径":手动指定缓存目录。缓存放在移动硬盘或别的磁盘时适用
  • -a:关闭弹幕字幕的自动生成。想要干净画面时适用
  • -o:合成时覆盖同名文件。想重跑并替换旧版本时适用
  • -u:把未合并的文件归入汇总目录。想筛查哪些没成功时适用
  • -g "路径":手动指定 MP4Box 的位置,-g select会弹出选择框。macOS 先装好 GPAC 再用它指过去
  • -h/-v:查看帮助和版本信息

m4s-converter 合成失败怎么办

现象:屏幕提示"未缓存完成,跳过合成"。 原因:缓存中途断过,文件不完整。 处理:回B站重新缓存这条视频,再跑一次。

现象:转出来的 MP4 没有声音。 原因:音频轨道文件缺失或损坏。 处理:重新缓存后再转。

现象:没有弹幕字幕。 原因:缓存时没有弹幕数据。 处理:先确认视频本身播放正常,字幕不必强求。

现象:macOS 上找不到 MP4Box。 原因:macOS 版不内置 MP4Box。 处理:先安装 GPAC,再用-g指定路径。

m4s-converter 没有下载视频的功能,它只处理你本人合法缓存的内容,结果仅供个人备份。那俩没人认的 m4s,终于又能播放了。

【免费下载链接】m4s-converter一个跨平台小工具,将bilibili缓存的m4s格式音视频文件合并成mp4项目地址: https://gitcode.com/gh_mirrors/m4/m4s-converter

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/27 3:10:26

开放权重模型调用占比62%,AI网关如何引领模型选型新趋势?

先给结论:Vercel AI Gateway 开放权重模型调用占比上升到 62%,这并不是某个宣传话术,而是开发者实际请求流量里一个很直观的结构变化。简单说,现在通过 AI Gateway 转发出去的模型请求,超过六成最终落在开放权重模型上…

作者头像 李华
网站建设 2026/8/27 3:10:23

ABAP IN BACKGROUND TASK 原理与高可用实践指南

1. 为什么“悄悄跑起来”不是一句空话:IN BACKGROUND TASK 的真实价值边界在 ABAP 开发中,我们常被要求“优化响应时间”“提升用户体验”“避免用户等待”。但现实里,很多开发者一看到耗时操作——比如生成千条凭证、导出万行报表、调用外部…

作者头像 李华
网站建设 2026/8/27 3:08:03

Agent Skills 改变 AI 生成 PPT 的实用路径与工程实践

AI 做 PPT 这件事,过去半年经历了两次明显变化。第一次是“对话生成 PPT”满地开花,你输入一句需求,工具吐出一套模板,看起来很快,但改版式、调逻辑、换配色常常比从头做还痛苦。第二次就是现在正在发生的:…

作者头像 李华
网站建设 2026/8/27 3:07:46

模块化建筑资产全流程:Blender制作与UE5拼接实战

在游戏场景或影视剧背景的制作中,有一个重复出现的痛点:建筑资产做了一套,结果换楼层布局要推倒重来;单栋楼做得再精致,等需要组成一条街道、一片营地时,资源量直接翻倍,内存和贴图开销也随之失…

作者头像 李华
网站建设 2026/8/27 3:07:29

从零制作RGB LED控制器:电路设计到Python联动调光

开头 做嵌入式或者DIY电子这块儿的朋友,应该都有过这样的经历:拿到一颗RGB LED,想让它按照自己的节奏亮起来、变色、甚至跟着音乐闪烁,但真到动手的时候,发现“不就是一个灯吗”这事儿远比想象中复杂。 我这两年断断续…

作者头像 李华
网站建设 2026/8/27 3:07:02

设计模式 - 策略模式

策略模式(Strategy Pattern) 从"为什么需要它"到"底层是怎么跑起来的",一篇讲透行为型设计模式中最优雅的一个。 目录 文档定位 引子:一堆if-else引发的灾难 专业定义 策略模式的结构 从零实现:一步步重构 底层实现原理 现代C++下的策略模式 策略模式 vs 相…

作者头像 李华