饒 敏,鄭 斌,張治中
(重慶郵電大學通信網測試技術重點實驗室,重慶 400065)
流媒體傳輸技術是IPTV的核心技術。在流式技術中,主要有3個核心技術:流媒體的編解碼[1-2],傳輸以及數字流媒體的版權技術。如何通過IP網絡來傳輸流媒體數據便是IPTV的技術基礎,IPTV的廣泛應用也是依靠流式技術的不斷前進而獲得的。
結合目前我國的IPTV業務部署,一般IPTV系統框架可劃分為系統支持層、承載網絡層、流媒體傳輸層和業務服務層,如圖1所示。IPTV視頻點播,是IPTV業務中最具特色的一項,簡單說就是利用現有的IP網絡,把用戶家中的機頂盒作為接收器,PC或電視機作為顯示終端的電視系統,從而實現用戶隨意觀看電視節目。
直播電視這類服務業務有點類似于現在看的衛星電視或者傳統的有線電視,IPTV通過自身單播或者組播的傳遞方法,根據不同情況從而完成電視的播放,這種播放方式的音視頻信號也是通過IP網絡來傳輸的。
目前來說,所設計的點播服務器大致可分為3個部分,分別是核心模塊、配置模塊、Web模塊。

圖1 IPTV系統框架
核心模塊:參照apache提供的腳本[3],根據自身的需要修改成符合需求的代碼,其中擴展了對http protocol的解析,替換了用戶的authentic module接口函數,采用自己設計的認證模塊;更改了整個請求記錄,并且生成日志的功能,以此作為用戶點播的記錄;更改了apache的record功能,作為記錄用戶是否在線、用戶信息查詢的接口;精簡模塊、簡化流程、修改讀取模式以及讀取效率。
配置模塊:對當前所有資源進行配置,對核心服務器、外部流媒體服務提供狀態統計、查詢以及軟件接口的配置。
Web模塊:主要用于對服務器的參數、服務器系統管理進行配置和接口的對接,并可對正在點播的用戶信息進行查詢。不僅如此,還可以通過Web模塊對core模塊進行遠程的重啟、停止等,還可遠程查看系統CPU、內存、磁盤、節目列表等一系列系統資源的情況。
該點播服務器通過Http File Server提供下載,在這種情況下,不管是何種格式的文件,都是以數據的形式存在,所以服務器都可以提供下載
在終端,通過Http Get的方法下載文件,這樣所有的選擇權全部由終端用戶掌握。
終端去考慮流媒體文件中音視頻的解復用工作,從而使服務器端的運算壓力減小。
考慮到目前IPTV技術以及當前的網絡狀況,對點播服務器的硬件部署采取“邊緣負載+中心服務”。
中心負載:中心負載的設計采用了一種組合方式(磁盤存儲+集群負載)。這兩者之前通過目前相對流行的SAN MODLE連接,保證了兩者之間數據的進出效率。
邊緣負載:對于IPTV視頻點播來說,最終要做到的是把流媒體數據傳輸到用戶的顯示終端上(目前采用端到端方式)。而由于當前網絡帶寬的限制,還不能徹底保證中心集群的服務帶寬能夠滿足所有用戶的需要,所以根據統計原理,設計了一個有效的辦法,即邊緣化。這樣就能使相對距離較遠的用戶可以享受到分布在自己周邊的邊緣服務器的服務,不僅可以使網絡的物理狀態達到最好,而且還可以給用戶帶來最優的體驗,而最優體驗正是IPTV服務中的一個重要指標。
根據以上的想法,在實現時使用了分組模式和資源分布模式。
分組模式:任何一個用戶分組,均可以對應一個、兩個或者多個分散在用戶分組周圍的服務器,整個分組的數據調配由負載均衡器來完成,并且是實時調配,其模式設定為先處理用戶量相對較少的邊緣負載,然后再去響應用戶數較多的中心負載。
資源分布模式:將所有的媒體資源全部存儲在中心服務器上,而邊緣服務器則存儲用戶點播較多的節目,從中心到邊緣,采取自適應的調配方式,如果系統發覺某些節目的被點播數逐漸增多,則會自動將這些節目根據實際點播方位,發送到與其距離最近的邊緣負載上,這樣就可以減少中央負載的訪問量,從而減少網絡的壓力。
通過實際的考慮與分析,歸納出了3種方法來對所設計出的點播系統進行測試:
1)直接用運營商提供的機頂盒來點播視頻節目。
2)首先,通過真實的機頂盒來播放運營商提供的視頻節目,然后采用自己設計的模擬軟件來仿真許多客戶同一時間在線進行視頻的點播,經過實際的測試得出了以下結論,即用仿真軟件與實際采用機頂盒在相等數量的用戶連接訪問服務器時,訪問其存儲設備的I/O口的數量與圖形大體一致,這樣就可以說明仿真軟件的仿真結果與真實的用戶進行訪問的效果一致。
3)當服務器工作在全功率的時候,采用仿真軟件來仿真這個過程,即連續多天不間斷地進行視頻的在線點播。
經過實際的測試,表1為測試結果的對比與分析。

