gustavo garcia在同一测试环境下,测试得出不同编码器的cpu使用结果。
在webrtc中,公认为优秀的和最受欢迎的编解码器是vp8和h.264,但这两个编解码器并不是我们唯一的选择。vp9已经可用了一段时间,并且一些大型的也服务正在使用它,例如最近chrome就增加了对于av1支持。
在比较编解码器时,需要考虑一些有趣的因素,例如互操作性和许可,但最重要的因素可能是编解码器在压缩方面的性能如何,以及编解码器在cpu和内存使用方面的便宜程度。
压缩率通常是我们首先要考虑的事情,并且存在着许多可用于此的比较,但是如果我们希望能够将编解码器用于实时用例,则资源消耗同样重要。
鉴于av1在chrome canary版本中可用,我决定运行一些测试来评估webrtc生态系统中4种可用编解码器的cpu使用情况。该测试的目的是将整个视频管道与这4个编解码器进行比较,而不仅仅是单独比较编解码器。
测试环境
这些测试是通过一个简单的网页完成的,该网页在2个peerconnections之间建立了连接(一个发送和另一个接收)。如果您想自己运行测试,请参见测试页面:
https://jsfiddle.net/tvo7czxs/
使用该页面进行的测试改变了3个变量:
编解码器:vp8、vp9、h264、av1
分辨率:高清、vga、qvga
比特率:200kbps、800kbps、2mbps
如果您查看测试页面,很容易就可以更改这3个参数,以便在其他配置或其他设备中运行测试。
使用的chrome版本是本周从git同步的最新版本(1/2/21),测试在macbook pro(2.4 ghz 8核 intel core i9)中进行。
为了检查cpu的使用率,我在等待30秒后,就在系统活动监视器中查看了chrome进程平均消耗的cpu,以便为webrtc内带宽估计和分辨率/帧速率自适应的稳定提供时间。当下面的结果是100%时,表示该机器有1个完整核。
没什么花哨的,但希望这可以足够容易使大家理解。
在那种环境中,我运行了几次36个参数组合,将结果取平均值,并在以下各节中进行了总结:
qvga测试结果
对于qvga分辨率这一方面来说,结果是符合预期的,其中vp9比vp8需要更多的cpu,而av1则需要的cpu几乎是vp8的2倍。h.264是一种需要较少的cpu使用量,因为它为此使用了硬件加速。
% of cpu usage with different codecs
qvga200kbps800kbps2mbps
vp8182228
vp9202833
h.264101415
av1364650
vga测试结果
对于vga,结果并没有很大差异,但是在低比特率时,只有vp9才能保持分辨率,而当将比特率限制提高到2 mbps时,av1使用了1个以上的内核。h.264在200kbps时的质量真的很差,而且帧速率很低,阻塞也很明显,由于在这种情况下,chrome浏览器的适应性显然不能非常好的工作。
hd(1280x720)测试结果
hd的结果与vga的结果相似,但av1无法对原始分辨率进行编码,在所有比特率的测试中缩小了分辨率。h.264在低比特率下的表现也很不尽人意,并且vp8和vp9成本之间的差异比vga高得多。
(另外,高清分辨率的av1经常会因为mac相关代码的内存问题而崩溃,但也许这个bug在你读这篇文章的时候已经修复了)
编码 vs 解码成本
我又进行了一次测试,以在编码(发送方)和解码(接收方)之间划分成本。该测试是针对vga以800 kbps进行的,而测试结果正是下一个正在考虑的四个编解码器的结果。
结果差别不大,但与编码相比,vp9和av1x的解码相对便宜。
仅将解码成本与不同的编解码器进行比较,看起来av1的价格要比其他解码器贵2倍左右。vp9的价格比vp8的价格稍高,而vp8的价格比h.264的价格略高,但三者之间没有太大差异。
总结
有了新的编解码器是令人惊喜的,毫无疑问,av1是实时视频通信的未来,但它看起来我们应该耐心等待一些时间,以便日后能够将其用于通用视频会议应用程序之中。与此同时,我们可能还会将它用于特定使用情况,如广播,专用的功能强大的设备,或在使用联播时对视频流的低分辨率版本进行编码。
对于其他用例,vp8和vp9看起来仍然是最好的选择,除非您不太担心低比特率的情况,或者您正在使用高分辨率,并且电池/cpu消耗是一个大问题,不过您可以考虑h.264。
另外,很明显,新的libaom补丁即将面世,可以将性能提高15%,因此在chrome的未来版本和不同的设备上重复这些测试是很好的(av1可能会对arm cpus进行更优化)。
什么是TCXO晶振?它为什么能提供高精度的时钟信号?
OPPO Reno3正式发售 售价3399元起
什么是IGBT?国内IGBT企业崛起
基于AT89C51的智能稳压电源设计
防水连接器有哪些性能指标优势呢?
GUSTAVO与GARCIA在同一测试环境下,测试得出不同编码器的CPU使用结果
如何选择一款合适的PCB设计软件
华为Mate9、华为荣耀Magic:华为两台巅峰手机对决过年选谁更好?
哈苏X1D-50c及H6D发布最新固件升级
汽车车灯种类
中国半导体照明综合标准、技术及市场观察
AI侵入房地产行业、三星面部解锁技术仍太烂、跃盟科技获A+轮融资
为什么矿商的情绪会对比特币市场的形成产生影响
ADAS系统标准化,V2V通信技术能否普及?
OPPOHA-2&PM-3高清图赏
基于OpenHarmony的智能金属探测器
AR和VR将对互联网产生巨大的影响
林先湛:3.1黄金走势分析操作建议 | 油价上升原油温和看涨
都在说晶圆产能供需非常紧俏,那么到底有多夸张呢
芯锂离子及锂聚电池保护IC概述