ITPub博客

首页 > 应用开发 > IT综合 > 直播商城开发怎么在弱网环境下,保证音视频流畅

直播商城开发怎么在弱网环境下,保证音视频流畅

IT综合 作者:云豹科技晓彤 时间:2021-08-04 17:21:28 0 删除 编辑

直播商城开发通过深度优化音视频数据处理、传输策略和音视频信令服务,让音视频服务在各种环境下保持超高的可用性和优良的体验。

一.如何实现直播商城开发服务在弱网环境下高可用

直播商城开发使用的流媒体,核心是对音频/视频数据的处理和传输。但在实际应用场景中,除了音视频数据,还有一些非音视频数据需要同步处理,比如设备初始化、登录通信房间、发起推/拉流消息等服务,这些非音视频数据的处理通常由信令服务来支持。

因此音视频的弱网高可用需要从音视频数据和信令服务两方面入手。

1、音视频数据

直播商城开发在数据处理上,需要适应网络带宽的变化,动态调整音视频码率大小,通过牺牲一定的音视频质量来保证弱网环境下音视频服务的可用性和流畅度;

直播商城开发在数据传输上,传输信道要足够“智能”,能够视具体网络环境保证所需的音视频数据能够顺利传达。

2、信令服务

音视频信令服务需要在弱网环境下保证服务的高效稳定,实现信令的精准传达。

针对弱网处理的两个方面,我们的教程将分为上下两篇,本文为上篇,介绍的是对音视频数据的处理。

音视频数据的弱网高可用,我们可以从传输协议、信道QoS算法以及智能QoS策略来实现。

二.传输协议的选择

互联网的数据传输协议有TCP和UDP:

TCP可靠、稳定,但是建连需要经过3次握手,相对繁琐、效率低且占用系统资源高。

UDP效率高、快、轻量、占用系统资源较少,但是存在不可靠、无序等缺点。

在网络环境好的情况下,只要音视频编解码器相同,TCP和UDP的传输效率是相当的;而在网络环境较差的情况下,基于UDP的私有协议对端到端全链条可控,包括码率自适应、丢包重传和前向纠错等信道QoS策略,对抗恶劣网络环境会更有保障。

三.音视频信道QoS算法

常见的信道QoS算法有码率自适应、丢包重传、前向纠错、错误隐藏等,以下为不同算法的简单介绍:

1、码率自适应(ABC)

直播商城开发的服务端和推流端协作控制码率来自动适应网络环境变化的技术。在网络好的情况下,适当提高码率,提高语音视频的质量;在网络差的情况下,适当降低码率(帧率和分辨也可能会降低),保障音视频通话的可用性和流畅性。

2、丢包重传(ARQ)

直播商城开发通过重传关键数据包,来纠错的信道保护算法。具体地来说,发送端给每一个数据包都植入序列号和时间戳,序列号代表被发送数据包的顺序,允许接收端通过监测顺序号码来发现是否丢包;时间戳代表语音视频数据包采集的时间点。

3、前向纠错(FEC)

通过增加冗余数据对丢失数据包进行恢复的信道编码算法。具体地说,由发送端对原始数据进行FEC编码,生成冗余奇偶校验数据包,原始数据和冗余数据包合并称作FEC数据块,发送端发送FEC数据块,接收端接收到FEC数据块后,通过冗余数据包和原始数据包来恢复出丢失或者出错的数据包。

4、错误隐藏(PLC)

应用于实时语音通话的场景。为了减少语音数据包丢失造成对语音通话质量的伤害,错误隐藏PLC算法通过前一个语音数据包和后一个语音数据包的相关性来“推测出”当前丢失的语音数据包,从而“隐藏”了信道传输所造成的错误。

五.智能QoS策略

上面介绍了信道保护的各种QoS算法,然而单纯依靠某一种算法无法解决所有问题。以下为智能QoS策略的介绍:

1、混合FEC&ARQ

在这里插入图片描述

 FEC和ARQ各有优缺点。直播商城开发的做法是把FEC和ARQ通过智能策略混合使用,即混合型HARQ(Hybrid ARQ)。

混合型HARQ的智能策略要充分考虑网络情况,需要根据RTT和PLR(丢包率)的数值来智能地决定使用FEC还是ARQ,以及两者都使用的比例。以下为参考值:

在这里插入图片描述  

2、带宽估算

无论是ABC、FEC还是ARQ,都要依赖带宽估算算法来工作。ABC根据带宽估算的结果来自动调节码率;FEC和ARQ根据带宽估算的结果来分配冗余数据所占的带宽。

发送端和服务端协同对网络带宽进行检测和估算,发送端把网络带宽的统计信息上报给服务端,服务端把网络带宽的估算结果反馈给发送端。当然,也可以完全在发送端进行带宽估算。

3、带宽分配

码率自适应ABC模块估算出带宽以后,发送端把带宽分配给原始数据包、FEC校验包和ARQ重传包,直播商城开发这里需要智能的带宽分配策略。带宽分配策略是根据网络情况,包括RTT和PLR等因素,为原始数据包和冗余数据包分配带宽。

冗余数据包的带宽分配得越多,QoS信道保护算法的纠错能力就越强,然而原始数据包就相应分配得越少,语音视频的质量也就相对降低。

冗余数据包的带宽分配得越少,QoS信道保护算法的纠错能力就越弱,但原始数据包的带宽分配得越多,语音视频的质量也就相对得到保障。

因此,直播商城开发智能的带宽分配策略,是要在语音视频的质量和QoS信道保护算法的纠错能力之间寻找平衡点。

以下为智能的带宽分配策略示例(仅作为参考):

在这里插入图片描述

  在这里插入图片描述

 ————————————————
声明:本文由云豹科技转发自海水冷却博客,如有侵权请联系作者删除


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70002045/viewspace-2785267/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
音视频软件开发相关知识科普账号

注册时间:2021-06-11

  • 博文量
    163
  • 访问量
    60336