SRT协议简介

SRT是啥?

Haivision联手Wowza在UDT的基础上针对音视频实时性提出了SRT协议。SRT是基于UDT的协议(UDT协议是基于UDP的传输协议,在IETF已经提交了4个版本),具有非常良好的丢包重传机制,丢包重传的控制消息非常丰富,同时支持ACK、ACKACK、NACK。

为啥会出现SRT协议?

当前互联网中使用最多的直播协议使RTMP,但是随着新技术不断发展和新的业务需求不断出现,RTMP的几个不足越发明显:

  1. 长时间不更新:RTMP自2012年之后,没有进行过更新。HEVC/AV1等视频格式没有官方定义,都是CDN厂商自行定义。
  2. 建立连接过程长:RTMP基于TCP,TCP三次握手增加了连接过程,此外,RTMP本身又存在c0/s0到c2/s2的三次握手,再加上connection,createstream,play/publish,RTMP完成一次建连需要进行9次会话,对于网路质量特别是移动端网络质量的要求则很高。
  3. RTMP的拥塞控制完全依赖传输层,即完全依赖于TCP传输层的拥塞控制算法来进行拥塞管理,几乎没有什么优化;RTMP本身基于TCP传输,无法提供带宽自适应的算法。

众多厂商开始研究基于UDP 的传输协议,例如SRT、QUIC等。

SRT特点

  1. 基于UDT协议。UDT协议(UDP-based Data Transfer Protocol)是指基于UDP的数据传输协议。UDT的主要目的是支持高速广域网上的海量数据传输,建于UDP之上,并引入新的拥塞控制和数据可靠性控制机制。UDT是面向连接的双向的应用层协议。它同时支持可靠的数据流传输和部分可靠的数据报传输。
  2. 丢包重传机制好,具有丰富的丢包重传的控制消息,同时支持ACK、ACKACK、NACK
  3. 基于时间的报文发送,能够有效防止流量突发
  4. SRT对上层提供了丰富的拥塞控制统计信息,包括RTT、丢包率、inflight、send/receive bitrate等。利用这些丰富的信息,可以实现带宽预测,并根据带宽的变化在编码层去做自适应动态编码与拥塞控制。

应用案例:

全链路适配SRT,腾讯云直播平台再升级

阿里云推出SRT+杜比全景声直播方案,低成本打造高质量直播观感体验

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章