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+杜比全景聲直播方案,低成本打造高質量直播觀感體驗

 

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