新聞中心

        EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于IntelPXA270平臺(tái)的嵌入式流媒體播放器設(shè)計(jì)

        基于IntelPXA270平臺(tái)的嵌入式流媒體播放器設(shè)計(jì)

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

        模塊的實(shí)現(xiàn)

        系統(tǒng)實(shí)現(xiàn)可以被分為以下幾個(gè)步驟:

        1) 嵌入式Linux 內(nèi)核的移植和編譯、文件系統(tǒng)的安裝;
        2) 視頻圖像解壓縮模塊的實(shí)現(xiàn);
        3) 播放模塊的實(shí)現(xiàn);

        嵌入式Linux 內(nèi)核的移植和文件系統(tǒng)、圖形界面系統(tǒng)的安裝

        工作在sophia 板上的嵌入式Linux 內(nèi)核對(duì)boot-loader、內(nèi)核、文件系統(tǒng)的加載步驟和交叉編譯環(huán)境的建立方法與其它嵌入式平臺(tái)的開(kāi)發(fā)步驟相似具有一定的通用性,具體的建立方法可以參考文獻(xiàn)。但是有兩點(diǎn)要注意:

        1) 在使用make menuconfig定制內(nèi)核時(shí)要讓內(nèi)核支持無(wú)線網(wǎng)卡,具體步驟是在USB Support 配置菜單中選擇USB network devices,再于子菜單中選擇wireless,使得在內(nèi)核中加入對(duì)USB 無(wú)線網(wǎng)卡的驅(qū)動(dòng)支持。
        2) 在圖形界面系統(tǒng)的編譯與安裝中注意建立工程后,要將選項(xiàng)中的gettext 選項(xiàng)勾掉,否則程序無(wú)法順利編譯。

        視頻圖像解壓模塊的實(shí)現(xiàn)

        由網(wǎng)絡(luò)控制模塊獲取的數(shù)據(jù)在系統(tǒng)中是以流數(shù)據(jù)的形式存在的,因此,首先要對(duì)流式文件進(jìn)行解壓。同時(shí),為了提高傳輸效率從而提高視頻圖像質(zhì)量,網(wǎng)絡(luò)上傳輸?shù)脑家曨l圖像都進(jìn)行了壓縮編碼,所以,還需要根據(jù)編碼格式進(jìn)行相應(yīng)解碼。本系統(tǒng)不但支持常見(jiàn)的MP1、MP2、MP3 和WAV 音頻文件格式,還可以對(duì)先進(jìn)的MPEG- 4視頻圖像壓縮編碼文件解壓縮。

        流式文件的解壓縮

        按照播放器所接入的車載導(dǎo)航網(wǎng)絡(luò)的要求,本方案要為當(dāng)前主流的流文件格式:ASF、RM提供解壓能力。

        ASF 文件解壓

        ASF 文件基本的組織單元叫做ASF 對(duì)象,每個(gè)對(duì)象由三個(gè)域組成:128 位的全球唯一的對(duì)象標(biāo)識(shí)符域、64 位整數(shù)的對(duì)象大小域和可變長(zhǎng)的對(duì)象數(shù)據(jù)域。ASF 文件的高層邏輯結(jié)構(gòu)也包含三部分:頭對(duì)象、數(shù)據(jù)對(duì)象和索引對(duì)象。其中頭對(duì)象是必需的并且必須放在每一個(gè)ASF 文件的開(kāi)頭部分,它包含了許多全局信息,一定要在數(shù)據(jù)對(duì)象之前被接收方接收并解釋;數(shù)據(jù)對(duì)象也是必需的,且一般情況下緊跟在頭對(duì)象之后,包含了所有待播放的數(shù)據(jù);索引對(duì)象是可選的。

        RM文件解壓

        組成RM文件的基本部件是塊,每個(gè)塊包括三個(gè)字段:指明塊標(biāo)識(shí)符的四字符編碼、塊中限定數(shù)據(jù)大小的32 位數(shù)值和數(shù)據(jù)塊部分。塊標(biāo)識(shí)符用來(lái)唯一的標(biāo)識(shí)每一個(gè)塊。同樣地,RM文件的高層邏輯結(jié)構(gòu)也由三部分組成:文件報(bào)頭部分、文件數(shù)據(jù)部分和文件索引部分。因?yàn)?RealMedia 文件格式是一種加標(biāo)志的文件格式,塊的順序沒(méi)有明確規(guī)定,但RealMedia 文件報(bào)頭必須是文件的第一個(gè)塊。

        MPEG- 4 視頻圖像的解壓

        在幾種開(kāi)放源代碼的MPEG- 4 解碼軟件中,作者選擇xvidcore 作為系統(tǒng)中視頻圖像解壓模塊的核心算法。xvid 是一個(gè)高效且可移植的編碼軟件,系統(tǒng)采用的是目前最新的版本xvidcore- 1.1.0。xvid 支持SimpleProfile 和Advanced Profile,支持I/P Frames、B -Frames、Interlacing 和GMC,是目前比較流行的MPEG- 4 編碼軟件。對(duì)xvidcore- 1.0.1 進(jìn)行交叉編譯有以下主要步驟:

        1) 解壓縮xvidcore 源代碼tar- zxvf xvidcore- 1.1.0.tar;
        2)設(shè)置環(huán)境變量export xvidcore= “ the path of xvidcore”;
        3)生成makefile ./configure- - host=localhost- - build=arm- linux- gcc;
        4) 編譯源代碼make;make install;
        將交叉編譯生成的庫(kù)文件libxvidcore.so.* 拷貝到交叉編譯器工作目錄的./local/lib 子目錄中,該庫(kù)文件為系統(tǒng)的其它模塊提供了編程接口。



        關(guān)鍵詞: PXA270 MPEG-4 流媒體

        評(píng)論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 佛坪县| 定日县| 屯昌县| 额尔古纳市| 利川市| 民丰县| 台江县| 达拉特旗| 永春县| 马关县| 甘泉县| 佛学| 天祝| 都匀市| 南岸区| 西峡县| 定南县| 唐海县| 万荣县| 麻江县| 丹寨县| 濉溪县| 应用必备| 乐山市| 滦平县| 汕头市| 焉耆| 山阳县| 拉萨市| 温州市| 惠水县| 邢台县| 广饶县| 凤翔县| 关岭| 房产| 时尚| 千阳县| 东乌| 永靖县| 富平县|