播延時(shí),對于任何一個(gè)接觸網(wǎng)絡(luò)直播的人而言都不陌生,很多客戶第一次做企業(yè)直播的時(shí)候就非常關(guān)心:為什么會有延時(shí),怎么才能0延時(shí)呢?通過閱讀本篇文章,也許你就會知道答案了。
網(wǎng)絡(luò)直播為什么會有延時(shí)?
在《玩轉(zhuǎn)直播設(shè)備三大件:視頻采集、編碼器、直播平臺【自己開直播02期】》中,我們提到直播流程:直播內(nèi)容采集→處理→編碼→封包→推流→傳輸→轉(zhuǎn)碼→分發(fā)→解碼→播放,每個(gè)階段對直播的延時(shí)都會有一定的影響。由于音視頻的傳輸路徑一樣,我們可以通過一張圖來說明延時(shí)的產(chǎn)生:
(以手機(jī)直播為例)
在音視頻傳輸過程中,在不同階段都會產(chǎn)生延時(shí)??傮w可以分為三類:
通過圖表,我們可以發(fā)現(xiàn)延時(shí)是因多個(gè)階段的數(shù)據(jù)處理、傳輸而產(chǎn)生的。其中,涉及的影響因素主要有:推流網(wǎng)絡(luò)環(huán)境(視頻錄制),服務(wù)器上傳、下發(fā)帶寬,拉流網(wǎng)絡(luò)環(huán)境(播放)等。
所以,你要了解一個(gè)真相:所謂“0延時(shí)”,目前的技術(shù)是不太可能實(shí)現(xiàn)的,我們現(xiàn)在能做的是盡可能縮短直播時(shí)的延時(shí)。
我們不能準(zhǔn)確保證延時(shí)多少秒,在任何實(shí)驗(yàn)環(huán)境下都可以達(dá)到很低的延時(shí),但是到實(shí)際環(huán)境中,要考慮邊緣節(jié)點(diǎn)的部署、主干網(wǎng)絡(luò)擁塞、弱網(wǎng)環(huán)境、設(shè)備性能、系統(tǒng)性能等問題,實(shí)際延時(shí)會更大。
一般編碼器直播,PC端延時(shí)2~3S,移動(dòng)端延時(shí)15~25S。移動(dòng)端的延時(shí)增加,主要是由hls的轉(zhuǎn)碼引起。手機(jī)直播,通常比編碼器直播增加2S左右延時(shí),桌面直播工具推流,通常比編碼器直播增加5S左右延時(shí)。如果關(guān)鍵幀間隔是3秒,手機(jī)上可以保持在20s的延時(shí)。
微視播怎樣保證低延時(shí)?
既然大家對延時(shí)如此關(guān)注,那么作為提供直播技術(shù)的微視播的角度來說,我們是如何保證客戶直播的低延時(shí)呢?
一:微視播支持RTMP協(xié)議推流
傳輸協(xié)議的選擇十分重要。傳輸協(xié)議一定程度上就決定了延時(shí)的范圍。從低延時(shí)直播的角度來看,RTMP協(xié)議是作為直播協(xié)議輸出最佳選擇。RTMP是基于TCP的標(biāo)準(zhǔn)協(xié)議,CDN網(wǎng)絡(luò)普遍支持,也能做到相對較低的延時(shí)。
RTMP支持播放的渠道很完善,能做到不同觀看渠道長時(shí)間穩(wěn)定播放不斷流,這對于企業(yè)直播很重要。對推流有興趣的朋友可以閱讀《不懂推流?說說直播背后不得不知的“流”【自己開直播01期】》。
▲微視播直播“流媒體技術(shù)”原理圖
二:CDN內(nèi)容分發(fā)網(wǎng)絡(luò)
CDN是通過在網(wǎng)絡(luò)各處放置節(jié)點(diǎn)服務(wù)器所構(gòu)成的在現(xiàn)有的互聯(lián)網(wǎng)基礎(chǔ)之上的一層智能虛擬網(wǎng)絡(luò)。CDN是一個(gè)策略性部署的整體系統(tǒng),能夠?qū)崟r(shí)地根據(jù)網(wǎng)絡(luò)流量和各節(jié)點(diǎn)的連接、負(fù)載狀況以及到用戶的距離和響應(yīng)時(shí)間等綜合信息將用戶的請求重新導(dǎo)向離用戶最近的服務(wù)節(jié)點(diǎn)上。
▲微視播直播國內(nèi)節(jié)點(diǎn)資源分布概況圖
CDN加速服務(wù)的質(zhì)量受節(jié)點(diǎn)的多少影響,這個(gè)很容易理解,節(jié)點(diǎn)多,資源的配置和調(diào)度上選擇的空間就比較大。簡單說:CDN的作用就是幫助數(shù)據(jù)選擇用時(shí)最短的傳輸路線。
三:完善的網(wǎng)絡(luò)部署
要實(shí)現(xiàn)低延時(shí),網(wǎng)絡(luò)基建必須要足夠好。我們可以這么比喻:道路網(wǎng)絡(luò)不好,怎么選都是爛泥土路,選了爛泥土路,如何能夠跑的快呢?網(wǎng)絡(luò)是非常重要的。
微視播會給客戶提供網(wǎng)絡(luò)部署指導(dǎo)建議,如果是單場直播需求的客戶,我們的執(zhí)行人員會到現(xiàn)場針對不同實(shí)際情況進(jìn)行網(wǎng)絡(luò)部署,確?,F(xiàn)場網(wǎng)絡(luò)的良好。
▲微視播一般網(wǎng)絡(luò)解決方案
四:專業(yè)的運(yùn)維服務(wù)
為了保障我們的服務(wù)器正常穩(wěn)定運(yùn)作,微視播有專業(yè)的運(yùn)維團(tuán)隊(duì),隨時(shí)對客戶各種突發(fā)情況快速響應(yīng)處理,保證直播活動(dòng)的順利進(jìn)行。
我們也希望實(shí)現(xiàn)“0延時(shí)”,但理想豐滿,現(xiàn)實(shí)骨感。每一個(gè)完美的直播背后都需要多設(shè)備、多流程配合完成的,正所謂“蝴蝶效應(yīng)”,任何一個(gè)小環(huán)節(jié)都會對直播延時(shí)產(chǎn)生影響,那么就肯定有它觸及天花板的時(shí)候。微視播將不斷完善開發(fā)直播系統(tǒng),保證直播的低延時(shí)、穩(wěn)定性,同時(shí)視頻播放高清流暢。