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