雲計算

阿里雲超低延時 RTS 直播技術方案及應用

作者:子融

阿里雲 RTS 技術方案

時至今日,互聯網直播經歷了 4 年的高速期發展,用戶對體驗的要求也越來越高,傳統的 5-10s 延時很難進行實時互動,比如時下很火的直播帶貨和在線教育業務,主播和觀眾、老師和學生的實時互動體驗還是有很大的改進空間的,另外隨著 5G 時代的到來,新的場景,比如 AR/VR 沉浸式直播、4K 全息投影遠程直播都要求更高帶寬和更低延時。

但直播技術近幾年卻未能有本質性的突破,互聯網直播技術開始遇到了瓶頸,甚至開始阻礙業務的發展。那麼我們如何才能在延時上有所突破呢?

image.png

要解決這個問題,首先我們需要剖析一下直播延時的整體分佈,互聯網直播全鏈路可以分為 7 個步驟:分別是採集、編碼、發送、分發、接收、解碼和渲染。其中採集 + 編碼,解碼 + 渲染總體延時比較固定,共 100ms 左右,變動比較大的部分是分發和接收,從數十毫秒到數秒不等,主要取決鏈路時延抖動、協議棧的優化情況,以及 CDN 資源的覆蓋情況。

在傳統的架構裡,這 7 個環節相互獨立,互不相干,這樣做的好處是團隊分工比較明確,但問題就是優化手段很難做到跨界融合,導致無法做到系統級優化。

比如,編碼器如果可以考慮發送時的擁塞情況來實時調整碼率就可以一定程度上緩解擁塞,從而降低延時;再比如傳統的流媒體傳輸中媒體數據發送和底層的傳輸是相互獨立的,底層 TCP 傳輸的擁塞控制算法是個通用算法,不會考慮媒體的特性。

這樣的一個分層結構是很難形成即時反饋系統的,那麼為了保障流暢度,緩存區的大小設計會相對保守,從而犧牲了端到端的時延,如果傳輸層和應用層是一體化的, QoS 控制針對媒體特性來專門設計,同時配合編碼側的碼率控制,就能通過組合拳的方式,大大地降低延時。

所以上述各個環節應該是環環相扣,做到全鏈路相互感知才能將延時壓縮到極致。

image.png

阿里雲超低延時直播產品 RTS,它是阿里雲視頻直播產品的升級版,因此保留了阿里雲視頻直播產品的所有特性,同時還具備瞭如下 4 大核心優勢:

第 1 是 RTS 的秒級延時和卓越的抗弱網能力,在相同卡頓率下延時可以降低 80%,相比於傳統的 RTMP 和 FLV 的 5-10s 延時,RTS 的延時可以達到 1s,並且還在基於線上的大數據,在自我學習和持續迭代中。

第 2 是 RTS 的成熟穩定,RTS 經過了阿里小二們 2 年 多時間的潛心研發,並經歷了 2020 淘寶直播 618 和 雙 11 的雙重線上考驗,目前已經在淘寶直播上全量上線。

第 3 是開放標準,為了能夠方便自研播放器的客戶使用我們的 RTS 服務,我們的 WebRTC 接入的信令協議的完全開放的、透明的。

第 4 是廣覆蓋和高併發,RTS 服務是構建在阿里雲 2800+ 邊緣節點之上,可以支持千萬級併發播放。

RTS 具備無縫遷移和簡單易用的特性,我們提供了 2 種方案,來供開發者靈活選擇:

image.png

方案 1:無需架構升級,僅升級播放 SDK,對於使用雲廠商播放 SDK 的客戶,升級播放 SDK 後,可根據業務情況,靈活地選擇網絡傳輸協議,打造更高性價比組合。

image.png

方案 2:基於 WebRTC 開放信令協議,升級網絡模塊,對於自研播放器的客戶,阿里雲提供與標準 WebRTC 協議對接的代碼示範,客戶可以自行升級網絡模塊,來接入阿里雲的 RTS 服務。

阿里雲 RTS 落地案例和業務價值

image.png

首先是淘寶直播,目前淘寶直播已經全量使用了阿里雲的超低延時直播產品,並且順利保障了淘寶 618 直播大促。和傳統的 HTTPFLV/RTMP 方式相比,在用戶體驗上,RTS 端到端的延時降低了 85%,卡頓率降低了 20%,在業務價值上,支付的 UV 提升了 4%,GMV 的提升到達了 5%。

image.png

另外一個我想和大家分享的案例是某在線學習平臺。

該客戶在使用了我們的 RTS 產品以後,流暢度得到了很大的提升,延時降低了 70%,同時結合阿里雲視頻雲窄帶高清媒體處理技術,在相同的清晰度下帶寬節省了 30%,最終客戶滿意度提升了 2 倍。

展望:在線教育體驗升級之路

image.png

最後一部分,我想和大家探討和展望一下,在線教育場景下用戶體驗升級的路徑。

過去,在線教育比較典型的架構是旁路直播模式,即雲端有個基於 WebRTC 的 RTC 媒體中心,老師以及需要實時互動的學員會接入到 WebRTC 頻道中,WebRTC 頻道的延時一般在 400ms 以下。

然後由 RTC 媒體中心,轉推一路 RTMP 流到直播 CDN,進行旁路直播,由於分發採用的是 RTMP/HTTPFLV,觀看直播的延時一般在 5-10s,由於時延大且協議的不一致性,在這種情況下觀看直播的學員如果要切入到 RTC 頻道中進行互動,體驗是比較差的,有時還會有黑屏中斷。

那麼在今天,在架構不做調整的情況下,如果使用了阿里雲 RTS,帶來的好處是一方面觀眾的延時降低了,另一方面,分發協議改用 WebRTC 後,與互動頻道保持了一致,直播觀眾和老師的互動切換體驗會更平滑。這種模式可以滿足超低延時大班課的場景的需求。

那這個是不是就是極致了呢?我們認為,在體驗上還有進一步優化的空間,那就是雲端的 WebRTC 雙向通信頻道的能力也下沉到 CDN 上,由 CDN 來承載,將互動和分發進行融合,從而形成一體化的超低延時互動大頻道,通過業務層來控制 WebRTC 流的訂閱關係,直播和互動頻道間不再有明確的界限,可以靈活的根據業務情況按需在 2 種模式間進行切換。

而且這種切換對學員和老師都是完全無感的,目前阿里雲的全球實時傳輸網絡 GRTN 就是在為用戶構建這樣一種新的體驗升級,從而為用戶開啟一套統一的、毫秒級延時、千萬級併發的,無感互動新模式。

以上就是關於 RTS 分享的全部內容,謝謝大家。

「視頻雲技術」你最值得關注的音視頻技術公眾號,每週推送來自阿里雲一線的實踐技術文章,在這裡與音視頻領域一流工程師交流切磋。

image.png

Leave a Reply

Your email address will not be published. Required fields are marked *