webrtc延迟分析

本文探讨了WebRTC在桌面分享中的延迟问题,分析了网络延迟、声音延迟、抖动缓冲等因素,并详细讨论了ICE延迟和加密延迟的影响。虽然加密在传输延迟中的影响较小,但在WebRTC中取消加密并不实际。测试表明,连接建立和屏幕活动对延迟的影响远大于加密。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.背景
webrtc可以用于将一台机器上的桌面投射到另外一台机器上,通过浏览器实现桌面分享。然而其延迟时间是一个关键问题,即我们在源桌面上做一个操作,经过多长时间能够在目的桌面上看到。

接下来,将对导致延迟的因素做简要介绍。

2.延迟时间构成
以下是计算WebRTC呼叫总等待时间的关键因素:
(1)网络延时。取决于网络连接质量和通信距离(在一个国家内部应该小于50毫秒,国家之间可能大于100毫秒)。
(2)网络带宽和服务质量。丢包或者带宽不足可能触发更多的延时。
(3)声音延迟。取决于操作系统、音频硬件和驱动(在windows和ios上小于20毫秒,在android和linux上可能更多)。
(4)抖动缓冲。每种VoIP软件维持一个大小不一的抖动缓冲器,以补偿网络延迟(通常在0到100毫秒)。
(5)回声消除和前向纠错。回声消除和前向纠错可能引入一个数据包的延迟(通常在20毫秒)。
(6)其他因素。还有其他因素对延迟有影响,例如CPU占用率过高以及软件实现细节等。
如果通话双方在一个国家内部,总的延迟应当小于300毫秒,如果通过webrtc打长距离的跨国电话,总的延迟可能高达600毫秒。

3.延迟影响因素分析
参考网上的资料,影响webrtc延迟的因素有以下几种:
(1) ICE(Interactive Connectivity Establishment)延迟
(2) 加密延迟
(3)使用转发服务器
(4)管道的大小
(5)TCP
(6)大规模网络问题
(7)网络拥堵

分析延迟目前限制于局域网,所以只考虑(1)和(2),其他因素暂时不考虑。

4.ICE延迟
ICE延迟的原因是ICE协议栈在收集地址到探测协商过程花费很长时间,这在VOIP里是不可容忍的,有人把ICE功能关掉,这样解决了延迟问题,但是NAT穿越失败,媒体必须走服务器,这在一些webrtc与sip系统互通的系统中有应用价值,但在在两个webr

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值