问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

视频编码器性能对比测试:x264、x265、libaom、vvenc

创作时间:
作者:
@小白创作中心

视频编码器性能对比测试:x264、x265、libaom、vvenc

引用
CSDN
1.
https://blog.csdn.net/yanceyxin/article/details/146591698

本文将对目前主流的视频编码器进行性能对比测试,包括x264、x265、libaom(AV1)和vvenc(H.266)。测试在Apple M1 Pro平台上进行,使用了两个不同复杂度的视频序列,分别测试了编码器的压缩效率、编码速度和图像质量。测试结果表明,H.266在压缩效率上表现最佳,但编码速度相对较慢。

测试环境

  • 测试机器配置:Apple M1 Pro -16G
  • 编码器版本(选择自己编译):所有源码都是当前最新更新的状态,此外各类编码具体的编译过程可参考相关系列博客。
编码器
GitHub
x264
git clone https://code.videolan.org/videolan/x264.git
x265
git clone https://bitbucket.org/multicoreware/x265_git.git
libaom
git clone https://aomedia.googlesource.com/aom
vvenc
git clone https://github.com/fraunhoferhhi/vvenc.git

测试序列

序列
分辨率
格式
位深
帧数
复杂度
parkjoy
1920x1080
yuv420
8 bit
500
复杂
KristenAndSara
1280x720
yuv420
8 bit
600
简单

parkjoy 示意图:

KristenAndSara 示意图:

编码参数设置

统一设置 fps=25,其他保持默认,不区分 gop、帧类型等编码参数,libaom 也设置了额外参数,默认的需要 2pass 且太慢了。

编码器
命令行
x264
./x264 --input-res wxh input.yuv --fps 25 --bitrate x -o 264.h264
x265
./x265 --input input.yuv --input-res wxh --fps 25 --bitrate x -o 265.h265
libaom
./aomenc -w 1920 -h 1080 --fps=25/1 --target-bitrate=10000 --passes=1 --cpu-used=6 -o av1.ivf parkjoy1920x1080.yuv
vvenc
./vvencFFapp -i parkjoy1920x1080.yuv --Size 1920x1080 -fr 25 --NumPasses 1 --TargetBitrate 8000k --BitstreamFile out.h266

PSNR计算方法

由于ffmpeg解码h266文件时存在兼容性问题,无法正确解码,但ffplay播放正确。因此,对于vvenc的PSNR计算,直接使用了vvenc自带的计算方法。

./ffmpeg -s <宽x高> -pix_fmt <像素格式> -i <受损YUV文件>  -s <宽x高> -pix_fmt <像素格式> -i <原始YUV文件>  -lavfi psnr=stats_file=psnr.log -f null -

测试实验数据

parkjoy序列测试结果

视频序列
编码器
输入 bitrate
实际 bitrate
PSNR
time
parkjoy
x264
20000 kb/s
19381 kb/s
y:32.080550 u:34.560996 v:36.789507
41.46 fps
parkjoy
x265
15000 kb/s
14368 kb/s
y:32.000424 u:34.508438 v:36.658605
19.91 fps
parkjoy
libaom
10000 kb/s
11786 kb/s
y:32.142619 u:34.909916 v:37.123507
1.48fps(good模式太慢了,可以选择rt模式,但压缩率又不行)
parkjoy
vvenc
8000kb/s
8403 kb/s
y:32.0261 u:34.9815 v:37.7377
0.2 fps

KristenAndSara序列测试结果

视频序列
编码器
输入 bitrate
实际 bitrate
PSNR
time
KristenAndSara
x264
2000 kb/s
2007 kb/s
y:43.002695 u:47.506855 v:48.331598
103 fps
KristenAndSara
x265
1000 kb/s
1003 kb/s
y:42.910271 u:47.303976 v:48.195422
87 fps
KristenAndSara
libaom
400 kb/s
395 kb/s
y:42.900337 u:48.015101 v:48.909220
10 fps
KristenAndSara
vvenc
500kb/s
490 kb/s
y:42.9935 u:48.1547 v:49.1280
1.2 fps

libaom中的rt模式和good模式对比

视频
模式
码率
PSNR
time
KristenAndSara
good
395 kb/s
y:42.900337 u:48.015101 v:48.909220
10 fps
KristenAndSara
rt
1448 kb/s
y:42.970161 u:46.734927 v:47.505803
90 fps

结论

标准
压缩率(1080p)
压缩率(720p)
H264
1×(基准)
1×(基准)
H265
25.86%提升
50% 提升
AV1
39.18%提升
80% 提升
H266
56.64%提升
75.58% 提升
  • H265相较于H264,BD-rate平均可以提升25.86%~50%;
  • AV1相较于H264,BD-rate平均可以提升39.18%~80%;
  • H266相较于H264,BD-rate平均可以提升56.64%~75.58%;
  • 可以发现,在低分辨率简单场景视频下,AV1的RD能力还比H266略微强点;
  • libaom中的rt模式下编码速度会更好,但RD能力不如good模式;
  • 所得到的结论是粗略的,没有完全对齐所有编码参数,仅作参考。

注意: 由于测试环境为Apple M1 Pro,测试结果可能受到特定硬件平台的影响,因此在其他平台上可能会有所不同。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号