亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

        2014-08-07 12:08:30解爭龍丁要軍
        微處理機 2014年4期
        關(guān)鍵詞:嵌入式操作系統(tǒng)開發(fā)板播放器

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

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

        ·微機應(yīng)用·

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

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

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

        隨著嵌入式處理器運算能力不斷增強,影音娛樂已經(jīng)成為人們?nèi)粘I钪斜夭豢缮俚囊徊糠?。設(shè)計以博創(chuàng)公司ARM9開發(fā)板(UP-TECH2410)為平臺,以Linux為開發(fā)環(huán)境,Qt為開發(fā)工具,詳細(xì)介紹了硬件平臺搭建,嵌入式操作系統(tǒng)選型,Qt Designer以及視頻播放器的設(shè)計方法。實現(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設(shè)計;視頻播放器;嵌入式Linux

        1 引 言

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

        2 Qt介紹

        Qt是奇趣公司開發(fā)的基于C++跨平臺的應(yīng)用程序開發(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等基于模板的類及正則表達(dá)式的處理方法。

        (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)廠家、復(fù)雜多樣的內(nèi)核結(jié)構(gòu),其中ARM9系列微處理器在低功耗、高性能方面表現(xiàn)的尤為突出。此外,ARM9系列微處理器主要應(yīng)用于機頂盒、無線設(shè)備、安全系統(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ā)板采用核心板與擴展板相分離的設(shè)計模式,通過外接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ā)是至關(guān)重要的,一是要選擇合適的嵌入式操作系統(tǒng),二是在選定系統(tǒng)下進行系統(tǒng)編程。

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

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

        3.2.2 Qt Designer平臺的搭建

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

        ①下載Vmware 6.5;

        ②安裝Vmware 6.5;

        ③在硬盤上預(yù)留15G-20G空間;

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

        ⑤安裝Redhat;

        (2)更新Redhat軟件源

        ①下載sources.list;

        ②cp sources.list/etc/apt//修改源服務(wù)器;

        ③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 視頻播放軟件的設(shè)計與實現(xiàn)

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

        4.1 LCD顯示模塊程序設(shè)計

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

        圖3 LCD顯示程序流程圖

        4.2 觸摸屏控制原理

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

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

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

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

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

        設(shè)計Mplayer的界面有兩種方法,第一種是直接解剖Mplayer,修改它里面的代碼,這樣設(shè)計的界面就能夠和Mplayer一體了;第二種方法就是mplayer的slave模式。所謂slave模式[8],就是Mplayer在運行時能夠接收用戶的輸入命令,運行在Slave模式的Mplayer可以和系統(tǒng)的標(biāo)準(zhǔn)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");//關(guān)靜音

        ⑤上/下一視頻的播放

        利用QstringList類打開視頻列表:

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

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

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

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

        5 測試

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

        圖5 播放視頻界面

        6 結(jié)束語

        在ARM硬件平臺上,通過選用s3c2410開發(fā)板在Linux嵌入式實時操作系統(tǒng)環(huán)境下完成了視頻播放器的設(shè)計,通過測試,系統(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)在實際應(yī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)與接口技術(shù)[M].北京:人民郵電出版,2012.

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

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

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

        [7]王震,林小川,周運練,等.基于QT4&Linux多媒體播放器系統(tǒng)的設(shè)計與實現(xiàn)[J].貴州大學(xué)學(xué)報(自然科學(xué)版),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)的設(shè)計[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

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

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

        2014-04-18

        猜你喜歡
        嵌入式操作系統(tǒng)開發(fā)板播放器
        Walkman誕生40周年 索尼適時發(fā)布NW-ZX500和NW-A100系列播放器
        基于STM32的MP3播放器設(shè)計
        電子制作(2019年9期)2019-05-30 09:41:44
        典型實時嵌入式操作系統(tǒng)應(yīng)用分析
        電子測試(2018年23期)2018-12-29 11:11:30
        Moon ACE播放器/放大器一體機
        Microchip最新推出兩款PIC32 Curiosity開發(fā)板
        淺析單片機開發(fā)板的設(shè)計與制作
        電子制作(2017年22期)2017-02-02 07:10:14
        基于嵌入式操作系統(tǒng)的工業(yè)采集板設(shè)計
        播放器背板注塑模具設(shè)計
        中國塑料(2015年8期)2015-10-14 01:10:55
        應(yīng)用服務(wù)型人才培養(yǎng)體系下的嵌入式操作系統(tǒng)教學(xué)改革探索
        Mouser為您呈上開發(fā)關(guān)鍵之STMicroelectronics Nucleo開發(fā)板
        公与淑婷厨房猛烈进出| 美女黄频视频免费国产大全 | 青春草在线视频免费观看| 国产高清乱理伦片| 国产精品久久婷婷婷婷| 一区二区三区人妻在线| 天天射综合网天天插天天干| 艳妇臀荡乳欲伦交换h在线观看| аⅴ资源天堂资源库在线| 亚洲一区二区三区日本久久九| 国产aⅴ丝袜旗袍无码麻豆| 国产精女同一区二区三区久| 国产av激情舒服刺激| 人妻少妇偷人精品无码| 国产精品国产三级国av| 亚洲无码啊啊啊免费体验| 精品国产女主播一区在线观看| 91中文人妻熟女乱又乱| 中文字幕在线精品视频入口一区| 欧美情侣性视频| 秀人网嫩模李梓熙大尺度 | 国产自拍视频在线观看免费 | 免费操逼视频| 久久免费区一区二区三波多野在| 亚洲码国产精品高潮在线| 五月天精品视频在线观看| 国产一区二区三区高清视频| 日本高清在线播放一区二区| 欧美性白人极品1819hd| 亚洲av无码av制服另类专区 | 国产女人的高潮国语对白| 亚洲熟妇色xxxxx欧美老妇y| 亚洲日本人妻中文字幕| 国产高清视频在线不卡一区| 大ji巴好深好爽又大又粗视频| 一本久久a久久精品亚洲| 男女高潮免费观看无遮挡| 精品亚洲一区二区三洲| 伊甸园亚洲av久久精品| 无码久久精品国产亚洲av影片| 视频二区 无码中出|