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