✅ 操作成功!

安全可靠传输(SRT)协议在5G直播中的链路分析和部署策略

发布时间:2024-01-24 作者:admin 来源:讲座

2024年1月24日发(作者:)

安全可靠传输(SRT)协议在5G直播中的链路分析和部署策略

Content Production & Broadcasting内容制播 ︳【本文献信息】张博力.安全可靠传输(SRT)协议在5G直播中的链路分析和部署策略[J].广播与电视技术,2021,Vol.48(1).安全可靠传输 (SRT) 协议在5G直播中

的链路分析和部署策略张博力(安徽广播电视台,安徽 230000)本文结合安徽省首次5G直播的案例,从SRT协议的链路分析入手,提出了【摘 要】

SRT协议是一种新兴的视音频传输协议,一个衡量SRT链路可靠性的指标:安全冗余量(Secure-Margin),并介绍如何参照该指标来部署一个可靠的SRT传输链路,最后分析在不同直播场景下的参数调整策略。

SRT, 安全冗余量, 延时量, 带宽开销【关键词】

5G,

TN919.8 TN948.1

【文献标识码】

A

【DOI编码】

10.16171/.2【中图分类号】

Link Analysis and Deployment Strategy of SRT Protocol in

5G Live BroadcastingZhang Boli(China Anhui Broadcasting Corporation, Anhui 230000, China)Abstract

SRT protocol is an emerging video and audio transmission protocol. Starting with link analysis of SRT protocol, this paper combines the

first 5G live broadcasting in Anhui puts forward an index to measure SRT link reliability, which is Secure Margin, introduces how to deploy a reliable

SRT transmission link according to the index, and finally analyzes parameter adjustment strategy in different live broadcasting ds

5G, SRT, Secure-Margin, Latency, Bandwidth overhead0 引言当前5G技术的商用已经全面铺开,它致力于解决增强型移动宽带(eMBB)、超可靠低延迟通信(URLLC)、大规模机器类型通信(mMTC)三大场景下的通信问题。其中eMBB和URLLC带来了大带宽和低延时,从而使得一直依赖于卫星、光纤等传统传输手段的电视直播工作有了新的

选择。但我们也要清醒地认识到5G只是一种更高效的互联网接入手段,广域网中普遍存在的丢包、抖动、延迟、带宽波动并不会彻底消失。如何选择合适的传输层协议来保证传输链路的安全可靠,是工作中必须要解决的课题。SRT(Secure Reliable Transport)协议-即安全可靠传输协议,是一种新兴的视音频传输协议,能够在公共互联网环境下实现高质量低延时的实时视音频传输。本文将结合安徽广播电视台首次5G现场直播,从SRT协议的差错控制原理谈起,尝试提出一个衡量SRT链路可靠性的指标-安全冗余量(Secure-Margin),并介绍如何根据该指标部署和设置SRT传输链路。1 5G直播简介2019年4月7日安徽广播电视台完成了省内首次5G直播——砀山梨园国际马拉松直播。在这次直播中,安徽台依靠5G网络和SRT协议的有力支撑,创新性地将互联网传输信号作为主路播出信号,实现了长达三个小时的全程马拉松

直播。本次5G直播采用了四条传输链路,其中三条传输链路基

第48卷 第1期〕58

内容制播Content Production & Broadcasting

于5G网络进行传输,分别使用了SRT、LRT、R2TP三种传输协议,采用了五家不同厂商的设备,实现了链路、协议、设备三个级别的多重冗余备份。直播前我们进行了细致的链路规划、计算和测试,并最终选择SRT链路作为本次直播的主链路。一个否定应答(NAK),发送端收到NAK后会重新发送该数据包。该工作机制决定了发送端和接收端都需要一个数据缓冲区,在此基础上SRT协议还通过延时量(Latency)参数的设定统一规定了发送端缓冲区和接收端缓冲区的最大可使

用量[1]。2 SRT协议理论分析SRT协议能够在有损网络环境下提供安全、可靠的数据传输[1],由于SRT协议特别针对实时视音频传输做了优化,其主要的应用场景是跨越公共互联网点对点传输实时视音频。SRT协议在2017年转为开源协议,由于该协议良好的性能以及开源的特性,越来越多的厂商开始支持SRT协议,并且不同厂商的SRT设备也能够协同工作[2]。单次往返时延(RTT-Round Trip Time)的概念也非常重要:它表示了数据在发送端和接收端之间往返一次花费的

