哔哩哔哩,AKA B站,客户端缓存视频后得到两个 .m4s 扩展名的文件,这两个文件分别是视频的音频文件和图像文件,可以在播放器里面打开播放,音频文件只有声音没有图像,图像文件只有图像没有声音,使用 ffmpeg 可以将B站缓存文件合并成一个完整的视频文件。ffmpeg 下载链接见文章末尾。- ffmpeg -i <PATH>.m4s -i <PATH>.m4s -c copy -y <PATH>.mp4
复制代码 记得将以上代码中的 <PATH> 改为具体的文件路径,可以是绝对路径,也可以是相对路径,前两个 <PATH> 分别是图像文件和音频文件,不分先后,第三个 <PATH> 是合成后的文件。完整示例如下。- 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”的错误- 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/ |