How to 技術指南

什麼是SRT 安全可靠傳輸協議?

May 30 2021

SRT 安全可靠傳輸協議到底是什麼?

做直播的朋友們近年來一定常聽到SRT這個名詞,但SRT到底是什麼?SRT是安全可靠傳輸協議(Secure Reliable Transport)的簡稱,是由Haivision公司所開發的串流協議(Streaming Protocol)。串流媒體協議在串流直播上非常的重要。想像一下,當小明在家裡打開YouTube Live要看直播,中間發生了什麼事呢?小明就是在家中透過串流協議(Streaming Protocol)向Server發出請求,Server會將影片用特定的方式切片、回傳給小明,就可以順利地邊讀取、邊播放,而不必像古代一樣要等整個影片下載完才能看。從上面的例子可以看到,串流協議(Streaming Protocol),就是在整個流程中,裝置和裝置間溝通的語言。語言可以有很多種,而且各自有優點和缺點。現今重要的串流協議(Streaming Protocol),則包括了RTMP, RTSP, HLS, SRT等。

                                                

RTMP是穩定且普及的串流協議,為什麼要用SRT 安全可靠傳輸協議? 

要暸解SRT傳輸的好處,必須要跟現在普及的RTMP相比較,才能突出SRT的優點和特性。RTMP即時訊息傳輸協議(Real-Time Messaging Protocol)是一個成熟、完善的串流協議。當初Adobe開發它就是要用於互聯網,因為不能保證網路很穩定,所以RTMP是立基於TCPTransmission Control Protocol)的串流協議,特別設計的數據包轉發能力和可調整的緩衝區,讓它在可靠性方面享有盛名。RTMP雖然是目前最普及的串流協議,但在2012年後就沒有再次更新,很多人認為,SRT在未來可能取代RTMP

 

SRT 安全可靠傳輸協議提供超低延遲直播體驗,比RTMP2~3

相對於RTMPSRT直播最大的賣點在於它能夠提供更低的延遲。根據開發SRTHaivision所發佈的技術白皮書(https://www.haivision.com/resources/white-paper/srt-versus-rtmp/),在相同測試環境下, SRT的延遲比RTMP2.5~3.2倍,這是一個非常大的差異。各位朋友們可以看下圖,藍色的長條是SRT的表現,而橘色是RTMP的延遲時間(測試了四個不同的地理距離,像是從德國到澳洲、德國到美洲等等)。

 

更重要的是,在不穩定網路環境依舊表現佳

在低延遲之外,更值得一提的特點是SRT在不良的網路環境下仍然能夠傳輸。SRT的協議架構,具有應付網路頻寬波動、數據包丟失和其他量變的內置保護,所以,在不可預測的網路環境下,仍能保持影片直播的完整性和品質。

 

SRT 安全可靠傳輸協議帶給你的好處是什麼?

除了超低延遲和無懼不穩定的網路環境,我們還可以綜合整理SRT能帶給你的其他好處。因為可以在不可預測的網路上傳輸影片,所以你不需要使用昂貴的衛星網路,從而有更高的成本效益。換句話說,在任何有互聯網連接的地方,都可以達成雙向、互動的影片直播體驗。再者,SRT作為影片直播的協議,只是一種包裝、切分檔案的方法,可以適用在MPEG-2H.264或是HEVC等任一種影片Codec。 最後, SRT採用業界標準的加密,能確保安全。

 

誰適合使用SRT 安全可靠傳輸協議

SRT對於各種影片傳輸應用都有好處。試著想像一個擁擠的影片製作現場,例如某個大型會議直播。每個人都在爭奪使用同一個區網的情形下,影片從這樣的環境向製作室傳輸,必然會降低影片的傳輸質量。類似這樣擁擠的區網,和容易發生數據包丟失的情形,SRT就特別的有用,能夠協助減少這些問題,並以最佳狀態將影片傳輸到解碼器所在的位置。

另外,像是教會或學校之類有多個教區或校區的案例,如果在數個教區之間想要進行複雜的直播流,兩個教區之間若有直播延遲,會造成不良的體驗,而且浪費時間與金錢。這時候,透過使用SRT,影片在教區或校區之間傳輸,就能達成一個最佳品質、可靠的直播效果。

 

為什麼SRT 安全可靠傳輸協議能做到這些?

如果你是知識的好奇寶寶,想知道SRT在技術上到底為什麼可以做到上述的優點,以下給你部分的回答,如果你暫時不想知道那麼多,可以跳過這一段。

RTMP和SRT的一個主要區別是,RTMP在影片流的標頭(header)中沒有時間戳(timestamp),也就是在單個數據包中沒有這個訊息。因此,RTMP接收器必須在每一個固定的時間間隔內,將數據包發送到解碼器。所以為了減少單個數據包傳輸時間的差異,需要有比較大的緩衝區(buffer zone),延遲就會比較多。

SRT則是每個單獨的數據包都有時間戳(timestamp)。對接收器來說,這就很容易重現傳過來的訊號,並大大減少對緩衝的需求。很酷的是,SRT發送方的位元流(bitstream)和接收方的位元流(bitstream)是高度相似的,SRT可以辨識每個丟失的數據包,只在發生數據包丟失時重傳,從而減少延遲。

如果想要鑽研更詳細的技術資訊,你可以到Haivision下載他們的Technical overview, 有更詳盡的資訊(https://www.haivision.com/blog/all/excited-srt-video-streaming-protocol-technical-overview/)。

 

SRT 安全可靠傳輸協議的限制

講了那麼多SRT的好處,現在要來講講他的限制。除了Wowza以外,許多主要的即時串流平台都還沒有將SRT採用進它們的系統內,所以,您不一定能直接從終端用戶端點享受到SRT的好處。但隨著越來越多企業與個人用戶接受這個串流協議,可以想見SRT的未來是非常光明的。

 

最後的小提醒

就像我們前面所說,SRT的最大賣點就是低延遲。但是,造成延遲的原因不只有直播協議。直播的完成是一整個工作流程:網路頻寬、選用的設備裝置如編碼器(encoder) 、解碼器 (decoder) 甚至顯示器,都會影響到最終的直播體驗。所以,並不是選擇了SRT直播協議就是萬靈丹,還需要注意網路環境 、設備裝置等等。

 

 

參考資料與圖像來源:https://www.haivision.com/products/srt-secure-reliable-transport/