nvenc vs x264 对比(2)

本文对比分析了Nvidia NVENC硬件编码器与X264软件编码器在编码速度、画质和压缩比上的差异。结果显示,NVENC在编码速度上远超X264,但在低码率下的画质表现略逊一筹。高码率下,两者画质差距缩小,NVENC甚至在某些场景下超越X264。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目标

分析Nvidia nvenc与x264的性能、编码质量差异。主要通过fps来衡量编码速度和效率,PSNR、SSIM、VMAF来衡量编码的画质,通过绘制PSNR-Bitrate、SSIM-Bitrate和VMAF-Bitrate来衡量编码器的压缩比。

并通过以上的实验分析研究给出推荐的nvenc硬件编码参数方案。

 

数据准备

为了包含普遍性选取以下YUV序列进行测试:

序号

名称

特点

来源

1

HoneyBee_1920x1080_120fps_420_8bit_YUV

静态风景

Ultra Video Group

2

Beauty_1920x1080_120fps_420_8bit_YUV

人物人脸

Ultra Video Group

3

ReadySteadyGo_1920x1080_120fps_420_8bit_YUV

动静结合

Ultra Video Group

4

Jockey_1920x1080_120fps_420_8bit_YUV

动态场景

Ultra Video Group

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

软件平台为 FFmpeg 4.0、cuda-9.0、x264 core 152 r2854 e9a5903

硬件平台 Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz

         GeForce GTX 1070

 

数据结果

 

序列

编码器

crf/cq

码率

FPS

SSIM

PSNR

VMAF

HoneyBee_1920x1080_120fps_420_8bit_YUV
(静态风景)

x264

23

1 142 kb/s

Avg 11fps

0.966367

42.673071

93.229984

22

1 538 kb/s

0.966969

42.807444

93.604552

21

2 112 kb/s

0.967301

42.898571

93.872343

20

2 971 kb/s

0.967376

42.951301

94.088281

19

4 390 kb/s

0.967502

43.000987

94.305109

18

6 659 kb/s

0.96817

43.107878

94.498364

h264_nvenc

29

1 558 kb/s

Avg 300fps

0.965211

42.414146

92.309237

28

1 916 kb/s

0.966475

42.662536

92.888773

27

2 420 kb/s

0.967389

42.83722

93.355142

26

3 394 kb/s

0.968352

43.034606

93.836945

25

5 009 kb/s

0.969049

43.169559

94.212584

24

6 467 kb/s

0.969516

43.258397

94.48651

23

7 655 kb/s

0.970118

43.370822

94.678167

Beauty_1920x1080_120fps_420_8bit_YUV
(人物人脸)

x264

23

4 646 kb/s

Avg 7.8fps

0.907387

39.506563

86.955729

22

7 969 kb/s

0.911566

39.730311

88.441581

21

13.9 Mb/s

0.917782

40.024225

89.955126

20

22.2 Mb/s

0.926521

40.469882

91.353492

19

33.0 Mb/s

0.937083

41.094158

92.663296

18

44.9 Mb/s

0.946832

41.77845

93.786576

h264_nvenc

29

4 416 kb/s

Avg 285fps

0.906965

39.52038

85.61732

28

5 045 kb/s

0.908194

39.593546

86.135306

27

6 114 kb/s

0.909663

39.685933

87.001687

26

7 074 kb/s

0.910912

39.758997

87.514632

25

8 307 kb/s

0.91283

39.875242

88.109289

24

9 635 kb/s

0.91463

39.975455

88.527011

23

11.5 Mb/s

0.917268

40.123596

89.212238

22

13.5 Mb/s

0.92005

40.283055

90.013753

20

18.3 Mb/s

0.925588

40.589961

90.985245

19

21.6 Mb/s

0.928698

40.776674

91.452868

18

24.6 Mb/s

0.931846

40.971574

91.93481

17

28.9 Mb/s

0.936008

41.231439

92.555518

16

32.9 Mb/s

0.940297

41.514844

93.234179

15

38.3 Mb/s

0.943979

41.790617

93.686612

14

41.9 Mb/s

0.946649

41.99993

94.032839

 

序列

编码器

crf/cq

码率

FPS

SSIM

PSNR

VMAF

ReadySteadyGo_1920x1080_120fps_420_8bit_YUV
(动静结合)

x264

23

5 250 kb/s

Avg 11fps

0.973024

41.35144

99.847043

22

5 935 kb/s

0.975221

41.86688

99.887195

21

6 758 kb/s

0.97722

42.376556

99.907291

20

7 747 kb/s

0.978987

42.868935

99.924166

19

8 930 kb/s

0.980579

43.346492

99.934924

18

10.5 Mb/s

0.981981

43.809721

99.944512

h264_nvenc

28

5 510 kb/s

Avg 365fps

0.968046

40.914532

99.755936

27

6 267 kb/s

0.970652

41.427228

99.838525

26

7 099 kb/s

0.973114

41.938614

99.875673

25

7 946 kb/s

