原理
QosFecNack传输内核
基于UDP的RTP传输在复杂的公网环境下,特别是4G、WIFI网络时面临丢包、乱序、重复、抖动等问题,严重影响实时音视频互动效果。
本方案即为解决此类问题而生,方案采用FEC(Forward Error / Erasure Correction )前向纠错技术进行丢包恢复,由发送方进行FEC编码引入冗余包,接收方进行FEC解码,恢复丢失的数据包。对于包乱序和包重复和抖动,我们采用收端QOS处理,该QOS方案特点是在没有丢包的情况下,不引入任何系统延时,并且可以通过可控的丢包等待时延来适应不同的信道乱序程度。在FEC无法恢复的情况下,方案引入独创选择性实时重传NACK机制,在保障实时性的前提下大幅提高系统对连续丢包的抵抗力。本方案的另一个特色是支持根据网络传输信道状况自动调整FEC冗余度、QOS策略以及NACK机制,在抗丢包能力和带宽代价之间获得较好折中。
众多产品案例表明:采用FEC+QOS+NACK丢包重传+RTP的组合,能显著提升UDP传输的丢包、乱序抵抗力,为上层音视频服务提供有力保障。核心技术、行业领先,API接口非常简洁可以快速集成到现有系统。
我们基于QosFecNack库开发了适用于不同应用场景的上层封装SDK,简化了用户的使用,加速产品落地。
SDT点对点协议:适用于点对点抗弱网低延时的场景,比如局域网投屏。
SDT多方互动协议:适用于1对多、多对多的公网、内网场景,比如视频会议、在线教育等,本方案配合SDT流媒体服务器使用。后者支持SFU转发、MCU多画面合成两种模式。
SDT可靠组播协议:适用于局域网的组播传输,相比普通组播增强了弱网抵抗能力。
SDT公网P2P协议:适用于公网实现1对1音视频互通场景,比如云游戏、远程控制等。优先P2P传输,P2P无法打通或质量较差时自动使用服务器中转。