當(dāng)前位置:首頁 > 單片機 > 單片機
[導(dǎo)讀] 1 引言計算機多媒體技術(shù)和網(wǎng)絡(luò)技術(shù)飛速發(fā)展使得基于流媒體的多媒體應(yīng)用也被運用在多種領(lǐng)域,特別是網(wǎng)絡(luò)可視電話、遠程監(jiān)控、視頻點播領(lǐng)域。伴隨著計算機多媒體壓縮技術(shù)的成熟和網(wǎng)絡(luò)傳輸技術(shù)的發(fā)展,開發(fā)

1 引言


計算機多媒體技術(shù)和網(wǎng)絡(luò)技術(shù)飛速發(fā)展使得基于流媒體的多媒體應(yīng)用也被運用在多種領(lǐng)域,特別是網(wǎng)絡(luò)可視電話、遠程監(jiān)控、視頻點播領(lǐng)域。伴隨著計算機多媒體壓縮技術(shù)的成熟和網(wǎng)絡(luò)傳輸技術(shù)的發(fā)展,開發(fā)實時可靠、多功能、數(shù)字化、操作簡單的基于計算機網(wǎng)絡(luò)通訊技術(shù)和多媒體應(yīng)用的網(wǎng)絡(luò)化流媒體播放器已成為計算機、通信、消費電子產(chǎn)品領(lǐng)域(3C 產(chǎn)業(yè)-Computer、CommunICation、Consumer EleCTRonics)技術(shù)發(fā)展的主要方向之一。


2 系統(tǒng)硬件設(shè)計


本文使用TQ2440 開發(fā)板作為硬件平臺。


S3C2440AL 是控制核心,負責(zé)控制所有輔助設(shè)備。存儲器采用SDRAM 和Flash 兩種類型,能滿足系統(tǒng)運行和調(diào)試的需要?;径丝诎ㄒ蕴W(wǎng)接口、USB 接口、兩個RS232 的串口。A/D和D/A模塊主要用于現(xiàn)場數(shù)據(jù)的采集與控制信號的輸出。DC/DC 模塊主要負責(zé)整個系統(tǒng)的供電。


S3C 2440AL 是三星公司設(shè)計開發(fā)的基于精簡指令集的ARM9 核的CPU, 工作頻率可以達到400MHz,且具有豐富的內(nèi)部設(shè)備,其中主要包括:存儲器管理單元MMU、16kB 的指令緩沖器和16kB 數(shù)據(jù)緩沖器、存儲器控制器(SDRAM 控制器)、NANDFlash 和NOR Flash 控制器、4 通道的外部DMA請求控制、3 個串行口、SD 存儲卡讀取接口、USB 主機、USB 設(shè)備、5 個脈寬調(diào)制定時器。目前,S3C2440AL 已廣泛地應(yīng)用于PDA、智能手機、數(shù)字多媒體等方面。

3 系統(tǒng)的軟件設(shè)計


系統(tǒng)的軟件組成包括:嵌入式Linux 操作系統(tǒng)、設(shè)備驅(qū)動程序、圖形界面和瀏覽器程序,這些只是IPTV 機頂盒軟件組成的關(guān)鍵部分。

本系統(tǒng)采用Linux 作為操作系統(tǒng),并選用Linux2.6內(nèi)核在嵌入式微處理器S3C2410 上移植,具體移植方法如下:


(1)準(zhǔn)備Linux2.6 內(nèi)核移植所必需的文件(內(nèi)核壓縮包linux-2.6.tar.bz2 及交叉編譯器arm -linuxgCC-3.4.1.tar.bz2),這些文件可到Linux 官方網(wǎng)站免費下載。


(2)利用Linux 命令(mkdir,tar,mv 及export)安裝交叉編譯器arm-linux-gcc-3.4.1.


(3)修改Makefile 文件及相關(guān)硬件文件。由于內(nèi)核的編譯是根據(jù)Makefile 文件的指示進行的,Makefile 文件來組織內(nèi)核的各模塊之間的關(guān)系,記錄了各個模塊之間的相互聯(lián)系和依賴關(guān)系。所以,開發(fā)人員要首先修改Linux2.6 根目錄下的Makfile 文件,修改的主要內(nèi)容是目標(biāo)代碼的類型和為編譯內(nèi)核指定一個編譯器。


(4)運用Make 命令編譯內(nèi)核生成內(nèi)核鏡像文件zImage 文件,通過相應(yīng)的固化軟件把這個文件固化在系統(tǒng)相應(yīng)的存儲器中,完成Linux2.6 內(nèi)核在ARM 微處理器上的移植。


3.2 媒體播放器的總體架構(gòu)


系統(tǒng)實現(xiàn)原理:在嵌入式微處理器S3C2440AL的控制下,TQ2440 開發(fā)板通過網(wǎng)絡(luò)接口接收來自內(nèi)容服務(wù)提供商的音視頻廣播信息,之后運行圖形界面程序獲取音視頻信息,并在此基礎(chǔ)上生成音視頻節(jié)目清單,將信號傳至顯示屏進行顯示,將節(jié)目呈現(xiàn)給用戶。用戶利用顯示系統(tǒng)提供的圖形界面和瀏覽器使用鍵盤、鼠標(biāo)進行控制,觀看節(jié)目,其總體架構(gòu)如圖1 所示。

  

