基于CDN和IPQAM構(gòu)建分布式VOD平臺討論
NID方式:在每個非點播頻點的NIT表格插入服務(wù)入口描述符,機(jī)頂盒通過該描述符獲得點播主頻點信息,然后機(jī)頂盒根據(jù)點播主頻點上的NIT信息,獲取到的NetworkID信息即為RegionID。當(dāng)無法讀到描述符中的點播主頻點信息或RegionID信息時,采用機(jī)頂盒存儲的信息。
2.數(shù)據(jù)層面的結(jié)合
經(jīng)過路由選擇和資源分配后,CDN的邊緣視頻服務(wù)器將向IPQAM輸出視頻流數(shù)據(jù)。根據(jù)IPQAM設(shè)備的傳輸特性,需要考慮合適的數(shù)據(jù)封包和碼率控制方式。(1)數(shù)據(jù)封包
運營商目前普遍選擇的視頻編碼格式為MEPG2TS或MPEG4/H.264ISMA,這兩類格式采用不同的封包流程:
MPEG2TS封包流程
具體流程如下:
★文件以MPEG2TS的文件格式存放;
★視頻服務(wù)器U-Server讀取文件數(shù)據(jù)封裝成TS包方式,加上IP包頭,通過IP網(wǎng)絡(luò)發(fā)送給IPQAM設(shè)備;
★IPQAM將TS數(shù)據(jù)取出調(diào)制成RF信號通過HFC網(wǎng)絡(luò)傳輸;
★STB接收到TS數(shù)據(jù)后對其進(jìn)行解碼播放。
MPEG4/H.264封包流程
基于RTSP協(xié)議傳輸?shù)腗PEG4/H.264ISMA格式文件播放封包解包流程如下:
★文件以Mpeg4/H.264ISMA文件格式存放;
★視頻服務(wù)器U-Server讀取文件,先封裝成RTP格式,然后加上TS的包頭,再加上IP包頭,通過IP網(wǎng)絡(luò)發(fā)送給IPQAM;
★IPQAM將TS數(shù)據(jù)取出調(diào)制成RF信號通過HFC網(wǎng)絡(luò)傳輸;
★DVB解碼芯片接收到TS數(shù)據(jù)后,將TS包頭數(shù)據(jù)去掉,將TS的Payload信息也就是RTP數(shù)據(jù)傳遞給MPEG4/H.264Chip;
★MPEG4/H.264解碼芯片對RTP數(shù)據(jù)信息處理,對音視頻數(shù)據(jù)進(jìn)行解碼播放。
(2)碼率控制
IPQAM設(shè)備對碼流變化的適應(yīng)能力相對較弱,因此視頻服務(wù)器單純依靠以往在以太網(wǎng)上的發(fā)包策略往往會導(dǎo)致某個時刻發(fā)包過快,因IPQAM緩存不足而導(dǎo)致Overflow錯誤。針對這種情況,視頻服務(wù)器需要對每個點播流的碼流動態(tài)地進(jìn)行精確控制,使碼流盡可能平穩(wěn),從而減少或消除IPQAM的Overflow異常。
在編寫碼流控制算法時,可以從兩方面入手使碼率趨于平滑。
限速控制:引入擁塞窗口機(jī)制,記錄每個時間片發(fā)送的數(shù)據(jù)量,對每個時間片內(nèi)發(fā)送的數(shù)據(jù)總量進(jìn)行限制。當(dāng)片源由于某一段碼流過大導(dǎo)致?lián)砣翱诒惶顫M時,服務(wù)器將停止發(fā)包,到下一個時間片再嘗試進(jìn)行發(fā)送。這樣就能有效限制住碼流的峰值,避免出現(xiàn)劇烈的碼流波動。
加速控制:引入Prebuffer(前置緩沖)機(jī)制,確定服務(wù)器在發(fā)包過程中可以提前發(fā)送的最大數(shù)據(jù)。當(dāng)發(fā)送的進(jìn)度還沒有達(dá)到Prebuffer指定的量時,服務(wù)器將在帶寬允許的條件下盡力發(fā)送,直到進(jìn)度達(dá)到或超過Prebuffer的設(shè)置值再停止發(fā)送。這樣在片源碼流不大時,可以多發(fā)送一些Prebuffer允許范圍內(nèi)的超前數(shù)據(jù),當(dāng)碼流變大時,服務(wù)器即使降速發(fā)送,終端的Buffer(緩沖區(qū))也不會很快就消耗光。此外在點播啟動階段通過這種加速能縮短啟動時間,提供較好的觀感。
這兩種控制邏輯,限速控制是優(yōu)先考慮的,只有在限速控制允許發(fā)送的前提下加速控制才有可能運作。
3.路由層面的結(jié)合
大型VOD業(yè)務(wù)系統(tǒng)往往采用分布式的組網(wǎng)模式,可以根據(jù)業(yè)務(wù)和網(wǎng)絡(luò)情況選擇“核心-邊緣”的兩級組網(wǎng)模式或者“核心-骨干-邊緣”的三級組網(wǎng)模式。
在路由層面,帶有RegionID和機(jī)頂盒標(biāo)識的視頻訪問請求提交到頭端系統(tǒng)后,資源管理設(shè)備會根據(jù)網(wǎng)絡(luò)規(guī)劃和資源情況為其分配合適的IPQAM設(shè)備和端口,而CDN體系則會分配合適節(jié)點的合適服務(wù)器向該IPQAM端口輸出視頻流。
CDN系統(tǒng)采用GSLB(全局負(fù)載均衡)→SLB(負(fù)載均衡)的兩級負(fù)載均衡模式。全局負(fù)載均衡方式為靜態(tài)列表結(jié)合應(yīng)用層重定向,采用這種方式可以做到為用戶選擇最近、最優(yōu)的站點提供服務(wù)。本地負(fù)載均衡實現(xiàn)方式可以是基于應(yīng)用,基于負(fù)載和健康狀況的應(yīng)用層重定向,可以為用戶選擇節(jié)點內(nèi)最優(yōu)的視頻服務(wù)器(單元),向用戶提供服務(wù)。
這種全局負(fù)載均衡方式采用GSLB為入口點,用戶請求均進(jìn)入GSLB。GSLB的功能是根據(jù)健康狀況和就近性做全局負(fù)載均衡和最優(yōu)站點的選擇,將用戶請求重定向到骨干/邊緣節(jié)點設(shè)備的SLB組件上。SLB既配合GSLB,共同提供全局負(fù)載均衡功能和站點選擇,同時也負(fù)責(zé)本地的負(fù)載均衡和為用戶選擇最優(yōu)的流媒體服務(wù)引擎的功能。SLB內(nèi)部需要維護(hù)一個包括整個節(jié)點內(nèi)的所有服務(wù)器負(fù)載情況和內(nèi)容情況,同時SLB還需要向GSLB報告整個站點的健康狀態(tài)以便于更新GSLB的動態(tài)表和應(yīng)用表。
當(dāng)某個節(jié)點的視頻服務(wù)器發(fā)送故障時,系統(tǒng)將根據(jù)既定的路由策略和網(wǎng)絡(luò)部署情況,調(diào)度備用節(jié)點的視頻服務(wù)器繼續(xù)提供視頻數(shù)據(jù)到原節(jié)點的IPQAM設(shè)備,用戶服務(wù)將不會受到影響。
通過對CDN網(wǎng)絡(luò)技術(shù)和IPQAM技術(shù)的合理結(jié)合利用,廣電運營商將可以在汲取IP網(wǎng)絡(luò)先進(jìn)技術(shù)的同時,充分發(fā)揮HFC網(wǎng)絡(luò)的優(yōu)勢特點,打造低成本高效率的VOD傳輸和服務(wù)平臺。
評論