阿里云RTS技術(shù)方案
時至今日,互聯(lián)網(wǎng)直播經(jīng)歷了4年的高速期發(fā)展,用戶對體驗的要求也越來越高,傳統(tǒng)的5-10s延時很難進(jìn)行實時互動,比如時下很火的直播帶貨和在線教育業(yè)務(wù),主播和觀眾、老師和學(xué)生的實時互動體驗還是有很大的改進(jìn)空間的,另外隨著5G時代的到來,新的場景,比如AR/VR沉浸式直播、4K全息投影遠(yuǎn)程直播都要求更高帶寬和更低延時。
但直播技術(shù)近幾年卻未能有本質(zhì)性的突破,互聯(lián)網(wǎng)直播技術(shù)開始遇到了瓶頸,甚至開始阻礙業(yè)務(wù)的發(fā)展。那么我們?nèi)绾尾拍茉谘訒r上有所突破呢?
要解決這個問題,首先我們需要剖析一下直播延時的整體分布,互聯(lián)網(wǎng)直播全鏈路可以分為7個步驟:分別是采集、編碼、發(fā)送、分發(fā)、接收、解碼和渲染。其中采集+編碼,解碼+渲染總體延時比較固定,共100ms左右,變動比較大的部分是分發(fā)和接收,從數(shù)十毫秒到數(shù)秒不等,主要取決鏈路時延抖動、協(xié)議棧的優(yōu)化情況,以及阿里云CDN資源的覆蓋情況。
在傳統(tǒng)的架構(gòu)里,這7個環(huán)節(jié)相互獨立,互不相干,這樣做的好處是團(tuán)隊分工比較明確,但問題就是優(yōu)化手段很難做到跨界融合,導(dǎo)致無法做到系統(tǒng)級優(yōu)化。
比如,編碼器如果可以考慮發(fā)送時的擁塞情況來實時調(diào)整碼率就可以一定程度上緩解擁塞,從而降低延時;再比如傳統(tǒng)的流媒體傳輸中媒體數(shù)據(jù)發(fā)送和底層的傳輸是相互獨立的,底層TCP傳輸?shù)膿砣刂扑惴ㄊ莻€通用算法,不會考慮媒體的特性。
這樣的一個分層結(jié)構(gòu)是很難形成即時反饋系統(tǒng)的,那么為了保障流暢度,緩存區(qū)的大小設(shè)計會相對保守,從而犧牲了端到端的時延,如果傳輸層和應(yīng)用層是一體化的,QoS控制針對媒體特性來專門設(shè)計,同時配合編碼側(cè)的碼率控制,就能通過組合拳的方式,大大地降低延時。
所以上述各個環(huán)節(jié)應(yīng)該是環(huán)環(huán)相扣,做到全鏈路相互感知才能將延時壓縮到極致。
阿
阿里云超低延時直播產(chǎn)品RTS,它是阿里云視頻直播產(chǎn)品的升級版,因此保留了阿里云視頻直播產(chǎn)品的所有特性,同時還具備了如下4大核心優(yōu)勢:
第1是RTS的秒級延時和卓越的抗弱網(wǎng)能力,在相同卡頓率下延時可以降低80%,相比于傳統(tǒng)的RTMP和FLV的5-10s延時,RTS的延時可以達(dá)到1s,并且還在基于線上的大數(shù)據(jù),在自我學(xué)習(xí)和持續(xù)迭代中。
第2是RTS的成熟穩(wěn)定,RTS經(jīng)過了阿里小二們2年多時間的潛心研發(fā),并經(jīng)歷了2020淘寶直播618和雙11的雙重線上考驗,目前已經(jīng)在淘寶直播上全量上線。
第3是開放標(biāo)準(zhǔn),為了能夠方便自研播放器的客戶使用我們的RTS服務(wù),我們的WebRTC接入的信令協(xié)議的完全開放的、透明的。
第4是廣覆蓋和高并發(fā),RTS服務(wù)是構(gòu)建在阿里云2800+邊緣節(jié)點之上,可以支持千萬級并發(fā)播放。
RTS具備無縫遷移和簡單易用的特性,我們提供了2種方案,來供開發(fā)者靈活選擇:
方案1:無需架構(gòu)升級,僅升級播放SDK,對于使用云廠商播放SDK的客戶,升級播放SDK后,可根據(jù)業(yè)務(wù)情況,靈活地選擇網(wǎng)絡(luò)傳輸協(xié)議,打造更高性價比組合。
方案2:基于WebRTC開放信令協(xié)議,升級網(wǎng)絡(luò)模塊,對于自研播放器的客戶,阿里云提供與標(biāo)準(zhǔn)WebRTC協(xié)議對接的代碼示范,客戶可以自行升級網(wǎng)絡(luò)模塊,來接入阿里云的RTS服務(wù)。
阿里云RTS落地案例和業(yè)務(wù)價值
首先是淘寶直播,目前淘寶直播已經(jīng)全量使用了阿里云的超低延時直播產(chǎn)品,并且順利保障了淘寶618直播大促。和傳統(tǒng)的HTTPFLV/RTMP方式相比,在用戶體驗上,RTS端到端的延時降低了85%,卡頓率降低了20%,在業(yè)務(wù)價值上,支付的UV提升了4%,GMV的提升到達(dá)了5%。
另外一個我想和大家分享的案例是某在線學(xué)習(xí)平臺。
該客戶在使用了我們的RTS產(chǎn)品以后,流暢度得到了很大的提升,延時降低了70%,同時結(jié)合阿里云視頻云窄帶高清媒體處理技術(shù),在相同的清晰度下帶寬節(jié)省了30%,最終客戶滿意度提升了2倍。
展望:在線教育體驗升級之路
最后一部分,我想和大家探討和展望一下,在線教育場景下用戶體驗升級的路徑。
過去,在線教育比較典型的架構(gòu)是旁路直播模式,即云端有個基于WebRTC的RTC媒體中心,老師以及需要實時互動的學(xué)員會接入到WebRTC頻道中,WebRTC頻道的延時一般在400ms以下。
然后由RTC媒體中心,轉(zhuǎn)推一路RTMP流到直播CDN,進(jìn)行旁路直播,由于分發(fā)采用的是RTMP/HTTPFLV,觀看直播的延時一般在5-10s,由于時延大且協(xié)議的不一致性,在這種情況下觀看直播的學(xué)員如果要切入到RTC頻道中進(jìn)行互動,體驗是比較差的,有時還會有黑屏中斷。
那么在今天,在架構(gòu)不做調(diào)整的情況下,如果使用了阿里云RTS,帶來的好處是一方面觀眾的延時降低了,另一方面,分發(fā)協(xié)議改用WebRTC后,與互動頻道保持了一致,直播觀眾和老師的互動切換體驗會更平滑。這種模式可以滿足超低延時大班課的場景的需求。
那這個是不是就是極致了呢?我們認(rèn)為,在體驗上還有進(jìn)一步優(yōu)化的空間,那就是云端的WebRTC雙向通信頻道的能力也下沉到CDN上,由阿里云CDN來承載,將互動和分發(fā)進(jìn)行融合,從而形成一體化的超低延時互動大頻道,通過業(yè)務(wù)層來控制WebRTC流的訂閱關(guān)系,直播和互動頻道間不再有明確的界限,可以靈活的根據(jù)業(yè)務(wù)情況按需在2種模式間進(jìn)行切換。
而且這種切換對學(xué)員和老師都是完全無感的,目前阿里云的全球?qū)崟r傳輸網(wǎng)絡(luò)GRTN就是在為用戶構(gòu)建這樣一種新的體驗升級,從而為用戶開啟一套統(tǒng)一的、毫秒級延時、千萬級并發(fā)的,無感互動新模式。