圖1 媒體播放器的總體架構(gòu)


3.2.1 媒體播放器與網(wǎng)絡(luò)接口的實現(xiàn)


媒體播放器播放網(wǎng)絡(luò)上的多媒體文件時最大的特點是邊下載邊播放的“流式”特性。在IPTV 應(yīng)用中,因為多媒體數(shù)據(jù)的流式特性需要媒體播放器與媒體服務(wù)器之間進行信息交互,所以它們之間須共同遵循一個交互協(xié)議標(biāo)準(zhǔn)。本系統(tǒng)播放器采用RTSP 協(xié)議與服務(wù)器之間建立及管理RTSP 會話,通過網(wǎng)絡(luò)傳輸協(xié)議接收來自網(wǎng)絡(luò)上的媒體數(shù)據(jù)。媒體播放器數(shù)據(jù)接收流程如圖2 所示。

  

圖2 媒體播放器數(shù)據(jù)接收流程


3.2.2 TS 流解析實現(xiàn)


在MPEG-2 系統(tǒng)中根據(jù)傳輸媒體的質(zhì)量不同定義了兩種復(fù)合信息流:傳送流(TS:Transport Stream)和節(jié)目流(PS:Program Stream)。TS 流與PS 流的區(qū)別在于TS 流的包結(jié)構(gòu)是固定長度的,而PS 流的包結(jié)構(gòu)是可變長度的。PS 包TS 包在結(jié)構(gòu)上的這種差異,致使TS 流比PS 流對傳輸誤碼的抵抗能力更強,因此在本設(shè)計中的網(wǎng)絡(luò)多媒體數(shù)據(jù)采用了TS 的封裝格式。TS 包的結(jié)構(gòu)如圖3 所示,由包頭和包數(shù)據(jù)兩部分組成,包頭長度占4B,自適應(yīng)區(qū)和包數(shù)據(jù)共占184B,整個TS 包長度相當(dāng)于4 個ATM 包長。

  

圖3 TS 包的結(jié)構(gòu)


因為在TS 流里可以填入很多東西,所以制定TS流標(biāo)準(zhǔn)的機構(gòu)就規(guī)定了PSI (Program SpecifICInformation)表,其作用是從一個攜帶多個節(jié)目的某一個TS 流中正確找到特定的節(jié)目。

  

(1)PAT 表(Program Association Table)即節(jié)目關(guān)聯(lián)表,它的主要作用是指出該傳輸流ID,以及該路傳輸流中所對應(yīng)的幾路節(jié)目流的MAP 表和網(wǎng)絡(luò)信息表的PID.


(2)PMT 表(Program Map Table)即節(jié)目映射表,該表的PID 由PAT 提供,通過該表可以得到一路節(jié)目中包含的信息。


(3)CAT 表(Conditional ACCess Table)即條件訪問表,PID 是0x01.CAT 攜帶的是服務(wù)器的私有信息(CA 系統(tǒng)就需要使用該表格實現(xiàn)節(jié)目的解密)。


(4)NIT 表(Network Information Table) 即網(wǎng)絡(luò)信息表,該表包括數(shù)字電視網(wǎng)中所有的傳輸流的物理傳輸網(wǎng)信息,包含節(jié)目的頻道調(diào)諧參數(shù)、頻率、符號率等,這些信息使得接收機可以按照用戶的選擇以很少的延時或無延時地改變頻道、調(diào)諧參數(shù),正確地解碼出TS。

所以TS 流解析流程如圖4所示:先接收一個負載里為PAT 的數(shù)據(jù)包,在整個數(shù)據(jù)包里找到一個PMT 包的ID.然后再接收一個含有PMT 的數(shù)據(jù)包,在這個數(shù)據(jù)包里找到有關(guān)填入數(shù)據(jù)類型的ID.之后就在接收到的TS 包里找到含有這個ID 的負載內(nèi)容就是填入的信息。根據(jù)填入的數(shù)據(jù)類型的ID 的不同,在TS 流復(fù)合多種信息,解有這些信息的傳輸包即可解出音視頻的PES 包,最終解出音頻流和視頻流。

  

圖4 TS 流解析流程


由于時間和資源有限,本設(shè)計中移植成熟的QT/Embedded 庫到機頂盒的嵌入式系統(tǒng),作為其圖形界面類庫。Qt/Embedded 采用frame buffer (幀緩沖)作為底層圖形接口。同時,將外部輸入設(shè)備抽象為keyboard 和mouse 輸入事件。Qt/Embedded 的應(yīng)用程序可以直接寫內(nèi)核緩沖幀,這避免開發(fā)者使用繁瑣的XLIB/Server 系統(tǒng)。界面程序流程圖如圖5 所示。

  

圖5 界面程序流程圖


4 結(jié)語


本系統(tǒng)利用TQ2440 硬件平臺的優(yōu)勢,將Linux2.6.14 內(nèi)核移植到開發(fā)板中,設(shè)計實現(xiàn)了一款基于嵌入式Linux 的機頂盒流媒體播放器,完成了其與網(wǎng)絡(luò)接口的實現(xiàn),通過TS 流的解析實現(xiàn),提供了對主流的MPEG-2、MPEG-4、H.264 等格式文件的支持。該系統(tǒng)具有良好的可移植性和可擴展性,能夠滿足市場需求的不斷變化。


本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