写点什么

高级视频编码器性能对比(H265、VP9、AV1)

作者:轻口味
  • 2023-05-02
    山西
  • 本文字数:1592 字

    阅读完需:约 5 分钟

高级视频编码器性能对比(H265、VP9、AV1)

1、背景介绍

目前在视频编解码器中,H264 已经成为绝对的主流,被大部分设备、浏览器所支持。虽然有更先进的编码器推出,但是受限于推广速度和设备支持成本,一直未能成为主流。


今年公司目标是持续降本增效,现在将”屠刀“指向了视频业务的存储成本。视频文件存储主要两块指标:存储本身和 CDN 资源。对于历史比较旧的数据会用更低成本的存储方式备份存储。目前主要想优化存储本身的成本。对存储成本影响最大的是文件大小,而对文件大小影响最大的是视频码率,我们想要降低文件大小就要降低视频码率,但是我们想要降低码率又不太影响视频观看质量怎么办?使用更先进的编码器。

2、编解码器对比

2.1 H264(AVC)

H.264 在 1997 年 ITU 的视频编码专家组提出时被称为 H.264,在 ITU 与 ISO 合作研究后被称为 MPEG4 Part10 或 H.264。


虽然上述两个组织提出了 H264 编码规范,但是并没有具体实现。


2.2 H265(HEVC)

主要三个实现:


  • x265:业界最好的 h265(hevc)编解码库。 同样由大名鼎鼎的 VLC 播放器的维护组织法国 videolan 组织开源的 libx265 编解码库: https://www.videolan.org/developers/x265.html

  • openhevc:由 FFmpeg 维护的 H265(HEVC)的编解码库,Openhevc by OpenHEVC

  • kvazaar:FFmpeg 项目引用的另一款开源的 H265(HEVC)解码库,注意 kvazaar 解码库只提供 H265 解码,并不提供编码。 https://github.com/ultravideo/kvazaar

2.3 VP9

VP9 也是 google 开源的用与比拼 H265(HEVC)的编解码器,除了 IE9 以下版本的浏览器外,现代浏览器都支持 VP9 视频编码,软件实现:


  • libvpx:https://www.linuxfromscratch.org/blfs/view/svn/multimedia/libvpx.html

2.4 AV1

AV1 是 Google VP10、Mozilla Daala 以及 Cisco Thor 三款开源编码项目共同研发成果。AV1 打破了之前编码标准中传统的二维运动矢量模型的限制,第一次引入了仿射变换运动模型,不仅可以描述平移运动,同时可以更好的表述如旋转、缩放等更加复杂的运动,有效的提升了视频编码效率。


在实际测试中,AV1 比 H265(HEVC)压缩率提升约 27%,可以说是力压 H265。是目前为止,世界上压缩性能最好的视频编解码器。再借用游戏界的话术来讲,那 AV1 就是“次世代”编解码器。


软件实现包含主要是 FFmpeg 的两个内置库:


  • dav1d:由 FFmpeg 和法国 videolan 开源组织共同维护的 dav1d 编解码库:https://www.videolan.org/projects/dav1d.html。跟其他 videolan 维护项目不同的是,dav1d 编解码库不受专利版权限制。

  • librav1e:号称最快的 av1 解码器。实际上 dav1d 和 librav1e 编解码器性能差不多,差别不大。

  • https://github.com/xiph/rav1e

3、兼容性介绍

在 H264 后推出的视频编解码器主要有:H265、VP9、AV1。


编解码器的普及上,编码一遍问题不大,兜底策略可以在应用中接入软编码器,主要是在浏览器中播放的兼容性上。我们先看看Chrome浏览器对解码器的支持:


  • VP8

  • VP9

  • AV1 [Only Chrome OS, Linux, macOS, and Windows at present]

  • Theora [Except on Android variants]

  • H.264 [Google Chrome only]

  • H.265 [Google Chrome only and only where supported by the underlying OS]

  • MPEG-4 [Google Chrome OS only]


H265、AV1 不是所有所有场景都支持。


再看下Android平台对视频编码器的支持


4、性能衡量指标

我们录制设备在电视上,编码性能太差,所以方案是 H264 编码后,再服务端后台进行 AV1 或 H265 转码。


涉及到了转码所以性能上我们考虑几个指标:


  • 转码实时率:专门 1 秒视频用多长时间,消耗多少 CPU;

  • 编码效率:同样码率视频效果

5、总结

本文介绍了先进的视频编码器:H265、VP9、AV1 的对比及软件实现。介绍了浏览器等平台对高级视频编码器的兼容性效果,以及编码器选型所要考虑的性能指标。

发布于: 刚刚阅读数: 2
用户头像

轻口味

关注

🏆2021年InfoQ写作平台-签约作者 🏆 2017-10-17 加入

Android、音视频、AI相关领域从业者。 欢迎加我微信wodekouwei拉您进InfoQ音视频沟通群 邮箱:qingkouwei@gmail.com

评论

发布
暂无评论
高级视频编码器性能对比(H265、VP9、AV1)_音视频_轻口味_InfoQ写作社区