视频编码器性能对比测试: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,测试结果可能受到特定硬件平台的影响,因此在其他平台上可能会有所不同。
热门推荐
连锁经营五大核心要素:标准化运营、品牌价值、规模经济、市场定位和管理创新
《网络安全法》个人隐私的相关法律规定是什么
如何才能成为一名成功的大学生创业者?
银行员工沟通技巧培训:打造卓越沟通团队
“违法停车,发生交通事故是否需要承担责任?” 法院判了!
用ITX机箱组装家用HTPC:硬件选择与配置指南
广东省中医院推荐:5个中医助眠秘招告别失眠
高考数学数列解题技巧大揭秘!
獬豸在传统冠服与建筑中的影响及应用
i7 6700:性能狂潮!功耗环保!散热高效!全面解析
十本让读者翘首以盼的经典小说,《斩邪》《历史的尘埃》等上榜!
中宠股份的一小步,宠物行业AI智能化的一大步
晶格参数:下一代半导体性能的关键
中国农业银行“传世之宝”金条:保值新宠?
迟到的决战!山东泰山:公然的“挑衅”分析,崔康熙势必绝地反击
DeepSeek MoE:混合专家架构的创新与突破
《新一代人工智能伦理规范》如何影响你的生活?
美女网红cosplay奥特曼走红:当火辣遇上正义
Switch超频攻略:释放Tegra X1潜能
《王者荣耀》单排18连胜秘籍大公开!
痰中带血块怎么回事
心理学:“爱炫耀”的人,十有八九是这几种心态
小红书KOL合作新玩法:共创营销爆点
与人相处最舒服的关系,不追问,不越界,不强求
一文搞懂SQL优化——如何高效添加数据
“龙凤”股热潮背后的理财风险与机遇
8 组高质量元宵节 Midjourney 提示词!Prompt 灵感!
金牛座与天蝎座的恋爱兼容性分析
元旦打卡:清远必去的7大网红景点
地道英语感谢表达全攻略:从正式到口语化,总有一款适合你!