一、前言

这篇文章主要是记录一下如何将B站缓存的视频转换成mp4格式,网上或许有很多工具,但是有些方法随着B站的更新已经失效了。之所以写这篇文章并不是介绍新的工具,而是尝试从原理的角度记录一下操作过程,以不变应万变,以免自己以后忘记。

二、步骤

1.缓存视频

因为下面的操作是在电脑上,所以我就使用B站电脑版客户端进行视频缓存(Windows11),将视频先保存到本地。

2.修改视频

我们进入到你缓存的某个视频的文件夹下,可以看到如下几个文件。

其中有两个以.m4s为结尾的文件就是视频的核心文件,其中占空间大的那个是视频,占空间小的是音频(不完全对,但大概率是),然后双击打开两个文件,使用VScode(Visual Studio code)打开,其他二进制编辑器也行。如果用的是VScode需要安装Hex Editor插件,这个插件是一种用于查看和编辑计算机文件的低级别编辑工具。与常规文本编辑器不同,它允许用户直接查看和修改文件的二进制数据。在 Hex Editor 中,数据通常以十六进制(hex)格式显示。

然后我们选择用十六进制编辑器打开,打开之后应该能看到这样的数据

我们在右边“已解码的文本”一栏中可以看到最前面有好几个0,我们要把这几个0删掉。用鼠标点击左边第一个数据30,然后按DELETE键删除,依次删除直到所有的0都没了,然后保存,另一个文件同理。(注意不要把$前面空着的删掉)

3.合并转换

需要先安装ffmpeg,然后运行下面的命令

1
ffmpeg.exe -i video.m4s -i audio.m4s -codec copy Output.mp4

替换video.m4s和audio.m4s为自己的视频和音频文件即可

最后输出的output.mp4就是成品