使用 libmfx 编码器编码 HEVC 视频
libmfx 是 intel 的硬件加速编码器库,在硬件编码器中效果出类拔萃,当面临对画质压缩比要求不太高的场景时可以尝试使用 libmfx 中的 hevc_qsv 编码器替代 libx265 或者 libvpx-vp9,后两者虽然画质压缩比上限高得多但是编码速度实在感人。
我们可以使用经典的 ffmpeg 工具调用 hevc_qsv 编码器,一个简单的示例命令如下。
ffmpeg -i input.mp4 -an -c:v hevc_qsv -load_plugin hevc_hw -b:v 0 -q:v 23 -look_ahead 1 outfile.mp4
实际使用下来发现了很多问题,比如必须显式载入硬件加速插件以及 preset 没有实际效果等等,看上去是 ffmpeg 的实现问题,期待以后能改进。
在 8 代酷睿核显上这样一条指令通常能以 4-8x 的速度处理 720p 的视频而保持 40 左右的 psnr 参数,输出文件体积与同质量参数的 libx265:preset=slow 输出相差在 10% 以内,配合ffmpeg 的内置滤镜完全可以完成一些要求不高的视频转存任务,值得期待以后的发展。