时间。3 SRT链路的安全冗余量在信号传输工作中,大家习惯通过链路的冗余量来评估当前链路的可靠程度,卫星链路可以通过载噪比冗余量(C/N Margin)来评估,光纤链路可以通过光功率和接收端灵敏度来评估,但是对于SRT链路来说,并没有一个明确的指标来评估链路的可靠程度。刚开始接触SRT协议时,文献[1]和[3]告诉我们要时刻注意发送端和接收端缓冲区的状态,因为缓冲区状态能够反映出链路的丢包重传状况,能够反映出SRT协议是否在正常工作,实际上也能够反映出当前链路的可靠程度。经过长时间的学习和数十场直播的经验积累,我们对如何评估SRT链路的可靠程度有了更加深入的理解。综合这些知识以及在卫星/光纤传输方面的工作经验,笔者尝试提出了SRT链路安全冗余量(Secure-Margin)的概念,并结合案例给出定性和定量的分析,需要指出的是该指标可以用百分比或者重传次数两种方式来表示。2.1 在有损网络环境下工作的SRT协议参见图1,首先利用软件netem模拟存在丢包、抖动和带宽波动的有损网络[1],图中可以看到SRT协议能够很好地恢复原始的码流特性和固定的帧间隔。它通过差错控制、基于时间戳的数据包投递、根据延时量定义缓冲区等一系列机制,实现了在有损网络下的实时视音频传输,其中差错控制使用了自动重传请求机制(ARQ)。2.2 自动重传请求-ARQ数字通信中的差错控制方法大致可分为两类:自动重传请求(ARQ)和前向纠错(FEC),从20世纪八十年代开始ARQ技术就被广泛应用在各类通信技术和传输协议中,发展至今经历了多次进化,SRT协议发明者声称其对ARQ技术的改进是ARQ技术的第三次飞跃[1]。ARQ的基本思想可以表述为:接收端成功收到数据包后会返回一个肯定应答(ACK),若超时未收到,则返回3.1 发送端缓冲区冗余量发送端缓冲区的作用是保存那些还没有收到ACK的数据包,如果发送端收到了ACK,则将对应数据包从缓冲区踢图1 SRT协议在有损网络环境下的传输性能[1]

第48卷 第1期〕59

Content Production & Broadcasting内容制播 ︳出。SRT协议同时规定了:如果一直没收到ACK,该数据包保存在发送端缓冲区的最长时间等于延时量。图2是一种较好的传输状态,我们可以把延时量想象成在发送端和接收端从左向右同步滑动的窗口,图中发送端缓冲区的占用量很小,1号至6号数据包都已收到ACK,只有7号还保存在发送端缓冲区中等待应答,这表示大部分数据包都已经被正确接收。图3是一种处于丢包临界点的传输状态,发送端缓冲区已经被填满。接收方没有收到3号数据包,并向发送端返回了NAK,由于种种原因这一过程被延误,导致3号包即将被踢出发送端缓冲区。如果3号的重新传输再次出现丢失或者延误,该数据包就会丢包,解码端的图像可能也会出现问题。由分析可以得出结论:发送端缓冲区被占用的比例越少,链路越安全,若发送端缓冲区被占满,链路则很有可能发生丢包。SRT协议规定了:数据保存在发送端缓冲区的最长时间为延时量参数(Latency),最短时间为链路的单次往返时延(RTT)[1]。如果把发送端缓冲区被数据填满定为临界点,则发送端缓冲区冗余量SendBuffer-Margin的定义为:一段时间内发送端缓冲区的最大空余量除以发送端缓冲区的最大值,请参见公式(1):延发送端缓冲区冗余量=延时量Latency(ms)−发送端缓冲区最大占用量(ms)量=×100%Latency(ms)延时量图2 发送端和接收端缓冲区(较好状态)可能会出现问题。SRT协议规定了:数据存放在接收端缓冲区的最长时间应略低于延时量(Latency)[1]。如果把接收端缓冲区使用量变为零看作临界崩溃点,则接收端缓冲区冗余量ReceiveBuffer-Margin的定义为:一段时间内接收端缓冲区的(1)图4上半部分是5G直播当天的发送端缓冲区监测图,图中延时量为125ms,RTT为10ms,这段时间内的发送端缓冲区冗余量约为40%。由于选择了合适的参数,即使后半段网络出现了波动(如图4所示),链路仍然保持了充足的发送端缓冲区冗余量。

