新聞中心

EEPW首頁(yè) > 網(wǎng)絡(luò)與存儲(chǔ) > 設(shè)計(jì)應(yīng)用 > 基于P2P技術(shù)的時(shí)移電視系統(tǒng)方案

基于P2P技術(shù)的時(shí)移電視系統(tǒng)方案

作者: 時(shí)間:2008-03-12 來(lái)源: 收藏

  1、引言

本文引用地址:http://www.butianyuan.cn/article/79908.htm

  隨著視頻和寬帶接入技術(shù)的迅速發(fā)展和成熟,通過(guò)IP寬帶網(wǎng)絡(luò)收看各種直播和點(diǎn)播節(jié)目已經(jīng)成為現(xiàn)實(shí)。時(shí)移電視業(yè)務(wù)結(jié)合了視頻直播、視頻點(diǎn)播及視頻錄制等技術(shù)特點(diǎn),使用戶在看電視直播時(shí)可以進(jìn)行暫停、回跳延時(shí)觀看以及從延時(shí)觀看切換回直播狀態(tài)等操作,還可以讓用戶回看已播的電視節(jié)目。時(shí)移電視使用戶徹底從“你播我看”的傳統(tǒng)被動(dòng)收看電視這一模式中解放出來(lái),目前已被CCSA IPTV標(biāo)準(zhǔn)列為基本業(yè)務(wù)之一。目前在寬帶網(wǎng)絡(luò)上實(shí)現(xiàn)時(shí)移電視業(yè)務(wù)主要有兩種思路,即基于C/S模式的IPTV建設(shè)方案和基于技術(shù)的疊加網(wǎng)絡(luò)方案。

  在IPTV中,時(shí)移電視是通過(guò)直播和點(diǎn)播相結(jié)合實(shí)現(xiàn)的,其難點(diǎn)類似于視頻點(diǎn)播。在傳統(tǒng)的視頻點(diǎn)播模式下。每個(gè)用戶與視頻服務(wù)器之間需要建立一個(gè)連接,因此即使是有限個(gè)用戶也會(huì)很快耗盡服務(wù)器的資源。這樣,如何減小服務(wù)器的壓力就成為系統(tǒng)設(shè)計(jì)的關(guān)鍵。對(duì)此業(yè)界已經(jīng)提出了許多流調(diào)度算法,如金字塔算法(Pyramid)[1,2]、摩天大樓(Skyscraper)算法[3]、批處理(Batching)技術(shù)[4]、補(bǔ)丁(Patching)技術(shù)[5~7]及層次組播流合并(hierarchICal multicast stream merging,HMSM)[8]技術(shù)等,已提出的大多數(shù)算法的基本出發(fā)點(diǎn)是采用組播方式,將同一文件的多個(gè)點(diǎn)播合并為一個(gè)組播信道服務(wù)。但這些策略在實(shí)際商業(yè)運(yùn)營(yíng)中卻難以得到實(shí)際使用,其原因?yàn)?,目前整個(gè)網(wǎng)絡(luò)并不支持全網(wǎng)IP組播,且這種節(jié)省資源的策略是以延時(shí)用戶響應(yīng)為代價(jià)的,在商業(yè)運(yùn)營(yíng)中得不償失。參考文獻(xiàn)[3]中提出了采用辦法實(shí)現(xiàn)時(shí)移電視的傳輸策略,但也是基于直播流采用IP組播傳輸?shù)那疤?,并且要求客戶端能夠同時(shí)接收組播流和補(bǔ)丁流。該傳輸策略能夠適用于小型的局域網(wǎng)系統(tǒng),但不適合現(xiàn)有的廣域網(wǎng)絡(luò)。其原因是現(xiàn)有廣域網(wǎng)絡(luò)并不支持全網(wǎng)IP組播,且目前使用最廣泛的ADSL線路帶寬不足以支撐同時(shí)傳輸兩個(gè)流。

  另一方面,在P2P視頻系統(tǒng)中,視頻直播業(yè)務(wù)應(yīng)用比較廣泛,如Cool Streaming、PPlive等,而規(guī)模應(yīng)用的P2P視頻點(diǎn)播系統(tǒng)卻很少見(jiàn),具備時(shí)移電視功能的P2P系統(tǒng)則基本上沒(méi)有見(jiàn)到。但從用戶角度看,真正吸引用戶使用P2P視頻系統(tǒng)的是比賽類節(jié)目,如體育比賽、超女比賽等,而且,用戶對(duì)這類節(jié)目的時(shí)移需求很強(qiáng)烈。比如觀看中突然有事,需要暫停,希望回來(lái)后能不間斷地繼續(xù)觀看,或者某個(gè)精彩鏡頭沒(méi)看清,希望跳回觀看,或者由于有事錯(cuò)過(guò)了已播節(jié)目,希望能夠重新點(diǎn)播觀看等,因此,如果能夠在已有的P2P直播基礎(chǔ)上加入時(shí)移功能,必將受到用戶的極大歡迎。

  以前,IPTV與P2P基本是相互獨(dú)立發(fā)展的,有關(guān)IPTV與P2P結(jié)合的研究文獻(xiàn)不多見(jiàn)。最近,出現(xiàn)了部分有關(guān)IPTV與P2P結(jié)合的研究文獻(xiàn)[8~11],強(qiáng)調(diào)兩者的優(yōu)勢(shì)互補(bǔ),并就如何在技術(shù)層面融合進(jìn)行了探討。

  本文將提出一種采用P2P技術(shù)實(shí)現(xiàn)的時(shí)移電視系統(tǒng),這個(gè)系統(tǒng)不僅利用了P2P技術(shù)分散錄制和存儲(chǔ)直播節(jié)目,而且不需要依賴IP組播技術(shù)進(jìn)行直播,因此能夠解決IPTV系統(tǒng)中時(shí)移電視業(yè)務(wù)建設(shè)成本高、擴(kuò)展性差的問(wèn)題。此外,每個(gè)客戶端在播放節(jié)目的同時(shí),只須錄制和存儲(chǔ)部分節(jié)目片段,并能為其他客戶端提供正在播放的視頻服務(wù)和已存儲(chǔ)的節(jié)目服務(wù),因此本文所提出的系統(tǒng)不僅減少了每個(gè)客戶端的開(kāi)銷,而且可達(dá)到參與者越多,可供資源越多,服務(wù)質(zhì)量也就越好的規(guī)模擴(kuò)展效果。

  2、系統(tǒng)方案

  2.1 系統(tǒng)架構(gòu)

  圖1是基于P2P的時(shí)移電視系統(tǒng)架構(gòu),由圖1可見(jiàn),系統(tǒng)包括一個(gè)分片處理器、一個(gè)媒體定位器以及若干對(duì)等節(jié)點(diǎn)(Peer)。分片處理器對(duì)輸入的直播流進(jìn)行分塊和分段處理,形成媒體分塊和分段。一個(gè)媒體分段包括固定數(shù)量順序編號(hào)的媒體分塊,段的起始和結(jié)束由塊頭中標(biāo)志位標(biāo)識(shí)。媒體分段是系統(tǒng)定位和存儲(chǔ)媒體的基本單位,媒體分塊是系統(tǒng)傳輸媒體的基本單位。對(duì)等節(jié)點(diǎn)可從多個(gè)其他節(jié)點(diǎn)取得分塊數(shù)據(jù)進(jìn)行解碼和播放。為了敘述方便,把播放點(diǎn)附近不斷滾動(dòng)的若干媒體分塊定義為一個(gè)邏輯上的特殊分段——直播分段。

  

  圖1 基于P2P的時(shí)移電視系統(tǒng)架構(gòu)

  媒體定位器管理媒體分段(包括直播分段)在各對(duì)等節(jié)點(diǎn)中的分布情況及確定其是否處于可服務(wù)的狀態(tài),并為對(duì)等節(jié)點(diǎn)提供媒體分段的定位服務(wù)。另外,媒體定位器還從分片處理器接收每個(gè)分段的起始時(shí)間和結(jié)束時(shí)間信息,該信息用于從時(shí)間信息到分段信息的翻譯服務(wù)。比如,某個(gè)節(jié)點(diǎn)需要收看某個(gè)頻道某個(gè)時(shí)刻的節(jié)目,該節(jié)點(diǎn)向媒體定位器請(qǐng)求源節(jié)點(diǎn),媒體定位器可從分段時(shí)間信息中得到對(duì)應(yīng)的分段號(hào),并返回具備該分段服務(wù)能力的源節(jié)點(diǎn)。

  對(duì)等節(jié)點(diǎn)接收到媒體數(shù)據(jù)后可緩存于內(nèi)存和磁盤中。節(jié)點(diǎn)把上下線事件、緩存分段數(shù)據(jù)增減事件以及節(jié)點(diǎn)對(duì)外服務(wù)能力跳變事件都通過(guò)消息上報(bào)給媒體定位器,據(jù)此媒體定位器可精確維護(hù)每個(gè)節(jié)點(diǎn)上的每個(gè)媒體分 段的可服務(wù)狀態(tài)。數(shù)據(jù)傳輸在對(duì)等節(jié)點(diǎn)之間直接進(jìn)行。

  2.2 數(shù)據(jù)封裝

  經(jīng)分片處理器處理后的媒體分塊和分段格式如圖2所示。塊由塊頭和載荷區(qū)兩部分組成,載荷區(qū)中存放按時(shí)間順序排列的音視頻幀,塊頭除了對(duì)這些幀進(jìn)行描述外,還包括頻道號(hào)、段編號(hào)、塊編號(hào)以及段標(biāo)志。段標(biāo)志用于標(biāo)識(shí)該分塊在分段中的位置,可取段開(kāi)始、段中間和段結(jié)束3種值,利用此標(biāo)志,對(duì)等節(jié)點(diǎn)可以方便地從分塊流中進(jìn)行段定界。

  

  圖2 媒體分段和分塊封裝格式

  經(jīng)過(guò)分片處理后,對(duì)等節(jié)點(diǎn)可以從網(wǎng)絡(luò)中多個(gè)節(jié)點(diǎn)取得不同分塊,拼接并恢復(fù)媒體流,因此,節(jié)點(diǎn)可以采用靈活健壯的多源傳輸策略進(jìn)行直播和時(shí)移業(yè)務(wù)傳輸。

  2.3 數(shù)據(jù)分布策略

  本系統(tǒng)中不采用集中的存儲(chǔ)服務(wù)器,所有的媒體分段數(shù)據(jù)都分散存儲(chǔ)于各對(duì)等節(jié)點(diǎn)中。對(duì)等節(jié)點(diǎn)在播放過(guò)程中無(wú)需完整錄制節(jié)目,而只需把取得的媒體分段數(shù)據(jù)以一定的概率隨機(jī)緩存于節(jié)點(diǎn)的三級(jí)緩沖區(qū)中。

  對(duì)等節(jié)點(diǎn)的存儲(chǔ)模型如圖3所示(其中,陰影部分表示該塊已經(jīng)含有數(shù)據(jù),空白塊表示該塊還未有數(shù)據(jù)),分為播放緩沖區(qū)、內(nèi)存緩沖區(qū)和磁盤緩沖區(qū)3 部分,3個(gè)緩沖區(qū)的大小固定。播放緩沖區(qū)中的數(shù)據(jù)是不斷滾動(dòng)變化的,一邊不斷從其他節(jié)點(diǎn)取得,一邊又不斷播放和老化。當(dāng)播放緩沖區(qū)取得了一個(gè)完整分段時(shí),按一定的概率寫(xiě)入內(nèi)存緩沖區(qū)。當(dāng)內(nèi)存緩沖區(qū)存滿時(shí),則從存儲(chǔ)內(nèi)容中選取一個(gè)時(shí)間最早的分段,將其覆蓋,同時(shí)把該被覆蓋的分段以一定的概率置入磁盤緩沖區(qū)。同理,如果磁盤緩沖區(qū)寫(xiě)滿時(shí),則選擇時(shí)間最早的段進(jìn)行覆蓋。

  

  圖3 節(jié)點(diǎn)三級(jí)緩存機(jī)制示意

  通過(guò)以上機(jī)制,可使當(dāng)前的直播分段緩存在播放緩沖區(qū)中,且在全網(wǎng)的拷貝密度最大;已播的最近分段緩存在內(nèi)存緩沖區(qū)中,全網(wǎng)密度次之;較舊的分段則被緩存于磁盤中,這類分段數(shù)量大,但密度最低。上述處理辦法可與用戶一般的業(yè)務(wù)觀看習(xí)慣相一致,即大部分用戶是觀看直播,少部分用戶會(huì)進(jìn)行即時(shí)時(shí)移,只有很少量的用戶會(huì)去觀看已播的電視節(jié)目。另外,這種分布機(jī)制還具有以下效果:

  ●某個(gè)分段看的人多,在網(wǎng)絡(luò)各節(jié)點(diǎn)中被緩存的幾率就大,該分段的拷貝個(gè)數(shù)也就多,從而該分段所提供的服務(wù)能力就越大,因此具備良好的擴(kuò)展性;

  ●單個(gè)節(jié)點(diǎn)只需錄制存儲(chǔ)一小部分節(jié)目片段,就可以在全網(wǎng)協(xié)同存儲(chǔ)完整節(jié)目的足夠多的拷貝,用戶數(shù)量越大,每個(gè)用戶所分擔(dān)的錄制和存儲(chǔ)開(kāi)銷就越小,因此能夠有效地減輕節(jié)點(diǎn)的錄制和存儲(chǔ)負(fù)擔(dān)。

  3、處理流程

  下面給出時(shí)移電視的4個(gè)主要用戶使用場(chǎng)景的業(yè)務(wù)處理流程的簡(jiǎn)要描述。

  

  圖4 業(yè)務(wù)流程示意

  (1)直播播放流程

  如圖4(a)所示,節(jié)點(diǎn)A首先向媒體定位器查詢頻道P直播分段的源,定位器返回節(jié)點(diǎn)B、C和D,節(jié)點(diǎn)A與B、C和D建立連接,傳輸數(shù)據(jù)并解碼播放。

  (2)直播轉(zhuǎn)時(shí)移

  如圖4(b)所示,節(jié)點(diǎn)A正在播放頻道P,現(xiàn)在用戶要求跳回到時(shí)刻T播放,直播轉(zhuǎn)時(shí)移的過(guò)程如下:

  ●節(jié)點(diǎn)A向定位器請(qǐng)求頻道P時(shí)刻T的媒體分段源節(jié)點(diǎn),定位器返回節(jié)點(diǎn)C和D;

  ●節(jié)點(diǎn)A停止直播分段數(shù)據(jù)的傳輸,轉(zhuǎn)而與C和D建立連接并請(qǐng)求數(shù)據(jù),從時(shí)刻T進(jìn)行播放;

  ●一個(gè)分段播放結(jié)束后,進(jìn)入下一個(gè)分段的播放,需要重新向定位器查詢下一分段的源節(jié)點(diǎn)。

  (3)時(shí)移轉(zhuǎn)直播

  節(jié)點(diǎn)A正在進(jìn)行時(shí)移播放,用戶要求切回直播,同樣需要向定位器查詢直播分段所在的源,然后切斷時(shí)移分段傳輸,開(kāi)始直播分段數(shù)據(jù)傳輸。

  (4)電視回看

  用戶通過(guò)網(wǎng)頁(yè)菜單直接選擇播放已播的頻道P時(shí)刻T的節(jié)目,其原理與(2)中的時(shí)移播放類似。

  4、實(shí)驗(yàn)結(jié)果

  為了驗(yàn)證方案的可行性,在局域網(wǎng)中搭建了一個(gè)節(jié)點(diǎn)數(shù)為20的系統(tǒng),系統(tǒng)參數(shù)如下:

  ●碼流:800 kbit/s、MPEG4、25 Mbyte/分段、64 Kbyte/分塊、1路頻道;

  ●節(jié)點(diǎn):30 Mbyte播放緩沖區(qū)、100 Mbyte內(nèi)存緩沖區(qū)、1000 Mbyte磁盤緩沖區(qū),從播放緩沖區(qū)轉(zhuǎn)存到內(nèi)存緩存的概率取為10%,從內(nèi)存緩存轉(zhuǎn)存到磁盤的概率取為20%。

  對(duì)上述系統(tǒng)進(jìn)行了測(cè)試,實(shí)驗(yàn)結(jié)果如下:

  ●20個(gè)用戶同時(shí)直播,能夠正常播放,畫(huà)面流暢;

  ●時(shí)移到直播切換延時(shí)為0.5 s,直播切換到時(shí)移的延時(shí)為0.5 s;

  ●直播啟動(dòng)延時(shí)為0.5 s;

  ●即時(shí)時(shí)移可支持0.5 h,在20個(gè)用戶同時(shí)時(shí)移時(shí),也能夠達(dá)到平滑切換;

  ●20個(gè)用戶同時(shí)在線運(yùn)行1 h后,每個(gè)用戶即可以以菜單方式回看已播電視。

  5、結(jié)束語(yǔ)

  本文提出了一種基于P2P技術(shù)的時(shí)移電視解決方案,該方案充分利用了客戶端資源,因此無(wú)需專用視頻服務(wù)器即可實(shí)現(xiàn)時(shí)移電視業(yè)務(wù),從而解決了IPTV時(shí)移電視系統(tǒng)中建設(shè)成本高、擴(kuò)展性差的問(wèn)題。實(shí)驗(yàn)驗(yàn)證表明,本文提出的方案具備優(yōu)越的用戶體驗(yàn)質(zhì)量和良好的規(guī)模擴(kuò)展性。

p2p機(jī)相關(guān)文章:p2p原理




關(guān)鍵詞: P2P

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