找回密码
 新建账号

将 B 站缓存文件 .m4s 文件合并成为 .mp4 视频

[复制链接]
php 发表于 2023/7/26 15:14 | 显示全部楼层 |阅读模式
哔哩哔哩,AKA B站,客户端缓存视频后得到两个 .m4s 扩展名的文件,这两个文件分别是视频的音频文件和图像文件,可以在播放器里面打开播放,音频文件只有声音没有图像,图像文件只有图像没有声音,使用 ffmpeg 可以将B站缓存文件合并成一个完整的视频文件。ffmpeg 下载链接见文章末尾。
  1. ffmpeg -i <PATH>.m4s -i <PATH>.m4s -c copy -y <PATH>.mp4
复制代码
记得将以上代码中的 <PATH> 改为具体的文件路径,可以是绝对路径,也可以是相对路径,前两个 <PATH> 分别是图像文件和音频文件,不分先后,第三个 <PATH> 是合成后的文件。完整示例如下。
  1. ffmpeg -i "C:\Users\WuXiancheng\AppData\Local\AppStorage\bilibili\974778597\974778597_nb3-1-30080.m4s" -i "C:\Users\WuXiancheng\AppData\Local\AppStorage\bilibili\974778597\974778597_nb3-1-30280.m4s" -c copy -y "C:\Users\WuXiancheng\AppData\Local\AppStorage\bilibili\974778597\974778597_nb3-1-30280.mp4"
复制代码
Bilibili Windows 客户端缓存的文件合成视频时可能会出现下面这个“Invalid data found when processing input”的错误
  1. C:\Users\WuXiancheng\AppData\Local\AppStorage\bilibili\974778597\974778597_nb3-1-30080.m4s: Invalid data found when processing input
复制代码
实际上是因为两个 .m4s 文件被添加了一些前置0,使用 notepad++ 之类的文本编辑软件分别打开两个 .m4s 文件,将第一个 NUL 字符前的所有 0 删除保存即可解决“Invalid data found when processing input”的问题,切记是删除文件内容最前面所有的0,不要删除其他字符。
ffmpeg 官方下载地址 https://www.gyan.dev/ffmpeg/builds/ffmpeg-git-essentials.7z  7-zip 解压软件官方下载地址 https://www.7-zip.org/

手机版|轻松E站

GMT+8, 2024/4/28 17:16

快速回复 返回顶部 返回列表