图3 发送端和接收端缓冲区(较差状态)3.2 接收端缓冲区冗余量接收端缓冲区的作用是将收到的数据包排序存放,排序一方面是解码的需求,另一方面是为了找出未及时到达的数据包,并向发送端返回NAK。图2中接收端缓冲区几乎被数据包填满,接收端的1号数据包已经被送至解码器,2号至6号数据包都已收到。图3中接收端缓冲区数据包较少,3号数据包未收到并且位于接收端窗口最左侧,意味着随着窗口的滑动3号很可能被跳过,解码出的图像会出现问题。由此可以得出结论:接收端缓冲区的理想状态应该是其占用量接近延时量,若接收端缓冲区占用量变为零,解码很图4 5G直播中发送端/接收端缓冲区状态图

第48卷 第1期〕60

内容制播Content Production & Broadcasting

最小占用量除以接收端缓冲区的最大值,请参见公式2:接接收端缓冲区冗余量=)接收端缓冲区最小占用量(ms量=×100% (2)()Latencyms延时量图4下半部分是5G直播当天的接收端缓冲区监测图,延时量为125ms,RTT为10ms,在图中这一段时间内的接收缓冲区冗余量约为40%。在定义出SRT安全冗余量的概念后,我们就可以根据该指标以及直播场景的需求来调整编/解码器,从而搭建出一条安全可靠的SRT传输链路。4.1 测量网络链路的基础参数在配置SRT链路之前我们必须测量链路的可用带宽、丢包率、RTT,并注意观察这些指标的波动程度。测量方法请参见文献[4].3.3 链路的安全冗余量综上所述,可以用一句话来总结如何配置一个可靠的SRT传输链路:我们要保证发送端缓冲区的使用量低于延时量,并且保证接收端缓冲区的使用量永远不会接近零[3]。这句话实际上指出了SRT链路中的两个临界崩溃点,而SRT链路中发送端和接收端缓冲区的状态是相互影响的,两者较差的一方决定了整条链路的可靠性下限,因此链路的安全冗余量Secure-Margin等于发送端缓冲区冗余量SendBuffer-Margin和接收端缓冲区冗余量ReceiveBuffer-Margin两者的最

小值。根据之前的讨论,延时量和RTT一起定义了数据包能够被重传的最大次数,该次数等于延时量除以RTT,我们依此定义了重传次数冗余量的概念,参见公式(3)。延重传次数冗余量=延时量Latency(ms)×安全冗余量(%)量=链路往返时间RTT(ms) (3)至此我们分别用百分比和重传次数两种形式定义了链路的安全冗余量(Secure-Margin),该指标表示了SRT链路的可靠程度,数值越大链路越安全。理解安全冗余量的含义能够帮助我们更好地读懂缓冲区状态图,并能以此为参考更有针对性地调整参数。另外RTT波动较大的链路我们需要通过估算重传次数冗余量,进行更仔细的测试和调整。[1]4.2 设定延时量延时量Latency是SRT协议中最重要的参数,它是一个固定值,可设置为20ms~8000ms[3]。延时量越大,SRT链路的差错控制能力就越高,因此我们需要在链路的可靠性和低延时之间取得一个平衡。参考表1,延时量的计算参见公式(4),其中如果RTT小于20ms,按20ms来计算:延时量Latency=RTT×RTT乘数 (4)公式4中“RTT乘数”的实际含义是SRT链路能够完成的最大重传次数,也代表了链路的差错控制能力,这也是为什么丢包率越高,所需要的“RTT乘数”就越高,所需要的延时量也越高。实际工作中我们不能完全依赖表1给出的建议值,一个好的习惯是提前进行链路测试,并结合安全冗余量和缓冲区状态图来选择合适的延时量。尤其需要注意以下几点:1. 体育和电竞这类直播需要很低的端到端延时,因为观众一定不希望从邻居的欢呼声或者朋友圈得知进球,这种情况需要我们非常仔细地权衡延时量和安全冗余量,从而找到一个折衷的参数。以这次5G直播为例,在保证充足安全冗余量的情况下,端到端延时只有0.8s左右,远小于卫星链路的延时。2. 延时量可以在编码器和解码器上分别设置,若数值不一样以较高的一方为准,这也意味着仅在某一端把延时量参4 SRT链路的参数配置策略表1 SRT参数设置表[3]最大丢包率(%)RTT

乘数带宽开销(%)最小延时量(当RTT≤20ms)<=133360ms<=342580ms<=7520100ms<=10617120ms

第48卷 第1期〕61

Content Production & Broadcasting内容制播 ︳图5 带宽开销示意图[3]数降低是无法生效的。3. 延时量参数并不是传输链路的端到端延时,端到端延时需要实际测试得出。4. 在确定了编码码率之后,可以通过编码码率×(1+带宽开销)来计算所需要的链路可用带宽,实际应用中建议在此基础上再增加一些链路可用带宽来对抗网络波动[3],建议值为编码码率×(1+带宽开销)×1.33。假设使用HEVC方式编码超高清视频,TS流比特率为40Mbps,带宽开销为25%,链路可用带宽应高于建议值66.5Mbps,由此我们也可以看出SRT协议对网络带宽的要求比较高。4.3 设定带宽开销比例带宽开销(Bandwidth Overhead)是一个百分比参数,其计算基数为TS流比特率,默认值为25%,可设置为5%~50%[3]。这部分额外带宽被用作重传数据包和传输反向控制数据,也就是说带宽开销与SRT链路的差错控制能力是息息相关的,实际上SRT协议中每丢失一个数据包就需要在接收端消耗大约400bps的可用带宽[3]。参考图5,在链路崩溃发生后,缓冲区数据会暂时填补解码器对数据的持续需求,紧接着当链路恢复后,额外划定的带宽开销会弥补之前对缓冲区数据的消耗,在“突发期”之后整个SRT链路会恢复正常。另外还需要注意以下

几点:1. 参考表1,可以找到在不同丢包率下带宽开销的最

小值。2. 带宽开销的计算基数是视频+音频+辅助数据的总比

特率。3. 参考图5,区域A和区域B的面积必须相等,因此SRT链路能够容忍的网络中断时间为延时量*带宽开销。实际上综艺晚会或者政府会议这类对延时并不敏感的直播工作,可以充分利用延时量和带宽开销这两个参数来大幅度增强链路的可靠性。假设我们在这种情况下设置延时为8000ms,带宽开销为50%,那么网络即使中断四秒钟也不会影响SRT链路的正常工作,这一特性甚至是卫星和光纤链路都不具

备的。5 结束语近年来,SRT协议在广电领域的发展呈现出多点开花的趋势,在现场直播、远程制作、上行推流、超远距离传输多方面都有着广泛的应用。在部署SRT链路时,前期的测试工作是必不可少的,在测试时可以通过观察缓冲区状态图和安全冗余量来判断链路的安全性,并根据不同直播场景的需求来确定参数组合。参考文献:[1] SRT Protocol Technical Overview[M/OL]. (2018-10)[2020-11].

/resources/white-paper/srt-protocol-technical-overview.[2] 张博力. 浅谈SRT传输协议在广播电视信号传输中的应用[J]. 现代电视技术, 2019(5): 141-143.[3] SRT Deployment Guide, v1.1, Issue 01[M/OL]. (2018-10)[2020-11].

/additional-resources/srt-deployment-guide.[4] 张博力. SRT协议的数据包结构解析和抓包分析[J]. 现代电视技术,

2020(10): 132-135.作者简介:张博力,男,1985年生,本科学历,工科学士,工程师,工作方向:信号传输、外场转播。

第48卷 第1期〕62

安全可靠传输(SRT)协议在5G直播中的链路分析和部署策略

👁️ 阅读量:0