蔣東云
摘 要:IPTV對于實現媒體提供者和媒體消費者互動有著很大的價值,而且還可以配置多種功能來完成用戶的選擇,實現娛樂、教育及商務功能。本文圍繞著IPTV的軟件系繞、模塊功能及其實時操作系統Linux對于整個模塊的整體功能進行設計。
關鍵字:IPTV;協議標準;Linux
引言
信息通信技術的發展帶來了國家信息化戰略的大力推進,而且隨著這個時期的到來,IP技術的發展也非常的快速,我國互聯網寬帶技術都得到了較大的發展,而且互聯網在發展過程中,開始與一些傳統產業融合而形成了新的發展力量,比如在這個時期出現了網絡電視(IPTV),網絡電視就是互聯網技術與傳統的電視產業相互融合而形成的,這是一個全新的產業,其優勢在于不但超過了原先的電信運營范圍,而且也超越了傳統的電視產業的運營范圍,也就預示著一個電子互動的娛樂市場的出現將無可避免,技術發展到一定的階段,催生了新的產業,產業帶動了整個市場的發展。
1、系統設計方案
被大眾所直接使用的IPTV機頂盒終端,它的功能主要是支持LAN和HDTV等網絡的傳輸,處理IP與音視頻流,以及解碼MPEG和WMV等,同時還支持認證功能的使用,共同相互交互滿足管理中的訪問控制等。
如圖1所示,IPTV機頂盒的基本系統結構可以分為前端和網絡,以及接收端三個部分,每個部分都由一些關鍵設備組成,在完成相應基本功能的同時,也要保證IPTV電視業務的順利運營。
目前許多的方案在接收端這方都是選取電機加STB的模式,這種模式要求STB從互聯網中能夠將數據流接收下來,在經過處理后傳輸給電視機播放。因此,這種模式必須提供相應的網卡接口。文章中所要講述的工作就是根據這種需求而產生。
2、嵌入式Linux平臺的系統搭建
Linux是一種現代的網絡操作系統,是目前最新的一種操作技術,如今有很多的嵌入式中應用此操作系統,是最為成功和完整的操作系統。由于它的優良特性,使它成為了嵌入市場的佼佼者。其主要的特點有以下幾種:
(1)Linux擁有高效的內核穩定性
通過對Linux的應用,可以證明它的內核是非常精簡,并且擁有高效穩定性的。由于內核采用的是單內核,還融入了微內核的理念,結合了兩者的特點,用戶還可以按照自己的需要進行插入和移走,因此,此系統非常適合在嵌入式中被運用。
(2)Linux開放源碼,且有豐富的軟件
Linux是開放源碼的操作系統,并且擁有豐富的軟件可供用戶選擇。由于嵌入式的種類特別多,要進行修改或優化的話,必須要對應具體的應用才可以實行,因此,源碼的獲得就必須被重視。嵌入式在開發時,只需要選擇對應的軟件就可以不需要重新來過。
(3)Linux受到廣泛硬件的支持
Linux能夠支持的體系結構有很多,并且在許多的硬件平臺中也有被移植。其中包括:ARM和X86,以及PowerPC和MIPS等。因此,也帶來了許多的吸引性。
3、基于LINUX平臺的開發
1)建立主機開發環境
嵌入式系統的開發流程一般是:
第一,在宿主機上搭建所需要的開發環境,進行程序編碼;
第二,宿主機同目標機建立連接,將應用程序下載到目標機上進行交叉編譯;
第三,經過調試之后,將應用程序下載到目標機中運行。
如圖2所示。嵌入式的平臺有硬件和軟件兩種。硬件中有宿主機和顯示設備,以及目標機等;軟件中有連接器和編輯器,以及調試器等。在IPTV機頂盒開發環境系統中,硬件中的宿主機:Intel X86、Linux系統的PC;目標機:PNX8550(MIPS內核)處理器。局域網的建立與DHCP服務都是由路由器來完成的,而輸出設備則是電視機。
2 )內核編譯及文件系統設計
軟件的編譯是在Linux中進行的,由于目標板只可以運行程序不可以編輯程序,因此,編譯的工作只能在Linux中進行操作。本系統的編譯過程是:
tar xfz Mips-2011-10-15.zip
sudo./install-d/opt/eldk-4.1
正確安裝路徑,對環境的變量設定成CROSS-COMPILE-BASE與CROSS-COMPILE-PREFIX。
其安裝的步驟如下:
tar xf stb810_tarballs-SP7.tar
tar xfz stb810_base-SP7_RC3.tgz
嵌入式Linux內核與所對應的文件,是在工具鏈及軟件包完成安裝以后才能進行的步驟。其具體的操作方法如下:
source./setup.sh
prjmake clean
prjmake all
嵌入式和硬件、處理器都是有著一定相互的關系的。為了達到硬件和系統的獨立,此次的設計是利用IPTV中的軟件分層來滿足條件的。此分層的中心是嵌入式的Linux,當設計有問題的時候,Linux對問題程序進行更正就可以了。但是要注意的是能夠不被變換的是中間層與應用層。因此,不僅提高了對代碼的重復使用減少了更改,還在時間上得到了節省。
實時的操作系統與硬件程序是安裝在資源軟件中的,以實現對硬件設備的操作,在應用層中通過內置與下載的應用程序,CPU的指令通過解釋層翻譯識別,并結合硬件設備共同實現操作視頻點播和DRM,以及下載等應用的完成。由于Linux有網絡和塊設備文件,以及字符設備文件,是通過寫入和讀寫,以及訪問接口的方式進行的塊。在對其進行設備的辨別后,對不相同的設備采用命令mknod進行創建即可,但是要對創建的設備號進行主次的備號,并與之同類程序的劃分和對應,在使用的過程中,位置的不一樣,方式的不一樣,或是操作的程序不一樣等。如圖3所示。
一般來說,設備驅動的開發流程是要對設備號進行主次的設定,進行初始化的程序和函數的清除、對所需要的函數進行操作,以及對數據結構file-operations定義后才能實現的。在結構中,每個成員的調用都有自己各自與其對應的系統進行操作的時候,系統自動找到與之對應的程序進行數據的讀取,并將控制的權利賦予函數,注意所讀取的數據是屬于函數指針的。在程序中定義函數并實現操作。
LIFOlnitialize(&SISectionLargeDataList);//初始化一個列表SISectionLargeDataList
for(i=0;i { LIFOPush(&SISubTableList,i); } for(i=0;i //為SISectionSmallDataList關聯 //和定義存儲空間。每個存儲空間為 //1024字節,總共20*1024字節。 { SISectionSmaUData[i].data=SISectionSmallDataBuffers[i]; LIFOPush(&SlSeetionSmfllDataLisL(UINT32)&SISectionSmallData[i]); } 4、結論 本文從軟件分層的角度闡述了IPTV機頂盒軟件架構。研究了Linux下驅動程序的開發過程和Linux APIs,討論了應用軟件的設計方案,實踐證明Linux操作系統在穩定性和可用性上是完全適合在本方案中是選 用的。 參考文獻 [1]李善平,劉文峰,王煥龍等.Linux與嵌入式系統[M].北京:清華大學出版社,2003.52-67 [2]張鄭擎,胡源.IPTV業務特點和相關技術[J].現代電信科技.2005.05 [3] 李帆,黃桂金.基于B/S架構的IPTV機頂盒的GUI的設計與實現[J].廣東通信技術.2005(12):41-43