0.975542

42.461083

99.900183

24

8 928 kb/s

0.977298

42.905

99.91347

23

10.2 Mb/s

0.979208

43.427446

99.931529

22

11.4 Mb/s

0.980875

43.892208

99.941689

21

12.9 Mb/s

0.982204

44.327115

99.951173

20

14.6 Mb/s

0.983424

44.737646

99.958296

19

16.5 Mb/s

0.984578

45.165276

99.964782

18

18.8 Mb/s

0.985555

45.531964

99.969128

16

24.8 Mb/s

0.987419

46.300306

99.979554

15

28.1 Mb/s

0.988196

46.655861

99.982537

14

32.4 Mb/s

0.989028

47.035096

99.985571

Jockey_1920x1080_120fps_420_8bit_YUV.yuv
(动态场景)

x264

23

3 326 kb/s

Avg 5.6fps

0.961379

42.598642

97.102017

22

3 939 kb/s

0.962699

42.865526

97.62748

21

4 794 kb/s

0.964007

43.124791

98.068354

20

6 114 kb/s

0.965091

43.356008

98.4783

19

8 411 kb/s

0.966279

43.589986

98.911127

18

11.6 Mb/s

0.968081

43.884075

99.267466

h264_nvenc

29

3 629 kb/s

Avg 289fps

0.963432

43.000248

97.036621

28

4 127 kb/s

0.964588

43.239886

97.39259

27

4 771 kb/s

0.96554

43.449789

97.75171

25

6 289 kb/s

0.967282

43.814619

98.295378

23

8 642 kb/s

0.968726

44.112918

98.763351

21

12.0 Mb/s

0.970304

44.430428

99.065527

 

结果总结

画质

crf 23的质量前提下,从PSNR、SSIM指标来看在不同场景的测试序列中,nvenc和x264的表现互有优劣,从VMAF指标来看普遍呈现低码率下nvenc的劣势,在平均5000k的码率下,VMAF越差距1分左右。在crf 18较高的质量要求下,差距明显缩小,在平均10M的码率下,较为静态和人物人脸的场景,nvenc VMAF值反超x264,运动场景中差距仅为0.1分左右,主观较难看出差别。

压缩比

在较低码率下,例如在5000k左右的平均码率,在预设参数下,要求同等VMAF值 nvenc较x264需要多消耗20%的码率。在较高码率下例如10M左右,VMAF极为接近甚至部分反超,因此在高码率下压缩比接近。

性能速度

X264普遍帧率在10fps以下,在运动场景中降低至5fps一下,难以满足快速编码和实时性要求。Nvidia nvenc由于硬件实现编码帧率稳定在300fps左右,性能约为x264软件编码的30倍。

硬件编码参数推荐

暂时不公开

参考资源链接:[NVIDIA解码器NVENCx264对比详析](https://wenku.youkuaiyun.com/doc/vaqomhtdxr?utm_source=wenku_answer2doc_content) 为了选择适合的NVENC预设以优化视频码中的质量和性能平衡,首先需要熟悉NVENC技术,并掌握各种预设设置的含义及其对码过程的影响。根据《NVIDIA解码器NVENCx264对比详析》的深入分析,文档提供了对不同预设及其适用场景的详尽解释,这对于理解如何调整码策略至关重要。 NVENC预设的范围通常包括“P1”到“P10”,其中“P1”提供最快的速度和最差的质量,而“P10”提供最慢的速度和最佳的质量。在进行视频码测试时,可以根据以下步骤选择合适的NVENC预设: 1. 确定应用场景:对于实时应用,如直播或视频会议,应当优先考虑码速度和低延迟,可能选择“P5”到“P6”之间的预设;对于非实时应用,如视频存储或流媒体,可以考虑使用“P8”到“P10”的预设以提高视频质量。 2. 测试并比较:在确定了可能的预设范围后,进行实际码测试,记录不同预设下的码速度和质量指标,如峰值信噪比(PSNR)和结构相似性(SSIM)。 3. 评估系统资源:测试不同预设对CPU和GPU负载的影响,确保件资源得到合理利用且不会造成瓶颈。 4. 比较比特率与质量:分析不同预设下的比特率和质量关系,找到最佳的平衡点,这可能需要在保持可接受的视频质量的同时,尽量降低比特率。 5. 考虑延迟敏感性:对于延迟敏感的码场景,选择较低的预设(如P1或P2)来减少码延迟,而对质量要求较高时,可以适当选择较高的预设(如P8或P9)。 综上所述,选择合适的NVENC预设是一个需要综合考虑码效率、视频质量和应用需求的过程。通过对NVIDIA的件平台进行基准测试,并依据《NVIDIA解码器NVENCx264对比详析》中的详尽分析,可以更好地选择适合的码策略,以达到最优的码结果。 参考资源链接:[NVIDIA解码器NVENCx264对比详析](https://wenku.youkuaiyun.com/doc/vaqomhtdxr?utm_source=wenku_answer2doc_content)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值