严格意义上,俺也不是想写教程,阿B上已经有很多类似的教程了,我也会贴一个我今天搜到的大佬写的脚本。这篇文章算是吐槽(想看教程的可以直接跳第二部分)
免责声明:俺是个实践派萌新,方法突出个能用就行= = 原理部分都是我乱想的,懂原理的大佬轻喷。
本教程需要第三方软件的支持。如果想处理得更快请参考方法Ⅰ,如果想处理得更简单,一步到位,请参考方法Ⅱ,如果想试试我封装的程序,请参考方法Ⅲ
一.发现
今天在阿B上找素材,iiilab上下的素材质量比较感人......不够清晰,而且音频放到剪辑软件里会有音爆的现象(vegas)。想着找个其他方法下载视频,就按照百度AI教的,下了个B站PC端客户端。
结果视频下好了,清晰度也满意了,发现输出文件格式是.m4s,

图1
查了下,是阿B的视频格式。本来想着,既然我知道这玩意是视频,那我就用格式工厂直接转化它呗,发现不行,加密了。解密应该不是我能做到的,所以我也就把缓存删了。
结果我翻到了一个教程,PC端UWP版B站更新后下载的视频无法播放的解决办法/ UWP版哔哩哔哩更新后下载的视频无法播放的解决办法 教程告诉我

图2
把前三个字节的FF FF FF删掉,把.m4s的后缀名改成.mp4就能用了?之前有做过二进制文件读写的工作,这我熟啊,但是这加密格式不会这么蠢吧,前3个字节的headfile变成FF FF FF就算加密了?我电脑里正好还留有之前工作用过的二进制编辑器,所以抱着这个疑问,我又缓存了视频。
结果大出所料
二进制编辑器查看文件后,发现文件的和教程不太一样

图3
前8个字节 9个字节是ASCII的“0”字符,不是教程里的FF FF FF。但是按照我之前的经验,后4个字节的 00 00 00 24(绿框)像是headfile(类似于文件的分类。让计算机可以区分.txt、.doc、.mp4,采用不同的方法处理数据)而且这重复的8个字节的“0”有点反常,会不会把这8个字节删去,就可以按照上面教程一样改成.mp4,视频就能用了?所谓的“加密算法”不会真的这么蠢吧。
然后我做了测试,删掉图3中红色框框的8个字节 9个字节的30,保存;将.m4s的后缀名改成.mp4,然后......
就TM能用了?????????????
那两个.m4s文件就简单了呀,一个视频,一个音频。随后我也将小一点的.m4s文件按照同样的方法处理,改成.mp3,果然和我猜想一样,是音频(视频可以直接用vegas剪辑,但是音频不行,缺少了比特率和采样率等信息,需要格式转换软件处理,但是可以直接用播放器播放),而且后缀改成.aac、.mp4都是可以播放的。
我百度了下,知道了.m4s是加密文件,意思是所谓的加密,就是在文件头写了8个字节 9个字节的“0”我没学过加密啊...不要骗我????????
这意思是除掉文件头尾,中间是视频的RAW数据= =?而且按照我的理解,改后缀名不会修改二进制文件本身的数据,所以删去开头8个字节 9个字节的“0”后,headfile就是00 00 00 24,这个00 00 00 24.mp4能读,.mp3也能读?为什么会这样呢,音频方面的编码不太懂,所以以上也只是我的推测。
但是既然实践出来能用,那就是可复刻的方法,下素材就方便多了。
二.方法
方法Ⅰ:①.使用B站PC端缓存高清视频,我缓存的是1080p的,找到本地缓存的位置,找到两个.m4s文件。大一点的.m4s文件是视频,小一点的.m4s文件是音频。比如这是我电脑里的目录,只需要这两个.m4s。

②将这两个文件复制到别的地方(防止误操作),使用二进制编辑器打开。
这里我用的是HxD Hex Editor x64 v2.3.0.0(无需安装,只有exe,6M大小)

打开的界面

将.m4s文件拖进去

左键选中下图中的8个字节 9个字节,右键删除,弹出的弹框选确定,然后保存文件

此时会多个.bak文件,不用管,这个900+m的文件就是我刚刚修改的文件。将其后缀改成.mp4


此时已经可以播放了,另一个.m4s文件采用同样的修改操作,后缀改成.mp3,也可以播放了(.bak已经被我删掉了,理论上有俩.bak)。一般来说,大一点的.m4s是视频,小一点的.m4s是音频

但是,此时的.mp4可以播放,清晰度我是看不出和B站上的1080P有没有区别的,对我来说,是够高清了,但是没有声音;.mp3可以播放,没有采样率和比特率等音频信息(可能这就是vegas不认的原因吧...无法剪辑)没有画面。当然如果只是观看,一些播放器应该也有临时混流的功能,凑合着也能用了。因为我要用素材......这个视频我能直接剪辑,但是音频不行,还得重采样处理。

既然都需要多一步处理音频,我选择一步到位,使用视频处理软件来将视频和音频进行混流合并。
②.我使用的是格式工厂,左边“视频”那一栏有一个“视频合并+混流”,相应的添加视频和音频,然后合并就好。合并完成的视频有声音有画面,可以像正常的视频一样观看了。

方法Ⅱ:参考大佬的教程,采用脚本处理,简单便捷,一步到位。【最终方案】b站视频解码,m4s转MP4解决办法
><别打我,大佬的脚本真的很好用,非常简单,所以宣传下()
2024.12.25更新 封装了一个开袋即食的.exe

方法Ⅲ:
2025.1.14更新 更新了版本,转换器改名为琥珀转换器。
旧版本的v0和v0.1版本不再维护,我也删了资源,有想用的请移步新的专栏。
琥珀转换器v1.0一个用于将B站缓存的高清视频转换成MP4的小程序
ps:文章里的写错了= = 0~8是9个字节,我甚至程序里写的都是对的,写文章写错了......这应该是我最后一次改这个专栏了,以后就不能修改了。
最后,感谢您观看这篇没啥用的教程