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

    文章

    6041

    浏览量

    130740
  • 编码器
    +关注

    关注

    45

    文章

    3905

    浏览量

    141480
  • cpu
    cpu
    +关注

    关注

    68

    文章

    11223

    浏览量

    223008

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

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    使用简仪科技产品搭建编码器信号完整性测试系统

    旋转编码器,是测量旋转角度的常用电子部件。它在工业运动控制、汽车动力转向机构、列车编码里程系统、航空航天有普遍应用。其中,有些专用编码器对整体系统运行正常起到关键作用,必须做到长期运
    的头像 发表于 11-07 15:53 358次阅读
    使用简仪科技产品搭建<b class='flag-5'>编码器</b>信号完整性<b class='flag-5'>测试</b>系统

    如何提高绝对值编码器恶劣环境的精度稳定性?

    如何提高绝对值编码器恶劣环境的精度稳定性?根据具体的恶劣环境条件选择相应的编码器类型。例如,
    的头像 发表于 10-13 13:58 251次阅读
    如何提高绝对值<b class='flag-5'>编码器</b><b class='flag-5'>在</b>恶劣<b class='flag-5'>环境</b><b class='flag-5'>下</b>的精度稳定性?

    磁性编码器的抗污染、抗冲击特性及其恶劣环境应用

    磁性编码器IC作为现代工业自动化系统中的关键组件,其性能直接影响到设备的精度和可靠性。特别是恶劣环境,如高粉尘、强振动、极端温度等条件
    的头像 发表于 08-13 16:48 603次阅读

    增量型编码器与绝对值型编码器怎么选择?

    选择增量型编码器与绝对值型编码器时,需要考虑多个因素,包括应用需求、成本、精度、可靠性以及环境适应性等。以下是对两种编码器的详细比较及选择
    的头像 发表于 07-10 10:34 867次阅读

    NETZER 绝对式旋转编码器 | 高精度与极端环境的工业隐形冠军

    、品牌与技术背景NETZER是以色列领先的编码器制造商,专注于电容式非接触绝对位置传感技术,其产品以高精度、耐极端环境和长寿命著称。公司成立于1998年,技术源自创始人YishayNetzer
    的头像 发表于 07-07 06:02 745次阅读
    NETZER 绝对式旋转<b class='flag-5'>编码器</b> | 高精度与极端<b class='flag-5'>环境</b><b class='flag-5'>下</b>的工业隐形冠军

    选择增量编码器时,需要考虑哪些技术指标? 起来了解一下

    程度,通常以角度误差或线性误差来衡量。 高精度的编码器能够提供更准确的位置和速度信息,对于保证系统的性能和稳定性至关重要。些对精度要求极高的应用,如航空航天、精密
    的头像 发表于 04-29 14:20 824次阅读
    选择增量<b class='flag-5'>编码器</b>时,需要考虑哪些技术指标? <b class='flag-5'>一</b>起来了解<b class='flag-5'>一下</b>吧

    文读懂什么是磁性编码器

    磁性编码器种用于测量角度和线性位置的传感。它使用磁性信号来监测旋转或线性位置的变化,并把这些变化转换成数字信号。磁性编码器可用于各种应用中,比如机器人、汽车、数控机床等领域
    的头像 发表于 04-27 17:18 773次阅读

    橡胶体积表面电阻率测试过程中,电磁干扰对测试结果的影响,如何有效屏蔽

    的负面影响,使测量的电流出现波动,最终导致测试得到的电阻值偏离真实值。强电磁干扰环境测试结果
    的头像 发表于 03-13 13:14 644次阅读
    <b class='flag-5'>在</b>橡胶体积表面电阻率<b class='flag-5'>测试</b>过程中,电磁干扰对<b class='flag-5'>测试</b><b class='flag-5'>结果</b>的影响,如何有效屏蔽

    编码器与无轴承编码器,到底如何选择?

    选择轴编码器与无轴承编码器时,需要根据具体的应用场景、性能需求、环境条件和成本预算等因素进行综合考虑。以下是对两者的详细对比,以帮助做出合适的选择:
    的头像 发表于 03-11 15:33 993次阅读
    轴<b class='flag-5'>编码器</b>与无轴承<b class='flag-5'>编码器</b>,到底如何选择?

    伺服电机编码器怎么选型

    伺服电机编码器的选型是个综合性的过程,需要考虑多个因素以确保所选编码器能够满足系统的性能要求。以下是些关键的选型步骤和考虑因素: 、明
    的头像 发表于 03-11 12:01 1482次阅读
    伺服电机<b class='flag-5'>编码器</b>怎么选型

    DISCOAA编码器类型功能

    根据编码器的通用分类,我们可以推断DISCOAA编码器可能也包括绝对编码器和增量编码器。绝对编码器能够提供每个旋转位置的唯
    的头像 发表于 02-20 13:47 675次阅读

    伺服电机编码器故障及维修

    伺服电机编码器故障及维修,伺服电机编码器4大常见故障,编码器信号丢失或不稳定,编码器零点偏移,编码器过热,
    的头像 发表于 01-21 14:49 4052次阅读
    伺服电机<b class='flag-5'>编码器</b>故障及维修

    加速电机控制开发:EasyGo硬件测试平台站式解决方案

    开发的需求,提供了硬件测试平台站式解决方案。该方案运用前沿仿真架构,目前具备种类最为齐全、覆盖最为全面的电机模型、编码器的实时仿真,以及非线性变参处理能力,既能高精度模拟电机特性
    发表于 01-16 11:48

    华为云 X 实例 CPU 性能测试详解与优化策略

    引言   1. 测试环境搭建   1.1 测试实例的选择   1.2 CPU性能测试工具介绍   1.3 安装和配置Sysbench   2
    的头像 发表于 12-30 14:52 1210次阅读
    华为云 X 实例 <b class='flag-5'>CPU</b> 性能<b class='flag-5'>测试</b>详解与优化策略

    编码器刻线数与精度数的关系

    编码器刻线数与精度数的关系!精度数的衡量标准:精度数的衡量标准通常包括分辨率、重复性和准确性等。分辨率是指编码器能够检测到的最小位置变化;重复性是指在相同条件多次测量时结果
    的头像 发表于 12-18 10:41 1383次阅读
    <b class='flag-5'>编码器</b>刻线数与精度数的关系