0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

GUSTAVO与GARCIA在同一测试环境下,测试得出不同编码器的CPU使用结果

LiveVideoStack 来源:CSDN技术社区 作者:LiveVideoStack 2021-03-19 10:06 次阅读

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

e8fb347c-8660-11eb-8b86-12bb97331649.png

VGA测试结果

对于VGA,结果并没有很大差异,但是在低比特率时,只有VP9才能保持分辨率,而当将比特率限制提高到2 Mbps时,AV1使用了1个以上的内核。H.264在200Kbps时的质量真的很差,而且帧速率很低,阻塞也很明显,由于在这种情况下,Chrome浏览器的适应性显然不能非常好的工作。

e9853faa-8660-11eb-8b86-12bb97331649.jpg

HD(1280x720)测试结果

HD的结果与VGA的结果相似,但AV1无法对原始分辨率进行编码,在所有比特率的测试中缩小了分辨率。H.264在低比特率下的表现也很不尽人意,并且VP8和VP9成本之间的差异比VGA高得多。

ea30525a-8660-11eb-8b86-12bb97331649.jpg

(另外,高清分辨率的AV1经常会因为Mac相关代码的内存问题而崩溃,但也许这个bug在你读这篇文章的时候已经修复了)

编码 VS 解码成本

我又进行了一次测试,以在编码(发送方)和解码(接收方)之间划分成本。该测试是针对VGA以800 Kbps进行的,而测试结果正是下一个正在考虑的四个编解码器的结果。

ead34708-8660-11eb-8b86-12bb97331649.png

结果差别不大,但与编码相比,VP9和AV1X的解码相对便宜。

仅将解码成本与不同的编解码器进行比较,看起来AV1的价格要比其他解码器贵2倍左右。VP9的价格比VP8的价格稍高,而VP8的价格比H.264的价格略高,但三者之间没有太大差异。

总结

有了新的编解码器是令人惊喜的,毫无疑问,AV1是实时视频通信的未来,但它看起来我们应该耐心等待一些时间,以便日后能够将其用于通用视频会议应用程序之中。与此同时,我们可能还会将它用于特定使用情况,如广播,专用的功能强大的设备,或在使用联播时对视频流的低分辨率版本进行编码。

对于其他用例,VP8和VP9看起来仍然是最好的选择,除非您不太担心低比特率的情况,或者您正在使用高分辨率,并且电池/cpu消耗是一个大问题,不过您可以考虑H.264。

另外,很明显,新的libaom补丁即将面世,可以将性能提高15%,因此在Chrome的未来版本和不同的设备上重复这些测试是很好的(AV1可能会对ARM CPUs进行更优化)。
编辑:lyn

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 测试
    +关注

    关注

    8

    文章

    5155

    浏览量

    126447
  • 编码器
    +关注

    关注

    45

    文章

    3585

    浏览量

    134121
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10824

    浏览量

    211106

原文标题:WebRTC视频编解码器性能评估

