- 当前网络传输的问题 -
随着互联网视频应用的快速发展,越来越多的平台和行业加入到直播行业,但是对于广大的主播群体来说,也面临着一些质量问题。比如:
在这些场景,由于单一网络链路通道不稳定或带宽不足,容易造成上行推流卡顿,对播放端的体验造成不好的影响。
- 多链路传输方案 -
腾讯云音视频云直播推出的多链路传输方案,通过多个链路层同时传输,提高整体端到端的传输可靠性和质量,进一步提升上行推流和最终的播放端体验。
传统的硬件IP层方案,更多的是采取支持多网聚合的路由器和网关服务器的方案,通过发送端数据切分、多链路子流传输和接收端数据聚合,实现多链路传输方案。
该方案不依赖于传输层的协议,目前的推流协议都兼容,但需要硬件如路由器的支持。
腾讯云直播的软件应用层方案,则是通过基于腾讯云SRT的可靠性、抗抖动和低延迟能力,实现基于SRT bonding的传输层多路径传输的算法,并针对直播流媒体场景进行了优化。同时也去掉了硬件的依赖,仅需发送端有多网卡即可。腾讯云通过自适应的多路径推流,提升主播上行传输质量。
具体的,发送端首先将所有建立好的connection加入到一个group,然后针对每条链路,会根据实时的传输QoS进行状态的判断和决策,结合接收端的反馈信息计算实时的rtt、loss rate等判断链路的质量和拥塞状态,并选择最佳路由进行数据的发送。接收端对一个group内所有connection收到的数据进行包级别的去重和排序,最终返回完整有序的包序列给上层应用。
通过实时测量QoS,调整发送路径
在实际的一些场景上,针对一些重要的活动,若上行多网带宽充足,发送端会根据QoS选择最佳路由,进行数据发送,当前链路出现异常或QoS波动,发送端会动态的调整路由,将当前数据通道切换至质量最好的路由,并进行下一阶段的数据发送。或根据QoS情况进行冗余发送,服务端通过聚合和去重,来提高整体传输的稳定性和低延迟。由于网络质量是随时间流逝会变化的,因此数据通道会根据实时的QoS不断切换。另一方面,对于单一网络链路带宽不足或抖动的场景,发送端也会根据多个通道的QoS情况,同时进行多路径发送。同时,做到包级别调整发送路径,如高优先级包、重传包等采用rtt更短的路由,确保整体传输质量的最优化。
多路径模式下的数据传输示意图
使用多路径传输后,传输稳定性得到了明显改善。
WiFi断掉时,4G通道数据快速补上
最终聚合后的帧率曲线,在网络切换前后平稳无抖动
4G和WiFi通道多路径发送
接收端码率曲线
演示效果如下:
Tmio SDK 使用指引
详细接入文档说明及demo源码参考:
https://github.com/tencentyun/tmio
腾讯云音视频在音视频领域已有超过21年的技术积累,持续支持国内90%的音视频客户实现云上创新,独家具备 RT-ONE™ 全球网络,在此基础上,构建了业界最完整的 PaaS 产品家族,并通过腾讯云视立方 RT-Cube™ 提供All in One 的终端SDK,助力客户一键获取众多腾讯云音视频能力。腾讯云音视频为全真互联时代,提供坚实的数字化助力。