摘 要 IPTV系統是目前寬帶網絡技術的前沿應用,EPG提供IPTV系統和用戶交互的首要界面,是系統的核心模塊之一。當前數字電視中EPG的常用設計方法不適合用來設計IPTV中的EPG。根據IPTV系統的自身特點,本文介紹了一種EPG模塊的設計和實現方法。
關鍵詞 IPTV;EPG;機頂盒;MVC
1 引 言
IPTV即網絡電視,是目前一種新興的網絡應用,它利用寬帶互聯網的基礎設施,以家用電視機作為主要終端,通過互聯網協議(IP)來提供包括電視節目在內的多種數字媒體服務及其增值業務的技術。IPTV最大的優勢在于“互動性”和“按需觀看”,徹底改變了傳統電視單向廣播的特點[1]。它的出現極大的滿足了用戶(文中的用戶是指安裝了IPTV客戶端的消費者,客戶是指IPTV服務提供商和運營商)對在線影視欣賞的需求。IPTV的發展十分迅速,國際上,UT斯達康、微軟、西門子、阿爾卡特、惠普等,國內的華為、中興和盛大等廠家都投入了IPTV的開發和研究。國外早已有IPTV的商業運營系統,英國Video Networks公司早在1999年就推出了IPTV業務。國內截至目前,首個IPTV已在上海投入商業應用,并且中國電信已在五省市進行IPTV試點,IPTV在國內和國際都有廣闊的發展前景。
為了提供“互動性”和“按需觀看”,系統需要提供和用戶交互的界面,供用戶瀏覽系統提供的節目信息并選擇要欣賞的節目。在IPTV系統中由EPG(Electronic Program Guide電子程序向導)服務器提供這套界面。EPG是一個當前和將來節目信息的交互式節目安排表,用戶通過操作遙控器進行瀏覽[2]。EPG模塊在整個IPTV系統中是至關重要的,它是整個IPTV系統的門戶。EPG給用戶提供一個容易使用的、界面友好的、可以快速訪問節目的一種方式。因此,用戶對IPTV整個系統的評價在很大程度上取決于EPG。提供簡單易用、快速、穩定、美觀的交互界面是EPG的首要目標。
2 IPTV的系統結構模型
圖1是一個IPTV系統結構模型,此模型已在國內一些城市得到實際應用。在此模型結構圖中,整個IPTV系統分為兩大部分:后臺部分和用戶接入部分。后臺部分主要提供媒體內容的管理、用戶管理、整個系統的服務器管理、用戶認證和計費管理等等。用戶接入部分為用戶提供視頻服務和其他服務,根據城市規模大小可分為多個區域,每一區域主要有區域媒體基站和EPG服務器。用戶使用機頂盒[3] [4] [5]加電視或者PC作為終端,通過ADSL或小區寬帶收看系統存儲的節目或者直播電視節目。機頂盒是一臺功能簡單的計算機,有CPU、內存、網絡連接設備、解碼器等硬件及操作系統和應用程序等軟件,接收通過寬帶IP網絡傳輸過來的視頻信號,信號經過處理后在電視機上顯示出來。用戶通過操縱遙控器使用機頂盒提供的功能。
用戶被劃分為多個區域,每個區域分別部署多個區域媒體服務器和EPG服務器,用戶的視頻服務和交互界面由用戶所在區域的媒體服務器和EPG服務器提供。這種部署方式具有容易擴充的特點,適合大規模部署。增加一個區域只須增加區域媒體基站和EPG服務器,對后臺部分和其它區域不會造成影響。同時,用戶的大部分數據流量都集中在自己所在區域,減輕了主干網的負擔,而且單個區域系統的崩潰不會影響其它區域。
系統工作過程大致如下:①媒體源經過媒體處理模塊處理成系統所定義的格式,存儲在主媒體基站上,并由后臺的媒體分發管理模塊負責如何將這些節目分發到下面的每一個區域中的媒體基站中。②同時有關節目的信息也被下發到EPG服務器中,供EPG顯示給用戶。③用戶開機經過后臺認證后登錄到EPG服務器上,開始瀏覽系統的節目信息。④當用戶選擇一個節目觀看后,EPG將有關節目信息和用戶的信息發送到后臺部分,由后臺的用戶管理部分判斷用戶是否能夠欣賞節目,如果可以,用戶的機頂盒則向本區域的媒體基站發送播放節目的請求。⑤播放完畢,機頂盒向后臺發送扣除相應收費的請求,同時重新定向到EPG服務器,用戶可以繼續瀏覽節目和欣賞節目。
考慮到目前IPTV在國內還處于發展階段,一個區域的用戶不是很多。目前系統設計為一個區域支持最多3000用戶,在同一時刻訪問EPG服務器的用戶數不超過500。當用戶數量增多時,可以使用EPG服務器集群。在圖1中,每個區域都部署了一個主EPG服務器,為了系統的穩定性,同時也部署了一個備用的EPG服務器。
3 EPG模塊的設計
從IPTV系統在中國的部署應用看,EPG模塊是整個系統中需求變化最大、最快的模塊,而且是直接展示給客戶的模塊,很大程度上決定客戶是否采用我們的系統。模塊在整體框架設計時,主要考慮以下原則:
(1) 結構清晰,開發快速。客戶的需求變化是很快的,在設計時,首先要考慮能夠在最短的時間內按照客戶的要求開發出新界面,結構清晰的設計有利于快速開發。
(2) 維護方便。能夠讓客戶在對EPG代碼和實現不是很了解的情況下改動EPG的某些代碼或修改一些配置,而不會影響EPG的運行。
(3) 方便客戶定制。客戶可能要求自己制作EPG。因此,設計時要考慮到能夠快速、簡單地使客戶明白EPG的制作過程,在較短時間內掌握制作EPG。
(4) 性能滿足設計要求。要滿足設計時的性能要求,主要考慮服務器優化,數據庫的優化。
(5) 界面簡單美觀,有良好的可擴展性和開放性。容易支持新的業務,能夠兼容不同廠家的機頂盒。
EPG實現主要有兩種方案選擇,本地應用方案和交互式實現方案 [7]。目前國內和國外的EPG設計基本上是針對數字電視的,其EPG實現一般采用本地應用方案。本地方案對機頂盒的硬件要求較高,而且在和用戶的交互性方面做的不是很好。IPTV是一種和用戶有高度交互性的系統,設計和實現適合采用第二種方案。
此模型中EPG實現選擇交互式方案,采用由EPG服務器給機頂盒提供HTML頁面的實現方式。將系統的節目信息存儲在數據庫中,服務器從數據庫中檢索節目信息,以HTML頁面的形式提供給機頂盒,機頂盒解析頁面后呈現給用戶。這樣,對PC用戶來說,用戶端自帶的瀏覽器即可瀏覽。對使用機頂盒的用戶來說,需要機頂盒實現能夠解析HTML頁面的功能。
在本文中,著重針對機頂盒的EPG設計 ,具體實現采用Linux+Apache+MySQL+PHP,程序的整個框架設計基于MVC模式的思想。
本文來源:http://www.nvnqwx.com/shiyongwen/2273757.htm