表1 用戶數不同時服務器使用情況
IPTV中能夠將正在播放的節目進行前進與倒退,能夠讓觀看直播節目突破時間相對固定的概念,從而觀看到之前已經播出的電視節目,這樣的視頻服務是IPTV中的一個重要業務[4],通常將其稱為直播時移業務。直播網絡示意圖見圖2。

圖2 IPTV直播網絡圖
3.1.1 直播節目信號的接收與采集
在國內,IPTV業務主要由移動運營商提供,而直播的電視節目則主要由國家廣電部門提供,也就是說,在接收直播節目時,主要還是以衛星發送的數字信號為主要的信號源,這就需要有專業的衛星信號接收裝置以及相對應的設備,譬如說天線等。然后用衛星信號接收裝置來處理所接收到的數據,并將其轉換為TS數據流、模擬信號等。之后,這些信號或者數據流會通過ASI傳送給IPTV的編碼設備,編碼設備會根據目前IPTV系統、終端設備所支持的方式進行編碼并傳送,最后將視頻節目送給終端用戶[5-6]。
在這里,為了能使編碼設備的編碼方式為H.264,當前只考慮了3種方式:
2)直接采用硬件完成采集和編碼的工作
3)多路節目信號集中分段處理后進行軟件編碼,從而達到多路節目統一編碼的高效方式。
綜合實際情況考慮,目前決定采用第2種方式進行視頻信號的編碼,將視頻的采集與編碼統一在一張卡中,在該卡中使用數字信號處理器進行編碼,從而達到H.264的高效編碼效果,這是一種非常理想的方式。
3.1.2 直播系統軟件設計
所謂軟件設計就是一個服務系統,可以實現各個節目的轉發、單播、組播等。在國際上,目前已經有一些服務器提供直播的服務,但是這些服務器都是開發方自己設計的流媒體編解碼協議,對于比較通用的MPEG-2或者TS,從支持的角度上來講有些牽強。
這樣,根據實際情況以及整個業務的實際需求,對現有的系統進了研究、分析、整理,并開發了一套擁有自主知識產權的軟件,主要采用的協議是TS和MPEG-2。
時移系統主要可分為兩個部分,即選單和頻道時移。
1)選單時移
當用戶獲取了當地運營商提供的相應節目表單時,可以通過點擊表單中所提供的節目列表觀看已錄制在服務器上的節目,這些節目多數為當前時刻之前電臺所播放的節目。
2)頻道時移
簡單的說就是讓用戶可以觀看當前頻道在十分鐘前或者更早前所播出的節目。
對于錄播系統,通過接收正在網絡上傳播的媒體流,將其錄制下來并存放在相應的錄播服務器上,并且根據錄制時的時間將所錄制的節目在時間上進行標記與劃分,方便之后用戶根據時間查找索引來查找自己想要觀看的節目。
對于直播系統,可以為用戶提供短暫的倒退觀看服務,直播服務器會對當前播放的節目進行短暫的錄制,當用戶有進行回放的需求時,直播服務器就會先執行倒退緩沖的功能來滿足用戶的需求,當直播服務器所短暫錄制的節目無法滿足用戶請求的時間量時,那么直播服務器就會自動尋找錄制該節目的錄播服務器,通過將用戶從直播服務器轉到錄播服務器來滿足用戶的請求[7-8]。
按照平均1 Mbit/s的帶寬來算,可以計算出一個頻道如果緩沖30 min,則大約要有230 Mbyte的內存空間,假如是10個,則大概要有2.3 Gbyte的內存空間,如果按照這種方式計算并結合實際情況,可以把10個頻道部署在一臺服務器上,那么50頻道就需要最多5臺服務器,這樣的前期成本的投入也是在理想的范圍之內。
經過多次的實驗,相信通過基于HTTP協議來傳輸媒體流是個好方法,同時運用目前最為流行的H.264編碼技術,使系統有很多獨特的優點,例如:節省網絡資源,穩定可靠,通用性強等。
首先介紹了一些關于IPTV的基本概念,然后根據近段時間來研發的項目,有針對性地闡述了整個系統以及相關部分的設計,而且通過了實際的驗證??偟膩碇v,所研發的這套系統無論是對直播還是點播系統都可以進行商業運用。
[1]肖磊.流媒體技術與應用大全[M].重慶:重慶大學出版社,2003.
[2]閆江紅,劉峰.H.264分級編碼在流媒體系統中的應用[J].電視技術,2007,31(12):61-61.
[3]3GPP TS 23.228 V7.7.0(2007-03),IP multimedia subsystem(IMS);stage 2[S].2007.
[4]袁小紅.多媒體技術及應用[M].北京:高等教育出版社,2004.
[5]歐建平,婁生強.網絡與多媒體通信技術[M].北京:人民郵電出版社,2002.
[6]李銳.IPTV承載網技術分析[J].黑龍江科技信息,2008(1):5.
[7]季偉.IPTV關鍵技術及應用[M].北京:機械工業出版社,2007.
[8]馮博,應群.網絡視頻流媒體技術與應用[M].北京:清華大學出版社,2005.