刚买了个Intel Arc B580显卡,测一下视频编码。

测试目的

测试该显卡硬件编解码质量,寻找最佳质量体积的编码配置。

测试方法

使用FFmpeg,硬件编解码,设置不同的质量参数,对比画面质量、转码速度、生成的文件大小。
源文件,H264 1920 x 1080,转码仅修改文件编码。
命令如下:

ffmpeg -hwaccel qsv -hwaccel_output_format qsv -i E:\compare\clip.mp4 -c:v h264_qsv -global_quality 20 E:\compare\h264-20.mp4
ffmpeg -hwaccel qsv -hwaccel_output_format qsv -i E:\compare\clip.mp4 -c:v hevc_qsv -global_quality 20 E:\compare\h265-20.mp4
ffmpeg -hwaccel qsv -hwaccel_output_format qsv -i E:\compare\clip.mp4 -c:v av1_qsv -global_quality 20 E:\compare\av1-20.mp4
ffmpeg -i E:\compare\clip.mp4 -c:v libx264 -crf 28 E:\compare\libx264-28.mp4
ffmpeg -i E:\compare\clip.mp4 -c:v libx265 -crf 28 E:\compare\libx265-28.mp4

注意:

  • 使用 qsv 硬件编码器时 -cq-crf 不起作用,要用 -global_quality
  • 使用 lib264, lib265 软件编码器时 -global_quality 不起作用,要用 -crf

测试结果

lib 开头是 CPU 编码。其他是 Intel QSV 硬件解编码。

编码器质量参数PSNRSSIMVMAF文件大小(KB)比例
av12045.6860160.99047897.22837999398200%
av12244.8040710.98879696.71355186658174%
av12443.5185180.98592595.65857369211139%
av12642.302830.98245694.20373554719110%
av12841.2629230.9788892.4992684477590%
av13040.1282250.97425190.0615423520971%
av13238.7778170.96703986.3581282746555%
av13437.4718290.9582581.8926932134943%
av13636.2568670.94810176.757611690534%
av13834.9594430.93475969.9969771310926%
h2642046.1119380.99130597.508333117060236%
h2642244.7853830.98892596.68416494170190%
h2642443.2603490.9852495.36185375493152%
h2642641.8597750.98074393.68544761177123%
h2642840.4446580.97493391.30222549751100%
h2643039.162360.96829288.4455764104583%
h2643237.778220.95911483.9028593286066%
h2643436.5584080.94928978.8783812686854%
h2643635.4243950.93839473.4422892209944%
h2643834.2724850.92533766.8349221812436%
h2652045.8914980.99052897.613193100709203%
h2652244.5293920.98803296.79004778945159%
h2652443.2148970.98495895.61730461636124%
h2652641.8611430.9808293.9291914808297%
h2652840.4854910.97538291.5215963747075%
h2653039.1621830.96869988.4124112934759%
h2653237.8625670.96025384.4349982321547%
h2653436.6241110.95047679.5425441847437%
h2653635.4169940.93905573.5482241478530%
h2653834.3123470.92684667.1028451192224%
lib2642841.1156110.98238792.6114294712495%
lib2652841.0588990.97986492.3258123973780%
源文件 49690100%

filesize-encoder-quality-relation.png

换个方式对比,同码率,比质量。

CodecBitratePSNR-ValueSSIM-ValueVMAF-Value
av1-0.5M0.5M34.772550.95243753.434572
h264-0.5M0.5M31.4657260.93127933.277051
h265-0.5M0.5M35.9122680.95242661.24846
av1-1M1M36.3694620.96729565.00638
h264-1M1M32.782760.94975145.199336
h265-1M1M38.777840.96991976.517376
av1-2M2M37.4215010.97713672.639164
h264-2M2M33.4217150.96248653.946891
h265-2M2M41.513040.98201886.542213
av1-4M4M38.0053820.9829176.992674
h264-4M4M33.6557050.96936558.592387
h265-4M4M43.6511590.98873491.843229

染个色。
same-biterate-quanlity-compare.png

莫斯科国立大学的测试也是相同的结论。
chart.png
该图展示了相同画面质量,不同编码器生成文件的码率。数据条越短,生成文件的码率越小。
第一名:腾讯的沧海芯片。
第二名:抖音母公司字节跳动的火山引擎。
第三名:快手子公司北京凌川的硬件视频智能处理器。
第四名:济南镕铭微电子。

需求真的是第一生产力啊。

结论

就我的三个硬件1650S, B580, 5700X, 结论如下:
1、转码速度,B580最快 1080P:666fps,720P:1100fps。作为对比,1650S 在对应的分辨率只有其一半的速度。5700X cpu 转换为 x264,x265,av1 的速度分别是 120fps, 50fps, 3fps。
2、软件编码,也就是 CPU 编码,在“体积/质量比”方面,是最好的。
3、硬件编码,在“体积/质量比”方面,265 > AV1 > 264。
4、B580 的优势在于可以编码AV1。

参考链接

莫斯科国立大学世界编码器大赛2023年度硬件编码器单元

文章目录