nvenc vs x264 对比(1)

最近这段工作频繁的接触编码器技术,产品的编码质量、码率和速度是最为关心指标。x264是非常优秀的软件编码器,但是其编码速度适应不了产品对实时编码的要求,nvenc是英伟达在其GPU中内嵌的视频编码器,编码的速度在GTX1070ti上实际测试可以达到4K@60fps的要求。但是在实验过程和网上找资料过程都反应nvenc编码出来的质量较差,但是市面上都没有找到明显的衡量差距的具体数据,因此在工作过程中做了如下的研究:

1. 准备

目标:采用psnr、ssim、vmaf三个指标衡量压制出来的视频质量,绘制码率bitrate-质量曲线

视频测试序列:挑选静态、人物、混合、动态4个场景进行测试

                         具体序列为 HoneyBee_1920x1080_120fps_420_8bit_YUV

                                            Beauty_1920x1080_120fps_420_8bit_YUV.yuv

                                            ReadySteadyGo_1920x1080_120fps_420_8bit_YUV.yuv

                                            Jockey_1920x1080_120fps_420_8bit_YUV.yuv

                         下载地址:http://ultravideo.cs.tut.fi/#testsequences

实验方法:设置x264参数为-preset veryslow -x264-params crf=23:ref=4 通过改变crf值,来调整质量和码率

                  设置nvenc参数暂不公开

 

2. 数据结果

nvenc vs x264 对比(1)_第1张图片

nvenc vs x264 对比(1)_第2张图片

nvenc vs x264 对比(1)_第3张图片

nvenc vs x264 对比(1)_第4张图片

nvenc vs x264 对比(1)_第5张图片

nvenc vs x264 对比(1)_第6张图片

nvenc vs x264 对比(1)_第7张图片

nvenc vs x264 对比(1)_第8张图片

nvenc vs x264 对比(1)_第9张图片

3. 结论分析

从实验结果来看nvenc没有网友反映的那么不堪使用,从psnr、ssim传统的对比指标来看互有优劣,但是在压制码率较低时(小于8M)从主观和vmaf指标来看在静态场景和人脸场景中,相同码率的质量和x264肉眼可以看出一定区别,要做到相同的质量,nvenc在实验数据中要多耗费20-30%左右的码率,在超过10M时差距明显缩小。

总之采用nvenc部分场景下做好码率多压20%的准备,但是速度在1080p下可以达到300fps以上,x264在i7上也只有可怜的10fps。

 

你可能感兴趣的:(音视频)