999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Qt&Linux視頻播放器的設計與實現(xiàn)?

2014-08-07 12:08:30解爭龍丁要軍
微處理機 2014年4期
關鍵詞:嵌入式系統(tǒng)設計

張 偉,解爭龍,丁要軍,王 維

(咸陽師范學院信息工程學院,咸陽712000)

·微機應用·

基于Qt&Linux視頻播放器的設計與實現(xiàn)?

張 偉,解爭龍,丁要軍,王 維

(咸陽師范學院信息工程學院,咸陽712000)

隨著嵌入式處理器運算能力不斷增強,影音娛樂已經(jīng)成為人們?nèi)粘I钪斜夭豢缮俚囊徊糠?。設計以博創(chuàng)公司ARM9開發(fā)板(UP-TECH2410)為平臺,以Linux為開發(fā)環(huán)境,Qt為開發(fā)工具,詳細介紹了硬件平臺搭建,嵌入式操作系統(tǒng)選型,Qt Designer以及視頻播放器的設計方法。實現(xiàn)了Linux下對LCD的顯示功能及開發(fā)板觸摸屏控制的實現(xiàn)。通過測試,系統(tǒng)運行正常,性能穩(wěn)定。開發(fā)過程以ARM9與Linux操作系統(tǒng)結(jié)合開發(fā)的模式突破了以往的嵌入式開發(fā)架構(gòu),為嵌入式系統(tǒng)開發(fā)開辟了一種新途徑。

嵌入式系統(tǒng);Qt設計;視頻播放器;嵌入式Linux

1 引 言

嵌入式互動視窗是在linux下一個集音頻、視頻播放于一體的多媒體娛樂軟件。隨著用戶要求的不斷提高,越來越多的嵌入式設備開始采用復雜的圖形功能。Qt以其強大的功能、良好的可移植性逐漸成為一種被廣泛使用的GUI開發(fā)系統(tǒng)[1]。由于嵌入式操作系統(tǒng)的不斷發(fā)展和完善,使得嵌入式軟件開發(fā)及應用不斷深入。嵌入式視頻播放器提供給人們各種視聽享受,已成為嵌入式系統(tǒng)中不可缺少的組成部分。目前,視頻播放器已廣泛應用到各類嵌入式產(chǎn)品中,如汽車電子、樓宇對講等。因此在基于Qt的嵌入式系統(tǒng)中實現(xiàn)視頻播放器具有一定的實用價值。

2 Qt介紹

Qt是奇趣公司開發(fā)的基于C++跨平臺的應用程序開發(fā)框架。Qt是面向?qū)ο蟮目蚣?,使用元對象編譯器(Meta Object Compiler,moc)及一些宏,允許組件編程,其主要特點如下[2]:

(1)優(yōu)良的跨平臺特性

Qt支持Microsoft Windows、Linux,Solaris、Sun、UNIX(OSF/1,Tru64),QNX等操作系統(tǒng)。

(2)面向?qū)ο?/p>

Qt具有良好的封裝性、可重用性,高度的模塊化,通過signals/slots使得元件的協(xié)同變得非常簡單。

(3)豐富的API

Qt提供了二百多個C++類,提供了collections,serialization,file,I/O device等基于模板的類及正則表達式的處理方法。

(4)擁有大量的開發(fā)文檔,提供了對2D/3D圖形渲染、OpenGL、XML等的支持。

3 硬件環(huán)境搭建

3.1 硬件平臺的選取

系統(tǒng)的硬件平臺主要由嵌入式處理器、外圍電路、液晶顯示屏和觸摸屏等組成,硬件平臺的框圖如圖1所示。

3.1.1 處理器的選型

為了能夠保證系統(tǒng)對實時性、大量數(shù)據(jù)的處理能力、擴展接口等各方面的要求,本系統(tǒng)采用高端處理器——32位RISC處理器ARM。

(1)ARM處理器的選擇

