总之,avs脚本是必须写好并让MeGUI加载的,加载之后会有视频预览,当然这一步我就出错了,囧~没有正确的出现预览!
没有出现预览证明有问题,在调整各种参数,各种修改avs文件后都不能正确让预览出现,于是我放弃了MeGUI,改为直接用avs4x265。当然不能正确打开的原因就是我没有正确的安装包,所以在解码的时候出现了问题,这个后面一起说。
MeGUI实际上也是用avs4x265压制的,在类似MeGUI_2525_x86\tools\x265,这样的路径下有一个avs4x265.exe。不使用MeGUI,直接用命令行就能压制。
直接先给一个命令格式吧,我也写成了bat:
avs4x265.exe --x265-binary x265.exe test.avs --preset fast --output test.hevc
--x265-binary x265.exe 这是指定使用的x265程序的名称,test.avs是指定的avs文件名,后面的部分都是x265的参数,不是avs4x265的参数,需要了解这些参数的话需要在 x265 --help下面看。
当然,我敲完命令行之后也毫无疑问的报错了,就是因为我没有安装……
现在的视频播放软件,potplayer,kmplayer,MPC以及国内的各种播放器都是自带解码插件的,与系统无关。但是我们压制的时候使用的是windows的系统,windows media player使用的就是这个,我们这里要用到的H264的win7也是有的,但是这些微软提供的究竟是不好用,所以会出现我之前遇到的那些问题,于是我们需要自己下载解码包。
解码包我下载的是shark007 codecs,官网:。还有另外一个著名的解码包就是:K-Lite Codec Pack。下载哪个都行。使用shark007的话:
点击下方的Shark007 SUGGESTED settings就好了(可能需要管理员权限),别的看自己情况改吧~
还有最后一样东西,就是avs脚本。当然我写抄的很简单:
DirectShowSource("D:\test\test.m2ts",23.976,audio=false,convertFPS=True)
ConvertToYV12()
要注意的就是audio=false,因为源文件是带音频的,但是x265只能处理视频,我尝试不加这句发现会出问题。同样,如果不加ConvertToYV12()的话,解码出的格式似乎x265不认,也会报错。
总之,有了这些,我们就可以开始咯!鼓掌~
在cmd下重敲一遍avs4x265的命令,接下来就是漫长的等待压制完成的过程,我的CPU100%满负荷运转、风扇呼啸2个小时后才能看到结果。在压制的时间里再讲讲avs4x265吧。
x265是只接受YUV等格式的,我们的m2ts源是h264的,不能直接压制,所以avs4x265的主要工作就是调用avs脚本,把参数传给系统的,然后把解码出的数据喂给x265,让x265编码。不然的话我的硬盘可承受不住YUV的吨位。
压制完的结果,是令人失望的都是我的锅?!压出来的hevc文件拖到我的potplayer里面是能播放的,但奇怪的是读不出视频的时长,也没办法拖动进度条,而且直接把我的CPU跑满了,不按照24帧的速率播放,而是能播多快播多快……看视频的信息原始帧率也没有问题……
我压了两回,都是一样的结果。我考虑有几种可能:第一是可能比较旧。因为我用的是几天前最新的编码器,1.7版本的,现在h265相关的东西还在不断完善,可能新版本加入可些新东西,所以旧版的会出问题。第二是编码器太新,并不是很稳定的版本,所以压出来的还有些问题。第三种可能是压出来的是纯视频流,所以播放等同于解码,并不会按照正常帧率播。这些问题又要留到后面解决了。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/bofangqi/article-32113-2.html
你的阿里巴巴就是死的那一天
而不是处处以一等人居之
给点颜色