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