網(wǎng)易邵峰:移動直播視頻流分發(fā)網(wǎng)絡(luò)的演進(jìn)
在直播之火越燒越旺的當(dāng)下,“直播+”業(yè)已進(jìn)入諸多垂直領(lǐng)域,在很大程度上改變了互聯(lián)網(wǎng)產(chǎn)品的交互形式。與之同時,直播產(chǎn)品本身也產(chǎn)生的一系列問題,甚至極大地?fù)p害了用戶體驗,比如直播卡頓問題等。
在2016北京***00Summit全球軟件案例研究峰會上,來自浙江大學(xué)博士、網(wǎng)易杭州研究院的服務(wù)端技術(shù)專家邵峰做了如何構(gòu)建云直播分發(fā)網(wǎng)絡(luò)的演講。視頻流分發(fā)網(wǎng)絡(luò)經(jīng)歷了哪些階段,而網(wǎng)易視頻云又是如何保證直播流暢性的呢?
云直播分發(fā)網(wǎng)絡(luò)的三個階段
據(jù)邵峰介紹,網(wǎng)易本身在音視頻領(lǐng)域就有十多年的行業(yè)經(jīng)驗,為了提供體驗好、無卡頓的直播云服務(wù),網(wǎng)易的技術(shù)團(tuán)隊踩了不少坑。從最初的不成熟到如今行業(yè)領(lǐng)先的解決方案,網(wǎng)易在云直播分發(fā)網(wǎng)絡(luò)方面經(jīng)歷了三個階段。
***個階段:單CDN-構(gòu)建階段
邵峰表示,在剛開始提供直播云服務(wù)的時候,網(wǎng)易視頻云通過封裝調(diào)用第三方CDN的分發(fā)網(wǎng)絡(luò)接口,構(gòu)筑了一套完整的分發(fā)網(wǎng)絡(luò)服務(wù)。單CDN分發(fā)網(wǎng)絡(luò)的優(yōu)點是實現(xiàn)簡單,能快速封裝實現(xiàn)。在云服務(wù)發(fā)展初期,這一相對成熟的解決方案能夠快速實現(xiàn)產(chǎn)品并應(yīng)用于實際場景。
而當(dāng)用戶量達(dá)到一定規(guī)模時,單個CDN的缺陷就開始暴露出來了。首先網(wǎng)絡(luò)不穩(wěn)定,經(jīng)常出現(xiàn)卡頓掉線等情況,而且對國內(nèi)運營商網(wǎng)絡(luò)存在差異化支持,例如電信、聯(lián)通線路較好,而移動線路較差等問題。當(dāng)然本質(zhì)原因還是節(jié)點覆蓋不足以及帶寬資源的限制,且線路調(diào)優(yōu)較為麻煩。
第二個階段:多CDN-構(gòu)建階段
針對第三方CDN存在的問題,網(wǎng)易視頻云的技術(shù)團(tuán)隊考慮采用多CDN方案加以解決。“通過對不同的幾個CDN廠商進(jìn)行基調(diào)測試后,發(fā)現(xiàn)每個CDN廠商都有局部優(yōu)勢和劣勢,例如CDN廠商A對移動線路支持較好,而CDN廠商B對電信/聯(lián)通線路支持較好。針對該特點,我們接入了多家CDN進(jìn)行節(jié)點及線路互補(bǔ)。對于一些特殊區(qū)域,例如小運營商、海外節(jié)點等情況,我們通過部署自有節(jié)點,開發(fā)了一套簡單的自研CDN進(jìn)行區(qū)域覆蓋。最終我們形成了一個多CDN分發(fā)網(wǎng)絡(luò)系統(tǒng)。”邵峰介紹說。
多CDN分發(fā)網(wǎng)絡(luò)極大的降低了卡頓率,原因在于,在多CDN分發(fā)網(wǎng)絡(luò)中,由云管理中心為主播選擇分發(fā)線路??梢愿鶕?jù)主播端的IP,查詢推流源位置信息,然后選擇***CDN進(jìn)行流分發(fā)。舉個例子來說,主播A為北京移動線路,我們就選擇上行較優(yōu)的CDNⅡ進(jìn)行分發(fā);主播B為上海電信線路,選擇電信較優(yōu)的CDNⅠ進(jìn)行分發(fā)。然而多CDN分發(fā)網(wǎng)絡(luò)還存在第三方CDN上行線路無法達(dá)到***化、下行觀眾端拉流無法選擇***CDN、直播線路無法臨時調(diào)優(yōu)等問題。
第三個階段:融合CDN構(gòu)建階段
邵峰解釋說,為了解決多CDN分發(fā)網(wǎng)絡(luò)中所存在的問題,網(wǎng)易視頻云的研發(fā)團(tuán)隊對分發(fā)網(wǎng)絡(luò)進(jìn)行了重構(gòu),并提出一種融合CDN架構(gòu)。在多CDN的基礎(chǔ)上,網(wǎng)易視頻云進(jìn)行了兩個方面的自主創(chuàng)新,一是接流源站, 二是智能云調(diào)度中心。 通過自建接流源站,***限度的優(yōu)化了直播上行線路。而通過智能云調(diào)度中心,自實現(xiàn)了根據(jù)網(wǎng)絡(luò)變化,動態(tài)的調(diào)整上下性線路。
“當(dāng)前網(wǎng)易視頻云采用的就是融合CDN,但我們還將對該分發(fā)網(wǎng)絡(luò)進(jìn)行優(yōu)化。比如說在CDN廠商無法覆蓋的下行區(qū)域,如果用戶訪問密度高,我們將在下行邊緣做一層服務(wù)轉(zhuǎn)發(fā)。并實現(xiàn)了兩個優(yōu)勢,一方面增加邊緣覆蓋率,同時降低CDN流量成本;另一方面路由判斷更加精準(zhǔn),避免CDN廠商路由漂移情況。”
網(wǎng)易視頻云的兩大“黑科技”帶來了哪些效果?
按照網(wǎng)上流行的說法,在融合CDN的研發(fā)過程中,網(wǎng)易視頻云祭出了兩個“黑科技”,即前文所說的接流源站和智能云調(diào)度。在演講現(xiàn)場,邵峰也針對觀眾感興趣的兩個技術(shù)點展示了實際的效果對比。
邵峰介紹說,為了提高直播云服務(wù)的質(zhì)量,網(wǎng)易采用了更為嚴(yán)格的一分鐘卡頓率。所謂一分鐘卡頓率,是指如果一分鐘之內(nèi),播放器連續(xù)卡兩次,就視為該一分鐘都為卡頓。而傳統(tǒng)的時長卡頓率標(biāo)準(zhǔn)以每秒鐘為間隔,該秒內(nèi)播放器卡,視該秒為卡頓。一般來說,播放器卡的定義為:解碼線程每隔3ms從播放器緩沖區(qū)獲取數(shù)據(jù),如果緩沖器為空,則定義為播放器卡。就這一點來說,一分鐘卡頓率約是時長卡頓率的4-15倍。
“我們在真實環(huán)境,對三種分發(fā)網(wǎng)絡(luò)進(jìn)行了一系列對比測試,核心測試點就是卡頓率指標(biāo)。從圖中很容易發(fā)現(xiàn),網(wǎng)易視頻云采用的融合CDN分發(fā)網(wǎng)絡(luò),在實際表現(xiàn)上遠(yuǎn)勝單CDN和多CDN模式。”
除了一分鐘卡頓率的對比,邵峰還介紹了三種模式在卡頓率優(yōu)化比例上的不同。圖中的數(shù)據(jù)顯示,多CDN分發(fā)網(wǎng)絡(luò)的卡頓率相比于單CDN下降了26%,而融合CDN分發(fā)網(wǎng)絡(luò)在多CDN的基礎(chǔ)上下降了44%。也就是說,融合CDN分發(fā)網(wǎng)絡(luò)能極大的優(yōu)化網(wǎng)絡(luò)分發(fā),并把卡頓率指標(biāo)降到了小于5%的優(yōu)質(zhì)范圍。
同時,邵峰表示為了達(dá)到***體驗,網(wǎng)易視頻云將繼續(xù)改進(jìn)融合CDN分發(fā)網(wǎng)絡(luò),在拉流端考慮進(jìn)一步優(yōu)化。
邵峰總結(jié)說,CDN分發(fā)網(wǎng)絡(luò)的優(yōu)化必須深挖細(xì)節(jié)點,每個小模塊都能做出大文章,還要善于使用第三方服務(wù),并能在別人服務(wù)基礎(chǔ)上進(jìn)行優(yōu)化升華。當(dāng)然,對于中小企業(yè)客戶以及創(chuàng)業(yè)公司來說,網(wǎng)易視頻云所提供的直播、點播、互動直播等服務(wù)也是一種不錯的選擇。會后,邵峰還獲得了由麥思博頒發(fā)的 ***00Summit案例獎牌,并由騰訊TEQ副總監(jiān)鞠奇親自頒獎,同時也意味著行業(yè)對網(wǎng)易視頻云技術(shù)的肯定。