ARM處理器具有高性能、低功耗、低成本等顯著優(yōu)點[4]。ARM微處理器擁有眾多的芯片生產(chǎn)廠家、復雜多樣的內(nèi)核結(jié)構(gòu),其中ARM9系列微處理器在低功耗、高性能方面表現(xiàn)的尤為突出。此外,ARM9系列微處理器主要應用于機頂盒、無線設備、安全系統(tǒng)等方面。通過分析,最終選用ARM9系列微處理器。

圖1 系統(tǒng)硬件平臺框圖

(2)ARM9開發(fā)板

在確定ARM處理器的選型之后,最終選定了博創(chuàng)科技有限公司的ARM9開發(fā)板UPTECH2410[4]。UP-TECH2410的內(nèi)核是SanSung公司的32位ARM920T處理器S3C2410,本開發(fā)板采用核心板與擴展板相分離的設計模式,通過外接LCD轉(zhuǎn)接卡連接液晶顯示模塊,適合本系統(tǒng)的開發(fā),開發(fā)板結(jié)構(gòu)如圖2所示。

圖2 UP-TECH2410開發(fā)板

3.1.2 顯示模塊

LCD(Liquid Crystal Display)液晶顯示器,具有低功耗、高畫質(zhì)、輕巧、平板型結(jié)構(gòu)、不刺激眼睛、無電磁輻射等優(yōu)點[5]。此外,它還具有顯示字符規(guī)范、可漢字化、能顯示各種圖形、曲線等豐富內(nèi)容的優(yōu)勢。本系統(tǒng)采用開發(fā)板上自帶的TFT型3.5寸 LCD顯示屏,分辨率為640*480。

3.2 嵌入式視頻播放平臺的搭建

系統(tǒng)平臺的搭建對于視頻播放的開發(fā)是至關重要的,一是要選擇合適的嵌入式操作系統(tǒng),二是在選定系統(tǒng)下進行系統(tǒng)編程。

3.2.1 嵌入式操作系統(tǒng)選型

嵌入式操作系統(tǒng)主要對嵌入式系統(tǒng)的軟、硬件資源進行有效管理、合理調(diào)度及嚴格控制。目前較為流行的嵌入式操作系統(tǒng)有:Linux、WinCE、OSE等。Linux操作系統(tǒng)己經(jīng)發(fā)展成嵌入式操作系統(tǒng)家族的主要成員,Linux在嵌入式開發(fā)方面的主要優(yōu)勢有[6]:①Linux是開源代碼的,不存在黑箱技術;②Linux的內(nèi)核小、效率高,更新速度快;③Linux是免費的OS;④Linux是一個跨平臺的系統(tǒng),可以支持幾十種CPU,且性能穩(wěn)定,裁剪性較好;⑤Linux的平臺移植速度遠遠超過Java的開發(fā)環(huán)境等。

3.2.2 Qt Designer平臺的搭建

(1)Redhat操作系統(tǒng)環(huán)境的搭建[7]

①下載Vmware 6.5;

②安裝Vmware 6.5;

③在硬盤上預留15G-20G空間;

④創(chuàng)建虛擬機;

⑤安裝Redhat;

(2)更新Redhat軟件源

①下載sources.list;

②cp sources.list/etc/apt//修改源服務器;

③apt-get update//更新列表;

(3)搭建開發(fā)環(huán)境

①安裝c++開發(fā)環(huán)境;

apt-get install build-essential

②安裝gtk+2.0開發(fā)包

apt-getinstall libgtk2.0-dev libgconf2-dev libgnomeui-dev libpanelappletmm-2.6-dev

(4)安裝中文輸入法

apt-get install ibus ibus-pinyinim-switch-s ibus

(5)安裝中文字體

apt-get install xfonts-wqy

(6)安裝局域網(wǎng)通信軟件ipmsg

①下載g2ipmsg-0.9.6.tar.gz

