视频编码器nvenc/x264横向对比

测试视频

Stream #0:0(eng): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv), 1920×1080 [SAR 1:1 DAR 16:9], 16018 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 59.94 tbc (default)

测试环境

  • FFmpeg-2.6.7(with build-in x264 and nvenc)
  • Intel-i7-4790K@4.4GHZ
  • Nvidia-GTX-960@358.16

测试命令

FFmpeg的wiki上面说nvenc是支持crf的然而我实测不支持,2pass也是不支持的。公平起见x264也使用默认参数对比。

time ffmpeg -i in.mp4 -an -c nvenc -preset hq out.nvenc.mp4
time ffmpeg -i in.mp4 -an -c libx264 -preset veryslow out.x264.mp4

测试结果

编码器 比特率 时间秒
nvenc 9064k 9.836
x264 5484k 222.908

质量对比

使用FFmpeg截取三段视频的同一帧放大对比观察。x264细节丢失最多,我猜测可能是码率较低的原因。

再次测试

将nvenc编码器恒定码率与同码率输出的x264进行对比。

time ffmpeg -i ‘/home/yiwan/Videos/in.mp4’ -an -codec nvenc -preset hq -b 5500k out.nvenc.cbr.mp4

最终输出视频信息如下。

Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv), 1920×1080 [SAR 1:1 DAR 16:9], 5517 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 59.94 tbc (default)

截取单帧图像放大对比,细节丢失非常严重。

发表评论

电子邮件地址不会被公开。 必填项已用*标注