我有大概20个T的视频,需要转码成m3u8,用libx264 preset veryslow crf 23,慢的很,但是文件小,质量高,如果20T都用这种方式转,恐怕要转到明年。
还有一种是用 h264_nvenc,也就是用显卡转,非常快,但是画质很差,配合cq参数,要想达到crf 23的画质级别,文件比原文件还大,除了快一无是处。。。
后来不断的找资料,看到知乎答主写的一篇文章:GPU 转码效果为什么不如纯 CPU? - 琴梨梨OvO的回答 - 知乎https://www.zhihu.com/questio...
里面提到一种two pass编码,第一遍用显卡生成编码信息,第二遍用处理器处理流数据,即快又清晰,文件也小,把原理都讲出来了。
然后我试着加了-pass 1 和 -passlogfile 参数,第一遍用h264_nvenc编码,没生成日志文件,有一个log文件还是空的,再用libx264 加上-pass 2 和 -passlogfile 参数,提示是报错打不开文件,肯定了,毕竟没生成日志文件。
然后我调换了一下顺序,第一遍用libx264,第二遍用h264_nvenc,速度也没见提升啊,而且效果该差还是差。
给知乎的答主发了私信,但是一直没回。。。
我到底该怎么弄这个2pass,求指教