??? 摘 要: 針對互聯(lián)網(wǎng)流媒體" title="流媒體">流媒體視頻點播" title="視頻點播">視頻點播傳輸帶寬問題,,對數(shù)字廣播協(xié)議原理和多協(xié)議封裝技術做了簡單介紹,提出了一種基于IP OVER DVB傳輸模式" title="傳輸模式">傳輸模式互聯(lián)網(wǎng)-廣播網(wǎng)雙結構流媒體視頻點播系統(tǒng)的設計方案,,并給出了一種Web網(wǎng)頁視頻點播應用具體實現(xiàn)方法,;該系統(tǒng)綜合了互聯(lián)網(wǎng)和廣播網(wǎng)的網(wǎng)絡特性,具有雙向交互,、穩(wěn)定可靠,,不受用戶規(guī)模限制等諸多優(yōu)點。
??? 關鍵詞: 流媒體? 視頻點播? DVB協(xié)議? 多協(xié)議封裝? IP OVER DVB
?
??? 流媒體是網(wǎng)絡和數(shù)字媒體技術相融合的產物,。多媒體數(shù)據(jù)在傳輸前先經(jīng)過編碼器壓縮成碼流,,用戶可以通過網(wǎng)絡或者特定數(shù)字信道接收數(shù)據(jù)并實時解碼播放。這種壓縮傳輸,、邊下載邊播放的工作方式既可以減少對網(wǎng)絡資源的帶寬占用,,又能為用戶提供實時同步的視頻服務。如今流媒體技術已廣泛用于新聞出版,、電子商務,、視頻會議、遠程教育等互聯(lián)網(wǎng)信息服務領域,。
??? 即便如此,,目前互聯(lián)網(wǎng)的網(wǎng)絡狀況也很難支持大用戶規(guī)模、穩(wěn)定可靠的,、高品質的視頻服務,。因互聯(lián)網(wǎng)遵循的是“端對端”的原則,網(wǎng)民規(guī)模難以擺脫帶寬限制,;它的網(wǎng)絡層只提供“盡力而為之”的服務,,規(guī)模越大,可靠性與安全性越?jīng)]有保證,,而流媒體采用邊下載邊播放的工作方式,,要求有較穩(wěn)定的帶寬環(huán)境;雖然多媒體文件在傳輸前經(jīng)過壓縮,,但是相對文字和圖片,,容量仍然比較大,,因此服務器端仍然需要承擔大量數(shù)據(jù)的傳輸,況且互聯(lián)網(wǎng)路由復雜,,往往從視頻源到接收端要經(jīng)過路由轉接跳數(shù)多達十幾個,,對整個傳輸網(wǎng)絡也有不小的負擔。通?;ヂ?lián)網(wǎng)站只能支持視頻直播的碼流在600kbps左右,,難以達到滿意的視聽效果,在很大程度上限制了流媒體應用的發(fā)展和普及,。
??? 與此相反,,覆蓋全國的廣播網(wǎng),由于采用廣播方式播送,,其數(shù)據(jù)通過衛(wèi)星傳輸或者有線網(wǎng)傳輸直接入戶,,中途沒有路由轉接,沒有信道擁堵,,不僅能保證穩(wěn)定的視頻碼流,,而且不受用戶數(shù)量限制。由此可見,,互聯(lián)網(wǎng)與廣播網(wǎng)具有很強的互補性,。隨著廣播網(wǎng)的數(shù)字化,通過數(shù)字廣播協(xié)議封裝IP協(xié)議數(shù)據(jù)技術可以實現(xiàn)互聯(lián)網(wǎng)-廣播網(wǎng)雙網(wǎng)互聯(lián),,為構建互聯(lián)網(wǎng)-廣播網(wǎng)雙結構網(wǎng)絡開展流媒體視頻點播應用提供了平臺支持,。本文主要討論在互聯(lián)網(wǎng)-廣播網(wǎng)雙結構網(wǎng)絡基礎上,基于IP over DVB傳輸模式,,構建流媒體視頻點播平臺的設計方案和實現(xiàn)方法,。
1 數(shù)字視頻廣播協(xié)議和網(wǎng)絡拓撲結構
1.1 數(shù)據(jù)視頻廣播
??? 數(shù)字視頻廣播DVB(Digital Video Broadcasting)簡稱數(shù)字廣播,是由歐洲電信聯(lián)盟(ETSI)制定的基于MPEG-2的國際標準傳輸技術,信源編碼和系統(tǒng)復用部分都遵循MPEG-2國際標準,,信道編碼部分則根據(jù)信道不同而有衛(wèi)星傳輸(DVB-S),、有線傳輸(DVB-C" title="DVB-C">DVB-C)、地面開路廣播(DVB-T)等,。我國已經(jīng)將DVB-S作為衛(wèi)星數(shù)字電視標準,,而DVB-C也已經(jīng)成為我國現(xiàn)行數(shù)字電視的“行業(yè)標準”。下面對有線網(wǎng)(HFC網(wǎng))數(shù)字廣播網(wǎng)進行說明,,它利用現(xiàn)有的CATV網(wǎng)絡進行傳輸,,一個原來8MHz帶寬模擬頻道,采用DVB-C傳輸技術,,利用64QAM調制傳輸數(shù)字信號,,傳輸速率可以達到42Mbps,擴充了傳輸帶寬,在不影響傳統(tǒng)模擬電視傳輸?shù)耐瑫r,,能夠同時開展數(shù)字電視,、高速數(shù)據(jù)傳輸,、VOD等應用,。數(shù)字廣播能夠以很高的速度將文本、圖形,、視頻,、音頻、數(shù)據(jù)等傳輸?shù)絇C,、機頂盒等智能設備,,這種數(shù)據(jù)傳播方式不僅信源豐富,傳播廣泛,,而且還避免了信道擁堵,、不能保存等不足,。圖1給出了有線網(wǎng)數(shù)字廣播網(wǎng)絡拓撲結構,。
??? 前端的數(shù)據(jù)可以是本地服務器的文件,也可以是來自互聯(lián)網(wǎng)的IP數(shù)據(jù)包,。DVB網(wǎng)關偵聽網(wǎng)上的IP數(shù)據(jù)包,,按照DVB的標準將IP數(shù)據(jù)包封裝成MPEG-2傳輸流,通過復用器與其他TS流(如數(shù)字電視TS流)進行復用。復用后的TS流調制到某個模擬頻道并與其他模擬節(jié)目混合在一起通過有線網(wǎng)絡進行傳輸,。在接收端,,用戶通過安裝在個人電腦上的DVB數(shù)據(jù)接收卡" title="接收卡">接收卡或者機頂盒將來自有線電視網(wǎng)中符合DVB-C標準的有線電視信號進行解調、糾錯,、解擾,、解復用等處理,最后將數(shù)據(jù)存儲到PC上或者直接在電視上播出,。
1.2 多協(xié)議封裝-IP OVER DVB傳輸模式
??? 針對不同的應用類型,,DVB定義了以下六種方式:數(shù)據(jù)管道、數(shù)據(jù)流,、多協(xié)議封裝,、數(shù)據(jù)傳送帶、對象傳送帶,、用戶自定義的服務,。圖2為DVB數(shù)字廣播協(xié)議結構,。
??? 協(xié)議封裝提供了在MPEG-2 TS流之上傳送IP協(xié)議數(shù)據(jù)的一種機制即IP over DVB傳輸模式。由圖2可見,,通過IP over DVB傳輸模式,,應用層的IP數(shù)據(jù)包最終被封裝成MPEG-2傳輸流,。其中,,傳輸流的包長為固定的188B,,包含TS頭,、適配域和凈荷數(shù)據(jù)。TS頭由同步字節(jié),、標志位,、指示位、PID加上其他諸如糾錯的定時等信息組成,。其中PID用于區(qū)別不同的流和不同的節(jié)目特定信息(PSI),。圖3為MPEG-2 TS流數(shù)據(jù)包結構。
?
2 雙結構視頻點播系統(tǒng)設計方案
2.1總體設計思想
??? 在視頻發(fā)送端和接收端間建立互聯(lián)網(wǎng)-廣播網(wǎng)兩種網(wǎng)絡連接,,形成一個通信的閉環(huán)?;ヂ?lián)網(wǎng)負責信息交互和傳輸控制,而大容量的視頻內容通過數(shù)字廣播通道單向傳輸,。這樣既秉承了互聯(lián)網(wǎng)的交互特性,,也保證了視頻傳輸?shù)目煽啃院桶踩?,即使是視頻直播,也不受接收用戶數(shù)量的影響,;在廣播接收終端,,PC機通過鏡像存儲,把瞬態(tài)存在的廣播數(shù)據(jù)流變成可以本地點播觀看的視頻資源;機頂盒也可把收到的視頻內容寫入終端存儲器,。這樣信道只需傳輸新鮮內容或差分內容,進一步提高了廣播通道的使用效率,,最終實現(xiàn)不受用戶規(guī)模限制、可雙向交互,、穩(wěn)定可靠的高品質視頻點播服務,。圖4為互聯(lián)網(wǎng)-廣播網(wǎng)雙結構流媒體視頻點播網(wǎng)絡拓撲結構,。
?
??? 互聯(lián)網(wǎng)前端視頻播出系統(tǒng)主要由Web網(wǎng)頁服務器,、視頻服務器、節(jié)目采集系統(tǒng),、視頻節(jié)目庫組成,,所有數(shù)據(jù)經(jīng)由互聯(lián)網(wǎng)傳輸,如圖4所示,。雙結構前端視頻點播系統(tǒng)構架與互聯(lián)網(wǎng)視頻播出系統(tǒng)構架基本一致,只需將視頻服務器視頻數(shù)據(jù)傳輸路徑設置為數(shù)字廣播即可,。
2.2 IP over DVB傳輸模式和透明傳輸
??? 前端視頻播出系統(tǒng)發(fā)送的IP數(shù)據(jù)被封裝成DVB協(xié)議的TS流,,通過數(shù)據(jù)廣播網(wǎng)絡傳輸,接收端采用PC機中的DVB-C接收卡或TV的DVB-C機頂盒的寬帶接入方式,,可將來自廣播網(wǎng)中的視頻數(shù)據(jù)送入PC機或DVB-C機頂盒中,,并最終還原成TCP/IP協(xié)議數(shù)據(jù),以IP數(shù)據(jù)包的形式提交給上層應用程序,,DVB-C接收卡的協(xié)議層模型如圖5所示,。
?
??? 由于采用IP over DVB傳輸模式,屏蔽了互聯(lián)網(wǎng)和廣播網(wǎng)網(wǎng)絡傳輸差異,。用戶在使用計算機系統(tǒng)時,,無需感知應用程序和信息資源的具體所在,只要用戶提出要求,,就可以得到相應的信息,,實現(xiàn)“跨網(wǎng)”的透明傳輸。
2.3 基于COM組件的網(wǎng)頁視頻點播功能實現(xiàn)方法
??? COM組件是遵循COM規(guī)范編寫,、以Win32動態(tài)鏈接庫(DLL)或可執(zhí)行文件(EXE)形式發(fā)布的可執(zhí)行二進制代碼, COM組件在應用開發(fā)方面具有以下特點:
??? (1)同一COM組件可以在不同的應用環(huán)境中重復使用,。COM組件不一定是為專門的系統(tǒng)而設計,可以有較寬的應用領域,不會因為某一系統(tǒng)的“過時”而被“廢棄”,。
??? (2)COM組件之間彼此獨立。應用則被看成COM 組件集合,。當應用需求發(fā)生變更時,可能需要更換中間層的個別COM組件,但這并不會影響其他組件的繼續(xù)使用,。
??? (3)COM組件具有若干對外接口(屬性和方法),根據(jù)不同的應用需求,可以有選擇地使用不同的方法,調用方無需了解組件內部具體實現(xiàn),。
??? (4)COM組件既可以被嵌入動態(tài)Web頁面,又可以在VB和VC等開發(fā)環(huán)境中使用,。
??? 因此,COM組件非常適合于Internet中的各種事務處理,。筆者采用Window Media Player插件作為網(wǎng)頁播放器,將DVB-C接收卡COM組件嵌入到Web頁面中,,用戶訪問該頁面時將下載該組件并自動在本地注冊,,腳本描述語言(Script)可以通過調用方法(Method)與DVB-C接收卡COM組件進行通信,,無需了解DVB-C接收卡具體工作過程。圖6為視頻點播網(wǎng)頁腳本工作流程圖,。
??? DVB-C接收卡COM組件對外接口的調用方法定義為:DVBCtl.SetMsg(ULONG DVBMsg),。其中,DVBCtl為COM組件類對象名稱,;SetMsg(ULONG DVBMsg)為調用方法名稱,;ULONG DVBMsg 為IE網(wǎng)頁腳本向COM組件DVBCtl. COM傳遞的字符串參數(shù),,包括頻道,、PID,、符號率,、QAM調制方式信息。
??? 利用面向對象的可視化開發(fā)工具Microsoft Visual C++可以很便捷地開發(fā)DVB-C接收卡COM組件,而DVB-C接收卡功能的具體實現(xiàn)則被封裝在COM組件中。DVB-C接收卡COM組件內部的主要功能函數(shù)定義為:
??? ·void OnNcOpen();//打開DVB-C卡
??? ·void OnNcClose();//關閉DVB-C卡
??? ·void OnNcTune(ULONG Channel,ULONG Sym,ULONG Qam);//設置DVB-C卡參數(shù)(通道,、符號率,、調制方式)
??? ·void OnNcQuerystatus();//DVB-C卡狀態(tài)查詢
??? ·void OnNcAddpid(ULONG Pid);//添加PID
??? ·void OnNcDelpid(ULONG Pid);//刪除PID
??? ·void OnSaveToFile(ULONG Filename);//讀數(shù)據(jù)并將TS流轉換成IP數(shù)據(jù)文件,。
??? 圖7為DVB-C接收卡COM組件內部控制流程圖,。
??? 該方案充分考慮到互聯(lián)網(wǎng)和數(shù)字廣播網(wǎng)的特點,取長補短,,在不對現(xiàn)有互聯(lián)網(wǎng)流媒體視頻點播軟件系統(tǒng)作大調整的基礎上,,同時有效利用豐富的廣播網(wǎng)絡帶寬和用戶資源,,建立一套不受用戶規(guī)模限制,、可雙向交互,、穩(wěn)定可靠的高品質視頻點播系統(tǒng),,為我國企業(yè)流媒體視頻應用提供了一種經(jīng)濟有效的技術方案,。
互聯(lián)網(wǎng)和數(shù)字廣播網(wǎng)各有特點、互有長短,,兩者之間的區(qū)別比較如表1所示。
?
??? 如果能發(fā)揮兩網(wǎng)各自優(yōu)勢,、取長補短,,當用戶提出內容需求時,,信息資源將自動以最低成本的方式到達用戶端,,而用戶無需感知信息資源是來自何種網(wǎng)絡,,實現(xiàn)“跨網(wǎng)”透明操作,將有助于實現(xiàn)互聯(lián)網(wǎng),、廣播網(wǎng)等多種網(wǎng)絡的真正融合。
參考文獻
[1] ?EN301192V1.2.1.Digital Video Broadcasting(DVB).DVB specification for data broad casting[S].1999-06.
[2]? Information technology-ceneric coding of moving pictures and associated audio information-Part6:Extension for Digital Storage Media Command and Control(DSM-CC)-International Standard(IS)[S].ISO/IEC13818-6.
[3]? Digital Video Broad casting(DVB)[S].Network-independent ?protocols for DVB interactives revices,ETS300802-1997.
[4]? ETSI standard EN 300 421-1998, Digital Video Broadcasting(DVB),Framing structure, channel coding and modulation for cable systems.
[5]? 馬衛(wèi)東,李幼平,,袁宏春. IP 0ver DVB技術及其應用[J].微電子學與計算機,2001,(5).
[6]? 陳彪,石旭剛,朱廣信.基于IP/DVB-C的HFC網(wǎng)高速數(shù)據(jù)廣播系統(tǒng)[J].電視技術,2002,(7).
[7]? 周志,王貽良.DVB數(shù)據(jù)廣播標準及實現(xiàn)[J].電視技術,,2000,(5).
[8]? STEVENS W R.TCP/IP詳解(卷1,,協(xié)議)[M].北京:機械工業(yè)出版社,, 2001.
[9]? 鐘玉琢,白哲,沈洪.流媒體和視頻服務器[M].北京:清華大學出版社,2003.
[10]? [美]MACK S著, 刑栩嘉譯.流媒體寶典[M].北京:電子工業(yè)出版社,2003.
[11]? DAVID J K著.潘愛民,王國印譯. Inside Visual C++ 4th Edition [M].北京:清華大學出版社,2001.
[12]? 黃維通. Visual C++面向對象與可視化程序設計[M].北京:清華大學出版社, 2003.