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