嗨?这是250,000+社交,泛滥,全球互联网通信云·rongyun。Rongyunrongcloud]在办公平台中了解更多干货。
今天,您是Liu Genghong Girl吗?要注意[Rongyun全球互联网通讯云],以了解有关“ Li Jiaqi Girls”和最近的“ Liu Genghong Girls”的更多信息,这些“ Liu Genghong Girls”已被证明是直播行业仍然很热门。在开发中,现场广播导致了越来越丰富的游戏玩法,例如Lianmai PK,一起观看。这些场景取决于RTC的真实时间音频和视频技术的兴起。
这种流行病重复了,许多人进入了家中的时刻。生活和努力成为每个人的解决方案,使每个人都打击“停止”焦虑。在娱乐社交场景(例如直播,语言聊天室)的外观外,在线教室,视频会议和在线咨询咨询。在将娱乐,社交和生活方面转移到在线的过程中,RTC的真实时间音频和视频技术已在新应用程序中迅速开发,并不断地打击新的应用程序以及穿透新场景。
两方面,当高级技术为在线场景带来巨大的增长时,它也面临着用户的经验要求,延迟,更高的图像质量和更顺畅的经验要求。这三种用户体验的影响因素与RTC的三个核心指标相对应,即真实的 - 时间,清晰度和流利性。
在这三者之间,鱼和熊的爪子不能同时又是两者兼有。具有高清要求的场景可以以一定的延迟来交换高质量的音频和视频数据。
但是,孩子们做出选择。为了实现“两者”,我们通常需要追求较低的延迟,通过网络传输优化的较高的清晰度和流利度。大老板是弱网络,这是导致拥塞的主要因素,数据包丢失和延迟的抖动。
弱网络对抗技术是一个集体提及上述问题和其他网络伤害问题的技术解决方案。本文共享RTC系统音频和视频传输弱网络对抗技术概述。
首先,简要介绍传输层协议。
传输层协议位于TCP/IP层次协议中的应用层下方,该协议通常由操作系统提供,包括TCP和UDP协议。TCP是连接的可靠传输协议,可为完整性和订单提供保证数据传输;UDP是无连接的不可靠的传输协议。数据传输的可靠性由应用层完全处理。
在实际 - 时间和视频应用程序方案中,UDP作为优先选择是行业中普遍共识。主要包括以下几点:
因此,根据UDP协议讨论了本文中讨论的弱网络问题以及相应的弱网络对抗技术,以及UDP上音频和视频字段广泛使用的RTP/RTCP协议。
简而言之,音频和视频传输弱网络的问题是指音频和视频通信用户体验的网络环境,主要是指网络拥塞,网络数据包丢失和抖动等问题。
这些问题是音频和视频卡住和糟糕的真实时间的主要原因。由于网络环境具有很强的复杂性和异质性,因此上述弱网络问题在不同环境的严重性中也有很大不同。可以在复杂的网络环境中平稳沟通一直是RTC字段中关注的关键问题。
当网络中传输的数据流量超过网络瓶颈容量时,会出现拥堵问题。
拥塞的直接影响是建造的数据包丢失或紧急抖动。如果没有及时预测拥堵,则发送数据的量会及时减少,并且接收端将遇到口吃,延迟和图片质量较差的问题。与拥塞作斗争的主要解决方案是及时检测网络拥塞通过设计拥堵控制算法,并尽可能快地从拥塞状态恢复以减少对用户体验的影响。
RFC8836已全面摘要有关真实时间交互式音频和视频应用程序的需求。简单性摘要如下:
基于上述需求,拥塞控制算法要解决的问题可以归类为两个方面。一种是如何快速,准确地进行网络拥塞和检测;另一个是采取适当的拥塞措施,以避免交通拥堵并尽快从拥塞状态中恢复。
拥塞检测算法可以根据观察数据的差异将两类分为两类:
基于数据包损耗的损失基量:通过数据包丢失事件检测网络拥塞。基于delay:通过延迟测量的法官网络拥塞。
对于真实的音频和视频交互式应用程序,延迟算法是更好的选择。主要原因是延迟的算法可以较早地检测到网络拥塞,从而避免了拥塞造成的数据包丢失。
此外,基于数据包损耗的算法通常会增加发送带宽,以检测链接的能力直到包装事件发生。该策略将导致不可抗拒的网络排队延迟增长,尤其是当网络节点的缓冲区为时大,甚至导致第二级延迟的增长。
选择延迟的算法应集中在需求需求中的“饥饿”问题上。延迟算法对延迟生长相对敏感。当使用基于数据包的算法竞争网络资源时,有必要采用适当的策略来相对公平地共享网络带宽资源。延迟算法通常通过测量RTT(往返时间往返延迟)或OWD(单路)来判断拥塞延迟单向延迟)。
RTT测量更直观,但是由于这是两条路延迟的总体情况,因此反向延迟变化会导致媒体流的网络拥塞判断的干扰。owd延迟观察避免了此问题。如下所示:如下所示:
(单向延迟更改)
OWD通过观察发送间隔和接收间隔的变化来确定网络队列的情况延迟。
简而言之,拥塞措施是根据网络的当前拥塞状态来控制媒体发送端的总发送率。根据发送端采用的其他弱网络对抗策略,符合发送端的其他弱网络对抗策略,可能的费率调整意味着调整速度声音和视频编码器,调整重型传输速率以及调整FEC冗余等等。有关详细信息,请参阅以下内容 - 启动本文。如果发送端是中间转发节点,则调整方法还包括SVC代码适应,尺寸流量排放等,如下图所示:
(SVC代码流示意图)
典型的拥塞控制算法的框架如下:
(WEBRTC拥塞控制体系结构1)
这是Google的早期拥塞控制框架中使用的WEBRTC框架中使用的。补充传输端和接收端混合控制模式,交付端使用基于数据包的算法,基本策略如下:
接收终端使用延迟算法。当前的传输延迟是通过统计单向延迟更改估算的,并且通过Calman过滤估算了当前的传输延迟,然后通过当前的实际接收带宽评估了最佳目标带宽,并反馈到发送端的回馈通过RTCP消息。两种算法的最小值被视为最终目标带宽。
下图是WEBRTC改进的拥塞控制框架。
(WEBRTC拥塞控制体系结构2)
我们可以看到实施了整个拥塞控制机制,并且接收端仅是为了反馈相应的测量数据。
新框架改善了网络延迟估计算法。通过对一条路延迟数据进行线性回归分析,评估了当前在线队列延迟的当前趋势,即三种趋势正在判断延迟正在增加,没有变化,并且正在减少。当前发送率是最佳目标带宽估计。除了改善拥塞检测算法外,新框架还引入了主动带宽检测机制,以优化整个拥塞控制算法的性能。比较后,开始阶段的收敛速度和网络环境的响应速度的响应速度有相对显着的改善。
如前所述,实际 - 时间交互式媒体传输基于RTP/UDP协议,并且包装丢失问题由应用程序层处理。
在网络传输(即,频道端)方面,反包装技术手段主要包括re -transmission(ARQ)和正向误差校正(FEC)。根据数据和编码方的差异,源编码,源编码还可以提供某些特定的数据包丢失功能。例如,B框架的效果减少了视频编码中B框架减少的影响。以下主要引入了网络传输中的反宽机软件包技术。
在RTP/RTCP协议中,数据包丢失的重新传输技术仅仅是为了确定接收器是否根据软件包序列编号的持续判断而丢失。通过将RTCP中的NACK请求发送到源端,源终端re transmits the the the The Pockity的指定数据包丢失了该软件包的过程:如下图:
在
需要考虑以下细节:
在实时音频和视频应用程序中,Front-方向错误校正(FEC)技术被广泛用于抗数据包丢失。FEC的基本思想是,发送端发送到了音频和视频数据包,并且额外的冗余数据包根据特定数据包损耗状态发送到接收终端。基本过程如下图所示:
(FEC处理过程,其中D是数据包,C是维修包))
目前,修复数据包的编码算法具有不同或算法,基于矩阵的算法和其他算法。本文没有详细解释。
以下内容介绍了FEC的基本应用程序框架在真实的音频和视频系统中。
(FEC发送最终框架)
上图中的ADU是应用程序数据单元。在音频和视频RTC系统中,作为源数据块,将音频和视频数据包输入FEC编码器中。修复程序包和源软件包和保护关系之间的保护关系发送到接收端。
接收端的FEC处理框架如下:
(FEC接收最终框架)
接收FEC源软件包和维修包后,将接收终端发送到FEC解码器。如果源包丢失,则根据包组的保护关系和接收到的接收组状态对解码器进行解码并修复。最后,将修复后的音频和视频包的完成进一步处理到上层,并完成了音频和视频解码和显示播放。
在上面,要保护维修包和源包的保护,应受到维修包保护源软件包的保护。发件人通过特定数据包格式通知接收端。在RTP/RTCP协议框架,ULPFEC(RFC5109)和FLEXFEC(RFC8627)下,定义了两种不同的策略和软件包格式:
ULPFEC:ULP(不均水平保护)根据数据包的重要性使用不同级别的保护策略。
flexFec:灵活的前向误差率,此标准定义了RTP协议框架下的前所未有的耦合检查程序包格式。
与FEC相比,ARQ的缺点是将引入延迟,优势是具有很高的带宽利用率。就抗包装技术的优化目标而言,就延迟要求而言,请尝试获得足够的保护,并具有最小的额外带宽和计算成本。
因此,在考虑ARQ和FEC的合作策略时应考虑以下原则:
下图是在特定情况下FEC和ARQ中的示意图。RTT在20ms以内。如果传输延迟需要在100毫米以内,在具有30%包装的弱网络链路上,ARQ可以将包装损耗率降低到1-1秒百分比,ARQ负责修复箔纸。
随着RTT的增加,FEC保护的比例增加了,FEC最终仅由FEC造成数据包丢失修复。
(ARQ和FEC机制合作)
通常,抖动的问题是网络传输延迟的问题。抖动越大表明网络传输延迟的变化越大。
抖动问题将严重影响音频和视频沟通经验的问题,例如接收端陷入困境和快速移动的前进。有许多原因的原因。例如,增加导致网络资源增加的新流,源数据本身来源的来源以及其他网络原因。
处理抖动的当前一般策略是建立抖动者来消除抖动。该原理如下图所示:
(抖动缓冲区的原理)
接收终端通过增加抖动延迟(抖动)来实现统一播放的目的来吸收不平衡的延迟。过度的抖动延迟将引入额外的延迟,这在实际的时间交互式应用程序中得到了强烈避免的;趋势。
关于抖动延迟的估计,Google在其WEBRTC框架中使用两种方法来估算在音频抖动处理中使用直方图和宽恕因子的方式,如下图所示:
(Neteq抖动延迟统计)
WEBRTC的音频抖动延迟是在其内部内部的NetEQ模块中估计的,图中的IAT意味着达到间隔。WEBRTC使用直方图达到音频软件包的间隔。delay.in.在跟踪延迟的变化中,Neteq使用遗忘的因素来忘记直方图中的历史数据。当然,Neteq提供了全面的音频QoS保证技术,许多人提供了许多。其他技术参与了音频抖动的处理,例如峰值抖动检测,语音变化等,不再描述。
在视频阻力方面,WEBRTC采用了一种抖动延迟与音频不同的算法。通过对实际帧大小变化和延迟数据的测量和统计数据,使用卡尔曼过滤器进行最佳抖动延迟估计。
但是,WEBRTC主要设计为一个-to -One Real -Time通信。在视频会议中,通过流媒体运输服务将一项到一项,多个 - 多到 - 多数方案,音频和视频流。方案需要改进。
下图显示了当前高质量软件包场景下的弱网络阻力测试的结果。
(Gao Lao Bao场景的测试结果)
低于60%和70%的高质量软件包,Android和iOS移动测试结果的MOS值仍然可以达到4点的流利度。在优化弱网络的过程中,由于网络的复杂性,异构性以及场景需求的多样性,真正的时间音频和视频传输策略以及弱网络对抗技术充满了各种选择,平衡和选择。在线学习和加强学习的技术思想也开始在该领域尝试。
我们还将继续探索和练习,以改善Rongyun的真实音频和视频RTC产品的综合用户体验。
原始:https://juejin.cn/post/7096091586311749662