文章出处:【微信号:livevideostack,微信公众号:LiveVideoStack】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    增量编码器与绝对值编码器的区别

    增量编码器与绝对值编码器的区别:增量编码器与绝对值编码器精度特点对比 增量编码器的精度取决于脉
    的头像 发表于 11-18 16:38 160次阅读
    增量<b class='flag-5'>编码器</b>与绝对值<b class='flag-5'>编码器</b>的区别

    二进制编码器与绝对编码器的区别

    称为增量编码器,是种相对编码器。它通过检测轴的旋转方向和步数来提供位置信息。 工作原理 二进制编码器的工作原理基于脉冲计数。当轴旋转时,编码器
    的头像 发表于 11-06 09:54 302次阅读

    磁电编码器和光电编码器的区别

    磁电编码器和光电编码器是两种不同类型的编码器,它们原理、结构、性能和应用领域上都有所不同。 磁电编码器和光电
    的头像 发表于 10-12 09:54 653次阅读

    伺服电机编码器种类有哪些?

    伺服电机编码器分很多种,有直接转速型编码器、有位置分辨率型编码器、有高精度位姿编码输出和高灵敏度位移测量等类型。下面我们来了解一下伺服电机
    的头像 发表于 07-21 17:01 1020次阅读

    谷景揭秘哪些因素会影响电感测试结果

    电感作为电子电路中非常重要的种电子元器件,它在电路中的主要作用就是储存能量和过滤信号。我们选择电感的时候有个重要步骤——测试测试
    的头像 发表于 06-20 10:03 259次阅读

    增量编码器和绝对值编码器的区别

    工业自动化和精密测量领域,编码器是不可或缺的关键设备。编码器能够将机械位移转换为电信号,以便于计算机或其他数字系统进行处理。在编码器的众多类型中,增量
    的头像 发表于 06-03 15:40 2530次阅读

    天线增益的测试方法与测试步骤

    天线增益是指在输入功率相等情况,实际天线与理想的辐射单元空间同一点处所产生的信号的功率密度之比。增益是衡量天线发射和接收信号能力的重要指标。天线增益
    的头像 发表于 05-09 16:17 1160次阅读

    DEKRA被CSA指定为Zigbee统一测试工具开发和优化新功能和测试用例

    DEKRA德凯被CSA联盟(Connectivity Standards Alliance,CSA)指定负责为Zigbee统一测试工具(Zigbee Unified Test Harness,ZUTH)开发和优化新功能和测试用例。
    的头像 发表于 04-09 14:10 473次阅读

    编码器低速车上的常见应用

    低速电动三轮车或四轮车的电机上般需要安装编码器做位置和速度反馈,和客户的合作沟通中发现了三类主流的编码器。第
    的头像 发表于 03-04 17:05 1132次阅读
    <b class='flag-5'>编码器</b><b class='flag-5'>在</b>低速车上的常见应用

    编码器如何选择合适的脉冲数

    的脉冲数。般来说,转速要求越高,编码器的脉冲数应越大。通过计算设备的最大转速和所需的分辨率,可以得出适当的脉冲数。 3、考虑系统的噪声和稳定性:编码器的脉冲数越
    的头像 发表于 03-01 13:36 2271次阅读
    <b class='flag-5'>编码器</b>如何选择合适的脉冲数

    编码器分辨率是什么意思 编码器分辨率和脉冲数的关系

    线称为分辨率,也称解析分度、或直接称多少线,每转分度5~10000线。 按照编码器支持的分辨率可以把编码器分成标清编码器(720X48
    的头像 发表于 02-21 18:07 3904次阅读
    <b class='flag-5'>编码器</b>分辨率是什么意思 <b class='flag-5'>编码器</b>分辨率和脉冲数的关系

    伺服电机编码器故障及维修 伺服电机编码器调零对位方法

    伺服电机的编码器是用来测量电机转动角度和速度的重要部件。然而,由于长时间运行、环境因素等原因,编码器可能会出现故障,影响电机的准确运行。下面将介绍伺服电机编码器的故障原因和维修方法,并
    的头像 发表于 02-14 18:06 2.8w次阅读

    编码器好坏怎么判断,编码器原理

    编码器(Encoder)是将输入数据转化为特定编码表示的种技术。对于不同类型的编码器,评判其好坏可以从多个方面进行考量,包括编码质量、速度
    的头像 发表于 01-23 10:58 1797次阅读

    磁性编码器和光电编码器的比较

    伺服电机编码器种关键的反馈装置,用于测量和控制电机的转速和位置。选择伺服电机编码器时,常常面临个选择:使用磁电
    的头像 发表于 01-18 10:29 2954次阅读

    编码器:受干扰的方法及解决方案

    编码器:受干扰的方法及解决方案!解决编码器受干扰的方法主要包含使用错误纠正技术、改进编码器的设计和算法,减少干扰源等方法。通过综合运用这些方法,能够实际应用中帮助我们获得更准确和可靠
    的头像 发表于 12-28 09:39 3165次阅读
    <b class='flag-5'>编码器</b>:受干扰的方法及解决方案