<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于A(yíng)RM9的媒體播放器的設計方案

基于A(yíng)RM9的媒體播放器的設計方案

作者: 時(shí)間:2015-04-18 來(lái)源:網(wǎng)絡(luò ) 收藏

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

本文引用地址:http://dyxdggzs.com/article/272737.htm

  2系統硬件設計

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

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

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

  3系統的軟件設計

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

  3.1嵌入式操作系統的選擇及移植

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

  (1)準備Linux2.6內核移植所必需的文件(內核壓縮包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)硬件文件。由于內核的編譯是根據Makefile文件的指示進(jìn)行的,Makefile文件來(lái)組織內核的各模塊之間的關(guān)系,記錄了各個(gè)模塊之間的相互聯(lián)系和依賴(lài)關(guān)系。所以,開(kāi)發(fā)人員要首先修改Linux2.6根目錄下的Makfile文件,修改的主要內容是目標代碼的類(lèi)型和為編譯內核指定一個(gè)編譯器。

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

  3.2媒體播放器的總體架構

  系統實(shí)現原理:在嵌入式微處理器S3C2440AL的控制下,開(kāi)發(fā)板通過(guò)網(wǎng)絡(luò )接口接收來(lái)自?xún)热莘?wù)提供商的音視頻廣播信息,之后運行圖形界面程序獲取音視頻信息,并在此基礎上生成音視頻節目清單,將信號傳至顯示屏進(jìn)行顯示,將節目呈現給用戶(hù)。用戶(hù)利用顯示系統提供的圖形界面和瀏覽器使用鍵盤(pán)、鼠標進(jìn)行控制,觀(guān)看節目,其總體架構如圖1所示。

  

 

  圖1媒體播放器的總體架構

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

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

  

 

  圖2媒體播放器數據接收流程

  3.2.2 TS流解析實(shí)現

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

  

 

  圖3 TS包的結構

  因為在TS流里可以填入很多東西,所以制定TS流標準的機構就規定了PSI(Program SpecificInformation)表,其作用是從一個(gè)攜帶多個(gè)節目的某一個(gè)TS流中正確找到特定的節目。

  PSI表包括以下四個(gè)表:

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

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

  (3)CAT表(Conditional Access Table)即條件訪(fǎng)問(wèn)表,PID是0x01.CAT攜帶的是服務(wù)器的私有信息(CA系統就需要使用該表格實(shí)現節目的解密)。

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

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

  

 

  圖4 TS流解析流程

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

  

 

  圖5界面程序流程圖

  4結語(yǔ)

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

脈寬調制相關(guān)文章:脈寬調制原理


關(guān)鍵詞: ARM9 TQ2440

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>