RTMP之後,SRT與QUIC
RTMP協議存在累計延遲與加密方面的問題,為適應網際網路視訊低延時,高質量的要求,以UDP為核心,具有創造性的SRT,QUIC等流媒體視訊方式將成為新的選擇。本文來自NGCodec官方部落格,由LiveVideoStack進行摘譯。
原文
https://ngcodec.com/news/2018/11/5/is-the-death-of-rtmp-imminent-the-advance-of-srt
RTMP協議(實時訊息傳輸協議)最初是由Macromedia為通過網際網路在Flash播放器與一個伺服器之間傳輸流媒體音訊、視訊和資料而開發的協議。隨著視訊直播領域的興起,也成為業內廣泛使用的協議。
RTMP是基於TCP的協議,存在著累積延遲和加密方面的問題。而伴隨著網際網路視訊低延時,高質量的要求逐漸提升,相對而言,以UDP為核心的流媒體視訊方式成為新的選擇,包括SRT,QUIC等。
TCP和UDP是用於通過Internet傳送資料位(稱為資料包)的協議,但它們以不同的方式工作。
TCP(傳輸控制協議)常用於日常網際網路應用,以保證通過傳送方和接收方之間的握手機制來傳送分組。如果未收到資料包,則重新發送它們。雖然保證了資料包的真實傳輸,但速度非常慢,並且不會在波動的網路上進行優化。RTMP和其他基於HTTP流的協議(包括MPEG-DASH和HLS)依靠TCP / IP進行握手並替換傳輸中丟失的資料包。這意味著潛在的延遲問題對高效能視訊流無效。
另一方面,UDP沒有握手機制。它基本上傳送資料包並希望最好。但就延遲而言,大大減少,實際上成為視訊流的理想解決方案。
SRT最初由Haivision和Wowza開發,目前聯盟由150多家公司組成,包括Bitmovin,Brightcove,Canal Cable,Comcast Technology Services,Cinergy,Deluxe,Ericsson,Harmonic和NGCodec等少數知名公司以及數十家小型供應商。
SRT使用UDP協議,旨在利用有損網路來確保可靠性。它通過使用“高效能”傳送器和接收器模組來實現這一點 - 該模組不會通過握手確認來阻塞網路。這允許它擴充套件並最大化可用頻寬。SRT保證傳送的分組節奏(壓縮視訊訊號)與解碼器接收的分組節奏相同。
SRT增加了專為高效安全的視訊流而設計的其他功能:
128/256 AES加密,通過公共網路在鏈路級提供安全性
內容不可知,並在單個SRT流中彙集多個視訊,音訊和資料(元資料)流,使其能夠輕鬆支援高度複雜的工作流程
支援傳送和接收模式(與僅支援單一模式的RTMP和HTTP相反),對於傳遞防火牆非常有用
在傳送器/接收器模組內,可以檢測網路效能,並使用一種自適應位元率和糾正延遲,丟包和抖動
可支援當前和下一代壓縮技術,即H264(AVC),H265(HEVC),AV1,VP9
SRT是開源的,免版稅的,可在Github平臺上使用
QUIC(Quick UDP Internet Connection)是谷歌制定的一種基於UDP的低時延的網際網路傳輸層協議。QUIC很好地解決了當今傳輸層和應用層面臨的各種需求,包括處理更多的連線,安全性,和低延遲。QUIC融合了包括TCP,TLS,HTTP/2等協議的特性,但基於UDP傳輸。
QUIC的一個主要目標就是減少連線延遲,當客戶端第一次連線伺服器時,QUIC只需要1RTT(Round-Trip Time)的延遲就可以建立可靠安全的連線,相對於TCP+TLS的1-3次RTT要更加快捷。之後客戶端可以在本地快取加密的認證資訊,在再次與伺服器建立連線時可以實現0-RTT的連線建立延遲。
因為QUIC基於UDP,執行在使用者域而不是系統核心,使得QUIC協議可以快速的更新和部署,從而很好地解決了TCP協議部署及更新的困難。
精品文章推薦
技術乾貨:
人物專訪: