這個夏天,沒什麼能夠比一場酣暢淋漓的奧運比賽來的過瘾。但是,在視訊平台直播觀看比賽也有痛點:“卡頓”和“延時”。受限于不同地域、複雜的網絡情況、傳輸速度等原因,當您還在為賽點焦灼的時候,隔壁已經傳來歡呼聲,觀賽興緻瞬間全無。為了打造更加流暢穩定低延時的直播體驗,越來越多企業關注低延時直播技術應用。
阿裡雲低延時直播RTS(Real-time Streaming)是在視訊直播的基礎上,進行全鍊路延時監控、CDN傳輸協定改造、UDP等底層技術優化,通過內建直播播放端SDK,支援千萬級并發場景下的節點間毫秒級延時直播能力,彌補了傳統直播3~6秒延時的問題,保障低延時、低卡頓、秒開流暢的極緻直播觀看體驗。
為了能夠降低直播的端到端延時,2020年阿裡雲正式推出全球實時傳輸網絡GRTN (Global Real Time Network) ,是部署在邊緣雲節點之上的超低延時、全分布式下沉的通信級流媒體傳輸網絡,用于支援視訊會議、視訊直播、實時音視訊等服務。要使用GRTN提供的短延遲/實時傳輸服務,用戶端可以通過浏覽器的webrtc能力接入,也可以自行開發用戶端協定棧來接入。
RTS NetSDK是什麼?
低延時直播SDK是由RTS NetSDK、推流 SDK和播放器SDK組成。其中,推流SDK将編碼器輸出的音視訊幀發送給RTS NetSDK,播放器SDK從RTS NetSDK以幀的形式讀取音頻PCM資料和視訊H264/H265資料。
Example: ffmpeg內建RTS NetSDK後拉ARTC流
RTS NetSDK是基于GRTN開發運作在用戶端的協定棧。RTS NetSDK通過UDP傳輸層協定和GRTN上的SFU通訊,收發音視訊資料。考慮網絡條件未知性,RTS NetSDK內建了WebRTC的QoS算法來适應網絡變化,進而提供優質的音視訊傳輸服務。RTS NetSDK的輕量化設計使其非常容易被諸如ffmpeg,obs一類的開源架構所內建。

RTS用戶端構成
RTS NetSDK承擔推流拉流對接阿裡雲RTS服務橋梁,以包體積小、內建簡單、對現有業務沒有入侵為主要特點,幫助直播客戶簡單快速的更新傳統直播到阿裡雲RTS直播。
RTS NetSDK 支援多平台,Android/iOS/MacOS/linux/Windows/RTOS, 支援多個開源項目內建的接入代碼,ijkPlayer、obs、FFmpeg,而且阿裡雲推流SDK和播放器SDK已經内置了RTS直播推拉流能力。
RTMP是基于TCP傳輸的,RTS是基于UDP傳輸的。在網絡穩定帶寬足夠條件下,RTS對比rtmp沒有多少優勢,但這種理想情況是比較難以保證的。傳輸協定上的差異,使得RTMP對于變化的網絡沒有太多的QoS手段,完全依賴TCP的擁塞控制。
這種擁塞控制不以低延遲為目标。阿裡雲的RTS引入WebRTC的QoS技術,對于網絡丢包有更好的容忍度。出色的帶寬估計和擁塞控制,提供了細膩的網絡使用政策。
另外,在Adobe Flash Player停止更新,RTMP在網頁上已經無法再使用。客戶要麼選擇延遲非常大的HLS技術,或選擇WebRTC技術。RTS H5版本本質上是WebRTC,可以在網頁上運作。
産品優勢
低延遲
HLS 直播因為其TS檔案切片--整片讀取的機制,其延遲至少都在一個gop以上。
RTMP、FLV直播,為了保證用戶端的播放順暢,往往會讓用戶端保持5秒以上的緩存。
阿裡雲RTS直播,基于udp傳輸技術,全鍊路針對延遲優化,最新v1.8.0版本已經可以将延遲降低到500毫秒左右。
抗弱網
阿裡雲RTS直播是基于UDP傳輸的,通過應用WebRTC的先進技術(比如BWE、jitter buffer、NetEQ、FEC、NACK等QoS機制)以及自研的抗弱網技術,在複雜易變的使用者網絡環境中,比基于TCP傳輸的直播有着更好的流暢度和延遲。
包體積小
RTS NetSDK擁有輕巧的包體積,以最新版本Android 和iOS為例:
易內建
直播客戶大多都已經有了成型的直播推流和直播拉流能力。RTS NetSDK以庫的形式被內建進客戶現有的SDK,實作低成本更新,且相容之前的業務邏輯。阿裡雲RTS直播已經支援到傳統直播的基本所有特性。
産品應用架構
RTS直播将支援傳統直播的基本全部能力,如直播錄制、防盜鍊、導播台等。
RTS NetSDK可以被內建進拉流側的各種産品中去。另外提供了內建到ffplay、ijkPlayer的源碼,客戶可以直接使用或者參照着修改。阿裡雲播放器SDK已經内置了RTS NetSDK的拉流能力。
RTS NetSDK也可以被內建進端側的産品中去,RTS NetSDK賦予推流産品RTS直播的能力,同時也提供了內建到ffmpeg、obs的源碼。阿裡雲推流SDK已經内置了RTS NetSDK推流能力。
RTS NetSDK是未來直播和通信一體化SDK的基石。在RTS NetSDK之上,加一個Multimedia Framework,以及QoS消息處理,就可以構成一個一體化SDK。這對于已經有自己的Framework的客戶來說是個好消息,不需要為直播和通信分别開發軟體了,同時也簡化了直播連麥場景的實作。
如果你想開發小程式或者app的話,可以通過第三方專業開發平台,來幫助你實作開發需求:
廈門在乎科技-專注
廈門小程式定制開發、app開發、網站開發