(http://www.ipmsg.org/index.html.en)

②tar zxvf g2ipmsg-0.9.6.tar.gz

③./configure--prefix=/usr--sysconfdir=/etc--enable-systray

④make

⑤make install

⑥Reset

4 視頻播放軟件的設計與實現(xiàn)

嵌入式視頻播放主要實現(xiàn)在Linux下播放音頻、視頻文件。用戶通過LCD屏來觀看視頻文件,并通過觸摸屏實現(xiàn)人機交互。

4.1 LCD顯示模塊程序設計

嵌入式視頻播放主要是在開發(fā)板自帶的LCD顯示屏上顯示當前所播放的視頻或者音頻文件,其流程如圖3。首先初始化LCD,調(diào)用PutPixel()函數(shù)對LCD屏的畫點設計,對LCD清屏,通過Glib_ ClearScr()函數(shù)將顯存賦值為黑色,調(diào)用各類相關的圖形顯示函數(shù),如lib_Line()、DisplayPicture()等來建立窗口,通過延時函數(shù)進行圖形顯示延時Delay(),最后通過LcdTest()函數(shù)激活,查看顯示結(jié)果。

圖3 LCD顯示程序流程圖

4.2 觸摸屏控制原理

觸摸屏坐標獲取及轉(zhuǎn)換程序通過初始化程序設置,啟動各個硬件接口,Linux中斷函數(shù)將中斷服務程序TouchIRQ和中斷向量INT_LVL_ADC直接綁定,實現(xiàn)實時系統(tǒng)中硬件中斷處理。因為Linux是以中斷方式通知系統(tǒng)外部事件的發(fā)生,為了快速響應中斷,中斷服務程序QT Designer運行在特定的空間,不同于其它任何任務,因此中斷處理沒有任務的上下文切換。

4.3 視頻播放器的實現(xiàn)過程

4.3.1 播放器功能實現(xiàn)

視頻播放器的設計任務是在linux系統(tǒng)下,用QT做一個Mplayer界面,來實現(xiàn)視頻文件的播放、停止、快進等功能,并把程序移植到ARM平臺上。

(1)實現(xiàn)原理

設計Mplayer的界面有兩種方法,第一種是直接解剖Mplayer,修改它里面的代碼,這樣設計的界面就能夠和Mplayer一體了;第二種方法就是mplayer的slave模式。所謂slave模式[8],就是Mplayer在運行時能夠接收用戶的輸入命令,運行在Slave模式的Mplayer可以和系統(tǒng)的標準I/O進行交互。在Qt中,通過定義一個QProcess對象調(diào)用已編譯好的Mplayer,例如:

QProcess*process=new QProcess();

process->setProcessChannelMode(QProcess::MergedChannels);

綜上所述,選擇第二種方法來實現(xiàn)播放器的功能。

(2)基本功能的實現(xiàn)

①暫停功能

Process->write(“pause”);

②快進功能

③音量調(diào)節(jié)

Process->write(“volume-1”);//減小音量

Process->write(“volume+1”);//增加音量

④靜音功能

Process->write("mute 0");//開靜音

Process->write("mute 1");//關靜音

⑤上/下一視頻的播放

利用QstringList類打開視頻列表:

QStringLjst files=dir.entryList(”videofile”,QDir::Files);該函數(shù)將當前播放的文件與列表中文件一一比較,并且計數(shù),當比較到相同的文件后,將此時的計數(shù)值減l或加1就得到了下一個視頻或上一個視頻的文件名,然后將其播放。

4.3.2 數(shù)據(jù)流程設計

音視頻流程如圖4[9],輸入模塊從數(shù)據(jù)源讀入數(shù)據(jù),然后由分離器插件將多媒體數(shù)據(jù)分割為音頻和視頻數(shù)據(jù)。經(jīng)過音頻FIFO和視頻FIFO排隊處理,最后由音頻解碼器和視頻解碼器分別對音頻、視頻數(shù)據(jù)進行解碼。如果是音頻數(shù)據(jù)則進行重采樣,如果是視頻數(shù)據(jù)則讀取相應的幀,逐幀解碼。經(jīng)采樣的音頻、視頻數(shù)據(jù)送入對應輸出設備(如揚聲器、視頻設備)進行輸出。在數(shù)據(jù)處理整個過程中是以Qt提供的多線程方式完成數(shù)據(jù)的讀入、解碼等操作的,這樣在解碼的同事也能不斷地讀入數(shù)據(jù),以提高效率。

圖4 音視頻數(shù)據(jù)流程

5 測試

上位機上開發(fā)的應用程序通過網(wǎng)口和串口方式進行聯(lián)合測試,應用程序下載到目標機上,通過串口反饋的信息查看目標機運行情況。通過軟硬件聯(lián)合調(diào)試,基于嵌入式的Linux視頻播放器運行正常,如圖5所示。

圖5 播放視頻界面

6 結(jié)束語

在ARM硬件平臺上,通過選用s3c2410開發(fā)板在Linux嵌入式實時操作系統(tǒng)環(huán)境下完成了視頻播放器的設計,通過測試,系統(tǒng)運行正常,性能穩(wěn)定。本系統(tǒng)開發(fā)過程中選用基于ARM9與Linux操作系統(tǒng)結(jié)合的開發(fā)方法突破了以往嵌入式開發(fā)架構(gòu)(通常ARM與VxWorks、WinCE結(jié)合開發(fā),Linux與X86、PowerPC等系統(tǒng)結(jié)合),提高了系統(tǒng)在實際應用中的可靠性,穩(wěn)定性,同時也是本文的一大創(chuàng)新。下一步的工作是進一步完善人機交互界面,擴充聯(lián)網(wǎng)下載、視頻或電子游戲中控臺等功能。

[1]布蘭切特,薩墨菲爾德.C++GUIQ4編程(第2版)[M].閆鋒欣,等譯.北京:電子工業(yè)出版社,2008.

[2]蔡志明,盧傳富,李夏,等.精通Qt4編程(第2版)[M].北京:電子工業(yè)出版社,2012.

[3]劉洪濤.ARM嵌入式體系結(jié)構(gòu)與接口技術[M].北京:人民郵電出版,2012.

[4]博創(chuàng)智聯(lián).ARM9經(jīng)典雙核心教學科研平臺[EB/OL].[2014-3-1]5.http://www.up-tech.com/?productstudy/typeid/2/tid/3.html.

[5]孫俊喜.LCD驅(qū)動電路、驅(qū)動程序設計及典型應用[M].北京:人民郵電出版社,2009.

[6]羅怡桂.嵌入式Linux實踐教程[M].北京:清華大學出版社,2011.

[7]王震,林小川,周運練,等.基于QT4&Linux多媒體播放器系統(tǒng)的設計與實現(xiàn)[J].貴州大學學報(自然科學版),2006,22(8):34-35.

[8]Qt4編程的控制MPlayer[EB/OL].2011[2014-3-8].http://wenku.baidu.com/view/1d61a81dc281e53a 5802ff34.html.

[9]王建民,張宏壯.基于Qt的嵌入式媒體播放器系統(tǒng)的設計[J].微計算機信息,2008,24(7):64-64.

Design and Im plementation of Video Player Based on Qt and Linux

ZHANGWei,XIE Zheng-long,DING Yao-jun,WANGWei
(School of Information Engineering,XianYang Normal University,XianYang 712000,China)

With the increasing of embedded processor capacity,the video entertainment activity has become the necessary part of people's life.The ARM9 development board from UP-TECH2410 BO CHUANG Company is used as the platform,Linux as the development environment,and Qt for the development tool.The construction of the hardware platform,the selection of embedded operating system,the design methods of the Qt designer and video player are introduced in detail.The function of LCD display and touch screen control are completely implemented under Linux.The results show that the system runs normally and stably.The system design mode,combining ARM9 with Linux operating system,breaks through the previous embedded development architecture and provides a new way for the embedded system development.

Embedded System;Qt Design;Video Player;Embedded Linux

10.3969/j.issn.1002-2279.2014.04.024

TP319

:A

:1002-2279(2014)04-0074-04

國家自然科學基金(61102018);陜西省自然科學基礎研究計劃項目(2011JE011);咸陽師范學院專項科研基金項目(12XSYK068)

作者介紹:張偉(1981-),男,陜西禮泉人,碩士,講師,研究方向:可信計算、嵌入式系統(tǒng)與結(jié)構(gòu)。

2014-04-18

猜你喜歡
嵌入式系統(tǒng)設計
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無人機系統(tǒng)
ZC系列無人機遙感系統(tǒng)
北京測繪(2020年12期)2020-12-29 01:33:58
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
搭建基于Qt的嵌入式開發(fā)平臺
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應用
Altera加入嵌入式視覺聯(lián)盟
主站蜘蛛池模板: 欧美精品v| 中文字幕一区二区视频| 激情视频综合网| 国产一区二区精品福利| 毛片卡一卡二| 91免费国产在线观看尤物| 国产人妖视频一区在线观看| 国产又粗又猛又爽| 国产在线精品香蕉麻豆| 色噜噜狠狠狠综合曰曰曰| 亚洲一区第一页| 好久久免费视频高清| 亚洲精品第一在线观看视频| 国产aⅴ无码专区亚洲av综合网| 伊人五月丁香综合AⅤ| 国产永久在线观看| 亚洲中文在线视频| 亚洲国产看片基地久久1024| 中文字幕欧美成人免费| 成人亚洲视频| 在线观看91香蕉国产免费| 国产AV毛片| 久久网综合| 黄色网在线| 99爱视频精品免视看| 青青操视频在线| 亚洲天堂精品视频| 亚洲欧美一区二区三区麻豆| 十八禁美女裸体网站| 狠狠色成人综合首页| 2022精品国偷自产免费观看| 国产AV无码专区亚洲A∨毛片| 国产最爽的乱婬视频国语对白| 亚洲欧美自拍一区| 久久婷婷五月综合色一区二区| 少妇精品久久久一区二区三区| 国产毛片不卡| 欧美性精品| 99九九成人免费视频精品| 四虎亚洲国产成人久久精品| 91伊人国产| 无码中文AⅤ在线观看| 中文字幕伦视频| 久久精品视频亚洲| 亚洲色图欧美在线| 亚洲第一视频网| 美女被操黄色视频网站| 国产精品区网红主播在线观看| 99热免费在线| 老司机久久99久久精品播放| 香蕉视频在线观看www| 中文无码精品A∨在线观看不卡| 久久黄色小视频| 国产精品成人第一区| 亚洲精品制服丝袜二区| aⅴ免费在线观看| 亚洲天堂网在线观看视频| 中文字幕在线不卡视频| 亚洲欧美自拍一区| 免费无码又爽又刺激高| 天天综合网站| 国产午夜精品一区二区三区软件| 91亚瑟视频| 久久99国产精品成人欧美| 国产欧美在线观看精品一区污| 制服丝袜亚洲| 久久精品一品道久久精品| 久久99精品久久久久久不卡| 免费高清a毛片| 欧美亚洲欧美| 国产欧美在线观看一区| 国产第一页亚洲| 91av成人日本不卡三区| 亚洲三级视频在线观看| 日韩av高清无码一区二区三区| 国产永久在线视频| 欧美国产在线一区| 91久久夜色精品国产网站| 好紧太爽了视频免费无码| 日韩高清成人| 国产精品自在在线午夜区app| 97视频在线精品国自产拍|