作者:张博力
编辑:Alex
▼扫描图中二维码了解音视频技术大会更多信息▼
摘 要: SRT协议(即安全可靠传输协议)是一个新兴的网络传输协议,适用于实时音视频传输。本文将从SRT协议的原理分析入手,尝试定义出一个衡量SRT链路可靠性高低的指标:链路安全冗余量(Secure-Margin),并详细介绍如何依照这个指标来部署一个可靠的SRT传输链路,并分析在不同的直播场景中的参数调整策略。
引 言
音视频的信号传输技术作为广电领域的重点技术之一,保障了传输的安全和质量。传统的信号传输手段也许可以用三句话来概括:天上一颗星,地下一根缆,中间面对面的微波。
“天上一颗星” 指的是卫星传输,优点是灵活安全可靠并且对于直播现场的条件没有特殊要求,但其设备投资和费用非常昂贵。“地下一根缆” 指的是光纤传输,优点是安全可靠并且延时极低,但它很依赖光缆链路的基础建设,灵活性较差。“中间面对面的微波” 最初指的是通视条件下的定向微波,后来又发展出长距离的U波段“大微波”和短距离的2G波段“小微波”。随着5G和互联网技术的飞速发展,通过公共互联网安全可靠的传输音视频信号已经成为一种可能,实际上我们的传输手段又多了一种:无需面对面的公网传输。
然而公共互联网中普遍存在着不同程度的丢包、抖动、延时和带宽波动,这就需要一种可靠的传输协议来保证传输链路的可靠性。SRT(Secure Reliable Transport)协议,即安全可靠传输协议,是一种新兴的音视频传输协议,在音视频的点对点实时传输方面有着非常好的应用效果。
广电的技术人员习惯通过链路的冗余量来估算链路的可靠程度,卫星链路中的类似指标是载噪比冗余量(C/N Margin),光纤链路可以通过光功率衰减和接收端灵敏度来估算光功率冗余量。类比这些概念,本文将从SRT协议的理论基础谈起,尝试定义一个衡量SRT链路可靠性的指标——安全冗余量(Secure-Margin)。接着根据这个指标,讨论SRT协议中相关参数的设置步骤和策略。
1、SRT协议原理分析
SRT协议能够在不可预测的互联网环境下提供安全、可靠的数据传输,目前广泛应用在流媒体传输领域。理论上SRT可以传输任意类型的数据,但由于其特别针对实时音视频传输做了优化,目前的主要应用场景是跨越公共互联网点对点传输实时音视频数据。
SRT协议最初是一个私有协议,在2017年4月由SRT联盟将其开源,由于该协议良好的性能以及开源、应用灵活等特性,越来越多的厂商和设备开始支持SRT协议。在实际工作中,搭配使用不同厂商的SRT设备也能够实现高可靠、低延时的音视频传输,这对于用户来说非常方便和灵活。
1.1 SRT协议和UDP协议
追述SRT的开发历程我们会发现,它是由**UDT(UDP-based Data Transfer)**协议改进而来,SRT协议保留了UDT协议大多数的核心概念和机制,同时引进了一些改进和增强功能,其中主要包括针对实时音视频的流量控制、增强的拥塞控制、控制数据的修改、加密机制的改进。UDT协议由Grossman提出,该协议在UDP协议的基础上添加了可靠性控制和拥塞控制机制来保证可靠性,可以有效地利用高速广域网络的高带宽,实现文件的高效、可靠传输。由于UDT协议主要适用于高吞吐的文件传输,SRT主要适用于流媒体传输,所以从应用层面来说,SRT协议和UDT协议之间的差别其实是不可跨越的。
抛开SRT协议的历史,我们可以把它理解成一个基于UDP协议的流媒体传输协议。众所周知,UDP协议是一种基于数据报的不可靠传输协议,它以提高数据的传输速率作为主要设计原则,只能提供不可靠的数据传输服务,尽最大努力交付。
图1展示了裸露的UDP协议在有损网络上的传输效果,测试中利用软件Netem模拟了具有丢包、抖动、延迟的有损网络,在源端将音视频信号进行信源编码,编码后输出的TS流具有可变比特率(VBR)和固定的帧间隔,但是在跨越网络后输出的码流特性已经完全改变,固定的帧间隔也因为网络的抖动发生了改变,实际上解码器很难从这样的码流中恢复出正常的音视频信号。