• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于嵌入式媒體播放器的設(shè)計與開發(fā)

      2014-09-24 12:07:01王棟財梁隆愷韓改寧王凡王煬
      軟件工程 2014年6期
      關(guān)鍵詞:嵌入式

      王棟財+梁隆愷+韓改寧+王凡+王煬

      摘 要:在嵌入式系統(tǒng)中,多媒體的應(yīng)用變得越來越廣泛,因此,開發(fā)一款功能齊全、便于跨平臺使用的媒體播放器得非常迫切。本文以嵌入式ARM9開發(fā)平臺為基礎(chǔ),利用開源Linux系統(tǒng)和跨平臺Qt開發(fā)工具。在音頻開發(fā)中采用Qt提供的Phonon多媒體框架,讓應(yīng)用程序更易于開發(fā)了;在視頻開發(fā)中利用MPlayer作為其后端程序,加快了對媒體的處理速度。該播發(fā)器是以一個集音頻,視頻播放于一體的一款多媒體影音娛樂軟件。該軟件可以移植在汽車、飛機以及個人手持設(shè)備上使用。

      關(guān)鍵詞:嵌入式;媒體播放器;ARM9;Linux;Qt

      中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A

      The Research and Development of Media Player Based on Embedded System

      WANG Dongcai,LIANG Longkai,HAN Gaining,WANG Fan,WANG Yang

      (Information Engineering Department Xianyang Normal Universty,Xianyang 712000,China)

      Abstract:In embedded systems,the application of multimedia is becoming more and more widely,therefore,developing a complete function,easy to use cross-platform media player is very urgent.In this paper,based on embedded ARM9 development platform,using open source Linux system and Qt cross-platform development tools.In audio development program,using Phonon multimedia framework,in order to make applications easier to develop,and using MPlayer,in the video development,to accelerate the processing speed of the media.This is a collection of audio,video play in the integration of a multimedia entertainment software.The software can be transplanted in cars,planes,handheld devices,and personal to use.

      Keywords:embedded;media player;ARM9;Linux;Qt

      1 引言(Introduction)

      隨著計算機技術(shù)、媒體編碼技術(shù)和嵌入式技術(shù)的不斷發(fā)展,用戶對媒體娛樂終端需求的不斷提高,嵌入式設(shè)備的不斷功能強大和逐漸成熟的市場,嵌入式軟件的開發(fā)與設(shè)計越來越受到專業(yè)技術(shù)人員的重視。隨著MP4、數(shù)字網(wǎng)絡(luò)電視、3G、4G通訊等相關(guān)技術(shù)的成熟,許多嵌入式產(chǎn)品中都包含媒體播放器,在未來幾年內(nèi)都將會得到快速發(fā)展。因此,基于嵌入式媒體播放器的開發(fā)具有一定的實用價值。

      2 系統(tǒng)設(shè)計(System design)

      本設(shè)計基于ARM9的S3C2410處理器為核心,采用LCD顯示技術(shù)及觸摸屏技術(shù),利用Qt作為GUI來提供強大的用戶界面,實現(xiàn)嵌入式媒體播放器的設(shè)計與開發(fā)。

      2.1 軟硬件平臺

      根據(jù)對嵌入式視頻播放的分析,為了實現(xiàn)圖像顯示和音頻系統(tǒng)的功能,硬件選擇ARM9處理器,LCD顯示屏及常用的接口電路。

      嵌入式音視頻系統(tǒng)開發(fā),基于嵌入式Linux系統(tǒng),利用Qt/Embedded用戶界面,調(diào)用Qt/Embedded提供的類庫進(jìn)行開發(fā),該軟件功能包括音視頻文件的打開、刪除、顯示等信息,并提供播放列表和播放控制窗口等。另外,利用幀緩沖數(shù)據(jù)進(jìn)行輸出,取消對硬件架構(gòu)的依賴,保證系統(tǒng)的可移植性。該媒體播放器屬于嵌入式系統(tǒng)上層應(yīng)用程序開發(fā),占用Linux用戶空間區(qū)域,為應(yīng)用程序移植奠定基礎(chǔ),結(jié)構(gòu)框圖如圖1所示。

      圖1 嵌入式軟硬件系統(tǒng)結(jié)構(gòu)

      Fig.1 Embedded hardware and software system structure

      2.2 音頻接口模塊設(shè)計

      該模塊主要利用Qt提供的Phonon多媒體框架,Phonon多媒體庫是由KDE的開發(fā)人員建立的,其讓多媒體應(yīng)用程序更易于編寫。Phonon有兩個窗口部件,通用多媒體API的前端和API提供實際多媒體服務(wù)的后端[1]。對于使用該模塊開發(fā)項目來說,必須在.pro文件加上QT+=phonon才能正常使用該Phonon庫。

      Phonon模塊不支持對媒體流中的數(shù)據(jù)進(jìn)行操作,但它能夠提供一種間接的方法來操作音頻流,即效果處理器。這些處理器屬于Phonon::Effect類,它們能被加載到源和匯點之間的路徑上,在此之間傳輸數(shù)據(jù),可用的效果依賴于Phonon的后端,通過onon::BackendCapabilities::availableAudioEffects()函數(shù)獲得,效果大致包括放大,立體全景圖中的媒體流定位,均衡補償和重采樣。

      創(chuàng)建一個新的Phonon::Effect實例,假設(shè)取得Phonon::createPath()方法返回Phonon::Path指針,下來就可以使用它調(diào)用Phonon::Path::insertEffect(),并把剛剛創(chuàng)建的Phonon::Effect實例傳給它。數(shù)據(jù)的傳遞通過匯點節(jié)點,它是數(shù)據(jù)最終傳遞的物理設(shè)備,比如聲卡、耳機或視頻設(shè)備,由Phonon::AudioOutput媒體節(jié)點或者Phonon::VideoPlayer以及類似媒體節(jié)點的Phonon::VideoWidget窗口部件來表示,如圖2所示。endprint

      圖2 媒體物理流結(jié)構(gòu)

      Fig.2 Media flow physical structure

      2.3 視頻接口模塊設(shè)計

      本模塊使用利用一個開源的視頻播放器MPlayer作為其后端程序[2]。MPlayer具有良好的移植性,可以移植到許多非X86平臺上,MPlayer軟件包中含有針對ARM架構(gòu)的優(yōu)化代碼,這些代碼利用ARM的特性加快了對媒體的處理速度[3]。

      在liunx系統(tǒng)下,利用Qt做一個應(yīng)用界面,包括:播放、停止、快進(jìn)、快退、上/下一曲等功能模塊;并通過交叉編譯器編譯應(yīng)用程序,然后移植到ARM平臺上。具體操作如下:使用popen()來打開Mplayer播放文件;利用process->write(“pause”)實現(xiàn)會暫停功能;最后利用connect()函數(shù)連接信號與槽函數(shù),實現(xiàn)視頻模塊設(shè)計。

      3 嵌入式媒體播放器系統(tǒng)實現(xiàn)( Embedded media

      player system)

      對于嵌入式開發(fā),最終都要將做好的應(yīng)用程序下載到開發(fā)板,然后再開發(fā)板上運行應(yīng)用程序,這樣就實現(xiàn)了整個開發(fā)的流程。

      (1)開發(fā)板環(huán)境配置

      以博創(chuàng)科技UP-TECH 2410經(jīng)典平臺為基礎(chǔ),移植LINUX 2.6.24系統(tǒng)具體過程如下:移植LINUX操作系統(tǒng)需要移植四個文件vivi、kernek、root和fs,這四個文件分別是:

      Vivi—linux操作系統(tǒng)啟動的bootloader;

      ZImage—linux操作系統(tǒng)內(nèi)核;

      root.cramfs—根文件系統(tǒng);

      yaffs.tar.bz2—應(yīng)用程序壓縮包;

      具體移植操作可見文獻(xiàn)[4,5]。

      (2)在上位機上編譯好可執(zhí)行文件,通過Qmake和make工具,本系統(tǒng)最終編譯的程序為project。

      (3)通過NFS服務(wù)或者U盤將生成的文件移植到開發(fā)板上,當(dāng)然,開發(fā)板上的環(huán)境已經(jīng)搭建好了,里面有所需要的庫文件。NFS服務(wù)這種方式比較慢,而用U盤的方式很快的。

      (4)查看開發(fā)板上環(huán)境變量的設(shè)置,環(huán)境變量設(shè)置非常重要,如果這個設(shè)置不正確,則應(yīng)用程序不能再開發(fā)板上運行。通過命令:Vi/etc/profile

      (5)運行該程序:./ project -qws

      運行界面如圖3和圖4所示。

      圖3 視頻模塊 圖4 音頻模塊

      Fig.3 Video module Fig.4 Audio module

      4 結(jié)論(Conclusion)

      本設(shè)計以嵌入式Linux為操作系統(tǒng),基于ARM9的平臺開發(fā),利用Qt進(jìn)行圖形界面設(shè)計,再通過相關(guān)環(huán)境配置及LCD和觸摸屏的驅(qū)動開發(fā)設(shè)計,使得開發(fā)應(yīng)用程序運行在ARM9開發(fā)板。該系統(tǒng)開發(fā)為嵌入式系統(tǒng)應(yīng)用開發(fā)提供一定的思路,而且應(yīng)用程序移植性好,可廣泛應(yīng)用各類嵌入式音視頻系統(tǒng)中。

      參考文獻(xiàn)(References)

      [1] 王建民,張宏壯.基于Qt的嵌入式媒體播放器的設(shè)計與實現(xiàn)

      [J].微計算機信息,2009,(4):8-9.

      [2] Kim J,et al.Efficient Metadata Management for Flash File

      Systems.11th IEEE International Symposium on Object

      Oriented Real- Time Distributed Computing,2008:535-540.

      [3] 任亞飛,唐濤.基于嵌入式Linux的列控系統(tǒng)人機界面的實現(xiàn)

      [J].鐵路計算機應(yīng)用,2005,(4):23-26.

      [4] 陳云鶴,徐晶.基于QT/Embedded的媒體播放器的設(shè)計與實

      現(xiàn)[J].微型電腦應(yīng)用,2006,8(22):33-34;52.

      [5] 馬勇,等.嵌入式多媒體播放器的系統(tǒng)設(shè)計與實現(xiàn)[J].杭州電

      子科技大學(xué)學(xué)報,2006,2(26):60-63.

      作者簡介:

      王棟財(1990-),男,學(xué)士.研究領(lǐng)域:計算機應(yīng)用.

      梁隆愷(1991-),男,學(xué)士,研究領(lǐng)域:計算機應(yīng)用.

      韓改寧(1977-),女,碩士,講師.研究領(lǐng)域:嵌入式系統(tǒng)應(yīng)用,

      智能機器人.

      王 凡(1989-),男,學(xué)士.研究領(lǐng)域:軟件開發(fā).

      王 煬(1990-),男,學(xué)士.研究領(lǐng)域:計算機應(yīng)用.endprint

      圖2 媒體物理流結(jié)構(gòu)

      Fig.2 Media flow physical structure

      2.3 視頻接口模塊設(shè)計

      本模塊使用利用一個開源的視頻播放器MPlayer作為其后端程序[2]。MPlayer具有良好的移植性,可以移植到許多非X86平臺上,MPlayer軟件包中含有針對ARM架構(gòu)的優(yōu)化代碼,這些代碼利用ARM的特性加快了對媒體的處理速度[3]。

      在liunx系統(tǒng)下,利用Qt做一個應(yīng)用界面,包括:播放、停止、快進(jìn)、快退、上/下一曲等功能模塊;并通過交叉編譯器編譯應(yīng)用程序,然后移植到ARM平臺上。具體操作如下:使用popen()來打開Mplayer播放文件;利用process->write(“pause”)實現(xiàn)會暫停功能;最后利用connect()函數(shù)連接信號與槽函數(shù),實現(xiàn)視頻模塊設(shè)計。

      3 嵌入式媒體播放器系統(tǒng)實現(xiàn)( Embedded media

      player system)

      對于嵌入式開發(fā),最終都要將做好的應(yīng)用程序下載到開發(fā)板,然后再開發(fā)板上運行應(yīng)用程序,這樣就實現(xiàn)了整個開發(fā)的流程。

      (1)開發(fā)板環(huán)境配置

      以博創(chuàng)科技UP-TECH 2410經(jīng)典平臺為基礎(chǔ),移植LINUX 2.6.24系統(tǒng)具體過程如下:移植LINUX操作系統(tǒng)需要移植四個文件vivi、kernek、root和fs,這四個文件分別是:

      Vivi—linux操作系統(tǒng)啟動的bootloader;

      ZImage—linux操作系統(tǒng)內(nèi)核;

      root.cramfs—根文件系統(tǒng);

      yaffs.tar.bz2—應(yīng)用程序壓縮包;

      具體移植操作可見文獻(xiàn)[4,5]。

      (2)在上位機上編譯好可執(zhí)行文件,通過Qmake和make工具,本系統(tǒng)最終編譯的程序為project。

      (3)通過NFS服務(wù)或者U盤將生成的文件移植到開發(fā)板上,當(dāng)然,開發(fā)板上的環(huán)境已經(jīng)搭建好了,里面有所需要的庫文件。NFS服務(wù)這種方式比較慢,而用U盤的方式很快的。

      (4)查看開發(fā)板上環(huán)境變量的設(shè)置,環(huán)境變量設(shè)置非常重要,如果這個設(shè)置不正確,則應(yīng)用程序不能再開發(fā)板上運行。通過命令:Vi/etc/profile

      (5)運行該程序:./ project -qws

      運行界面如圖3和圖4所示。

      圖3 視頻模塊 圖4 音頻模塊

      Fig.3 Video module Fig.4 Audio module

      4 結(jié)論(Conclusion)

      本設(shè)計以嵌入式Linux為操作系統(tǒng),基于ARM9的平臺開發(fā),利用Qt進(jìn)行圖形界面設(shè)計,再通過相關(guān)環(huán)境配置及LCD和觸摸屏的驅(qū)動開發(fā)設(shè)計,使得開發(fā)應(yīng)用程序運行在ARM9開發(fā)板。該系統(tǒng)開發(fā)為嵌入式系統(tǒng)應(yīng)用開發(fā)提供一定的思路,而且應(yīng)用程序移植性好,可廣泛應(yīng)用各類嵌入式音視頻系統(tǒng)中。

      參考文獻(xiàn)(References)

      [1] 王建民,張宏壯.基于Qt的嵌入式媒體播放器的設(shè)計與實現(xiàn)

      [J].微計算機信息,2009,(4):8-9.

      [2] Kim J,et al.Efficient Metadata Management for Flash File

      Systems.11th IEEE International Symposium on Object

      Oriented Real- Time Distributed Computing,2008:535-540.

      [3] 任亞飛,唐濤.基于嵌入式Linux的列控系統(tǒng)人機界面的實現(xiàn)

      [J].鐵路計算機應(yīng)用,2005,(4):23-26.

      [4] 陳云鶴,徐晶.基于QT/Embedded的媒體播放器的設(shè)計與實

      現(xiàn)[J].微型電腦應(yīng)用,2006,8(22):33-34;52.

      [5] 馬勇,等.嵌入式多媒體播放器的系統(tǒng)設(shè)計與實現(xiàn)[J].杭州電

      子科技大學(xué)學(xué)報,2006,2(26):60-63.

      作者簡介:

      王棟財(1990-),男,學(xué)士.研究領(lǐng)域:計算機應(yīng)用.

      梁隆愷(1991-),男,學(xué)士,研究領(lǐng)域:計算機應(yīng)用.

      韓改寧(1977-),女,碩士,講師.研究領(lǐng)域:嵌入式系統(tǒng)應(yīng)用,

      智能機器人.

      王 凡(1989-),男,學(xué)士.研究領(lǐng)域:軟件開發(fā).

      王 煬(1990-),男,學(xué)士.研究領(lǐng)域:計算機應(yīng)用.endprint

      圖2 媒體物理流結(jié)構(gòu)

      Fig.2 Media flow physical structure

      2.3 視頻接口模塊設(shè)計

      本模塊使用利用一個開源的視頻播放器MPlayer作為其后端程序[2]。MPlayer具有良好的移植性,可以移植到許多非X86平臺上,MPlayer軟件包中含有針對ARM架構(gòu)的優(yōu)化代碼,這些代碼利用ARM的特性加快了對媒體的處理速度[3]。

      在liunx系統(tǒng)下,利用Qt做一個應(yīng)用界面,包括:播放、停止、快進(jìn)、快退、上/下一曲等功能模塊;并通過交叉編譯器編譯應(yīng)用程序,然后移植到ARM平臺上。具體操作如下:使用popen()來打開Mplayer播放文件;利用process->write(“pause”)實現(xiàn)會暫停功能;最后利用connect()函數(shù)連接信號與槽函數(shù),實現(xiàn)視頻模塊設(shè)計。

      3 嵌入式媒體播放器系統(tǒng)實現(xiàn)( Embedded media

      player system)

      對于嵌入式開發(fā),最終都要將做好的應(yīng)用程序下載到開發(fā)板,然后再開發(fā)板上運行應(yīng)用程序,這樣就實現(xiàn)了整個開發(fā)的流程。

      (1)開發(fā)板環(huán)境配置

      以博創(chuàng)科技UP-TECH 2410經(jīng)典平臺為基礎(chǔ),移植LINUX 2.6.24系統(tǒng)具體過程如下:移植LINUX操作系統(tǒng)需要移植四個文件vivi、kernek、root和fs,這四個文件分別是:

      Vivi—linux操作系統(tǒng)啟動的bootloader;

      ZImage—linux操作系統(tǒng)內(nèi)核;

      root.cramfs—根文件系統(tǒng);

      yaffs.tar.bz2—應(yīng)用程序壓縮包;

      具體移植操作可見文獻(xiàn)[4,5]。

      (2)在上位機上編譯好可執(zhí)行文件,通過Qmake和make工具,本系統(tǒng)最終編譯的程序為project。

      (3)通過NFS服務(wù)或者U盤將生成的文件移植到開發(fā)板上,當(dāng)然,開發(fā)板上的環(huán)境已經(jīng)搭建好了,里面有所需要的庫文件。NFS服務(wù)這種方式比較慢,而用U盤的方式很快的。

      (4)查看開發(fā)板上環(huán)境變量的設(shè)置,環(huán)境變量設(shè)置非常重要,如果這個設(shè)置不正確,則應(yīng)用程序不能再開發(fā)板上運行。通過命令:Vi/etc/profile

      (5)運行該程序:./ project -qws

      運行界面如圖3和圖4所示。

      圖3 視頻模塊 圖4 音頻模塊

      Fig.3 Video module Fig.4 Audio module

      4 結(jié)論(Conclusion)

      本設(shè)計以嵌入式Linux為操作系統(tǒng),基于ARM9的平臺開發(fā),利用Qt進(jìn)行圖形界面設(shè)計,再通過相關(guān)環(huán)境配置及LCD和觸摸屏的驅(qū)動開發(fā)設(shè)計,使得開發(fā)應(yīng)用程序運行在ARM9開發(fā)板。該系統(tǒng)開發(fā)為嵌入式系統(tǒng)應(yīng)用開發(fā)提供一定的思路,而且應(yīng)用程序移植性好,可廣泛應(yīng)用各類嵌入式音視頻系統(tǒng)中。

      參考文獻(xiàn)(References)

      [1] 王建民,張宏壯.基于Qt的嵌入式媒體播放器的設(shè)計與實現(xiàn)

      [J].微計算機信息,2009,(4):8-9.

      [2] Kim J,et al.Efficient Metadata Management for Flash File

      Systems.11th IEEE International Symposium on Object

      Oriented Real- Time Distributed Computing,2008:535-540.

      [3] 任亞飛,唐濤.基于嵌入式Linux的列控系統(tǒng)人機界面的實現(xiàn)

      [J].鐵路計算機應(yīng)用,2005,(4):23-26.

      [4] 陳云鶴,徐晶.基于QT/Embedded的媒體播放器的設(shè)計與實

      現(xiàn)[J].微型電腦應(yīng)用,2006,8(22):33-34;52.

      [5] 馬勇,等.嵌入式多媒體播放器的系統(tǒng)設(shè)計與實現(xiàn)[J].杭州電

      子科技大學(xué)學(xué)報,2006,2(26):60-63.

      作者簡介:

      王棟財(1990-),男,學(xué)士.研究領(lǐng)域:計算機應(yīng)用.

      梁隆愷(1991-),男,學(xué)士,研究領(lǐng)域:計算機應(yīng)用.

      韓改寧(1977-),女,碩士,講師.研究領(lǐng)域:嵌入式系統(tǒng)應(yīng)用,

      智能機器人.

      王 凡(1989-),男,學(xué)士.研究領(lǐng)域:軟件開發(fā).

      王 煬(1990-),男,學(xué)士.研究領(lǐng)域:計算機應(yīng)用.endprint

      猜你喜歡
      嵌入式
      TS系列紅外傳感器在嵌入式控制系統(tǒng)中的應(yīng)用
      電子制作(2019年7期)2019-04-25 13:17:14
      嵌入式系統(tǒng)通信技術(shù)的應(yīng)用
      電子制作(2018年18期)2018-11-14 01:48:16
      搭建基于Qt的嵌入式開發(fā)平臺
      嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
      Altera加入嵌入式視覺聯(lián)盟
      倍福 CX8091嵌入式控制器
      自動化博覽(2014年4期)2014-02-28 22:31:15
      巩义市| 江达县| 安乡县| 武强县| 海口市| 高清| 开原市| 新郑市| 进贤县| 平顺县| 无为县| 齐河县| 富宁县| 张家川| 沾化县| 西充县| 蓝田县| 银川市| 师宗县| 桃园市| 岳池县| 定安县| 璧山县| 海南省| 孟村| 儋州市| 临夏县| 烟台市| 凤城市| 康保县| 新平| 新兴县| 青冈县| 水富县| 潜江市| 宝清县| 五华县| 壶关县| 西林县| 大庆市| 洪江市|