• 
    

    
    

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

      ?

      基于樹莓派的高清視頻播放器的設(shè)計(jì)與實(shí)現(xiàn)

      2015-10-19 10:55顧艷華王闖
      科技視界 2015年29期
      關(guān)鍵詞:樹莓派物聯(lián)網(wǎng)

      顧艷華+王闖

      【摘 要】樹莓派卡片電腦是研究物聯(lián)網(wǎng),智能機(jī)器人等領(lǐng)域的天然開發(fā)板,基于樹莓派的高清視頻播放終器的設(shè)計(jì)與實(shí)現(xiàn)具有很強(qiáng)的實(shí)踐參考價值。介紹了樹莓派的軟硬件研發(fā)環(huán)境及其發(fā)展,給出了基于樹莓派設(shè)計(jì)實(shí)現(xiàn)高清視頻播放器的軟硬件設(shè)計(jì)及移植開發(fā)環(huán)境,并基于樹莓派移植了高清視頻解碼模塊,實(shí)現(xiàn)了基于樹莓派的高清(720P及1080P)視頻的播放系統(tǒng)。經(jīng)測試,該系統(tǒng)性能卓越,實(shí)用創(chuàng)新性強(qiáng)。

      【關(guān)鍵詞】樹莓派;高清視頻;視頻播放器;物聯(lián)網(wǎng);H264;AAC

      0 引言

      體積如名片大小的樹莓派是基于ARM控制器和Linux系統(tǒng)的單板機(jī)電腦,它具有計(jì)算機(jī)主機(jī)的所有功能和接口,如USB,RJ45, SD-IO,HDMI及GPIO接口等,廣泛支持基于Linux 的發(fā)行版和Windows 10的操作系統(tǒng)[1]。樹莓派體積小巧,具有可擴(kuò)展性強(qiáng),社區(qū)廣泛等優(yōu)勢,它是研究物聯(lián)網(wǎng),智能機(jī)器人等領(lǐng)域的良好的、天然的原型開發(fā)平臺。樹莓派自2012年首版在英國發(fā)布至今,深受全球計(jì)算機(jī)愛好者的熱烈研究,來自全球的計(jì)算機(jī)軟硬件愛好者們基于樹莓派開發(fā)了眾多的創(chuàng)新功能,如機(jī)器人飛行器,家庭自動化,天氣預(yù)報(bào)站,超級電腦,有聲書籍播放器等等[2]。

      隨著高清視頻資源的日益豐富和用戶對高清視頻播放需求的越來越多,高清視頻終端播放器的設(shè)計(jì)和開發(fā)面臨著越來越多的需求和挑戰(zhàn), 如:更小巧便攜、更強(qiáng)的處理能力等。本文基于B型樹莓派,搭建了基于其上的軟件移植開發(fā)環(huán)境,利用其強(qiáng)大的GPU視頻處理能力,開發(fā)移植了H264高清視頻解碼模塊,成功實(shí)現(xiàn)了基于其上的720P和1080P高清視頻播放器。

      本文共分為三個部分:第一部分高清播放器系統(tǒng)分析與設(shè)計(jì),介紹了樹莓派的軟硬件開發(fā)環(huán)境及其演進(jìn),及基于樹莓派的高清視頻播放器系統(tǒng)架構(gòu)及設(shè)計(jì);第二部分詳敘了本系統(tǒng)高清音視頻解碼模塊在樹莓派環(huán)境中的移植;最后總結(jié)了本系統(tǒng)的性能測試數(shù)據(jù)。

      1 高清播放器系統(tǒng)設(shè)計(jì)

      1.1 樹莓派硬件開發(fā)環(huán)境及演進(jìn)

      2012年英國樹莓派基金會宣布樹莓派平板電腦正式發(fā)布,第一代樹莓派分為A型和B型兩款,二者硬件配置略有不同,主要體現(xiàn)在B型有512MB內(nèi)存而A型有512MB內(nèi)存。2015年2月,樹莓派基金會宣布推出二代樹莓派卡片電腦B型,在硬件配置上又進(jìn)一步升級,比如CPU由700MHz的單核心升級到900MHz的四核心,內(nèi)存由512MB升級到1GB以及支持更多的外設(shè)擴(kuò)展接口等。

      1.2 樹莓派軟件開發(fā)環(huán)境及演進(jìn)

      第一代樹莓派基于Linux系統(tǒng),典型的如Raspbian,ARCH Linux ARM等。隨著樹莓派社區(qū)的壯大, 樹莓派已被越來越多的操作系統(tǒng)支持。據(jù)2015年2月報(bào)告顯示,Windows 10 和 Android平臺已證實(shí)支持樹莓派,其它典型的如FreeBSD,WebOS,Debian Linux等操作系統(tǒng)均已支持樹莓派。完整的支持樹莓派的操作系統(tǒng)列表參見[3]。

      樹莓派基于ARM系列CPU系統(tǒng),應(yīng)用軟件可移植環(huán)境強(qiáng),GNU/Linux工具鏈已經(jīng)較好的支持樹莓派系統(tǒng)軟件開發(fā)移植。成熟的支持樹莓派開發(fā)的編程語言有:C及C++,Python,Java,Golang等語言。典型的集成開發(fā)環(huán)境有KDevelop, Bluej IDE, Eclipse及Visual Studio等。

      基于樹莓派的高清視頻播放器軟件開發(fā)環(huán)境如下:

      1)操作系統(tǒng): Raspbian OS

      2)編譯及調(diào)試器: GCC, G++及GDB

      3)集成開發(fā)環(huán)境: Eclipse IDE for C/C++

      1.3 樹莓派高清視頻播放器系統(tǒng)設(shè)計(jì)

      基于樹莓派的高清視頻播放器系統(tǒng)主要設(shè)計(jì)為三個模塊: 高清音視頻數(shù)據(jù)輸入模塊, 音視頻數(shù)據(jù)解碼模塊及音視頻輸出渲染模塊。系統(tǒng)架構(gòu)邏輯模塊設(shè)計(jì)如圖1所示。

      音視頻數(shù)據(jù)輸入模塊(I)-典型的音視頻數(shù)據(jù)支持H264編碼視頻數(shù)據(jù)及FAAC編碼音頻數(shù)據(jù), 數(shù)據(jù)封裝格式支持mp4及MPEG Transport Stream (TS)格式[4];數(shù)據(jù)源讀取可支持本地MP4封裝格式,及支持從網(wǎng)絡(luò)端讀取TS封裝格式;輸入模塊(I)與OMXPlayer播放器模塊(P)間采用生產(chǎn)者-消費(fèi)者模型,設(shè)計(jì)并發(fā)隊(duì)列Queue(Q)作為二者之間數(shù)據(jù)通信模型;視頻解碼模塊(V)與音頻解碼模塊(A)為消費(fèi)者。功能上數(shù)據(jù)輸入模塊解封裝音視頻數(shù)據(jù)包,并標(biāo)記時間戳T,后分別放入并發(fā)隊(duì)列Q。

      OMXPlayer播放器模塊(P)-基于開源OMXPlayer模型移植,分別采用基于FFmpeg向樹莓派移植的高清視頻解碼模塊(V)和基于FAAC向樹莓派移植的音頻解碼模塊(A)。功能上播放器模塊讀取并發(fā)隊(duì)列音視頻數(shù)據(jù),分別解碼后輸出給音視頻輸出模塊(O)。

      音視頻輸出模塊(O)-基于輸入模塊標(biāo)記時間戳T,向HDMI接口寫輸出音視頻數(shù)據(jù)。

      關(guān)鍵技術(shù)音視頻同步算法-基于以上模塊設(shè)計(jì),以下算法被設(shè)計(jì)為解決數(shù)據(jù)輸出時音視頻同步問題,經(jīng)過此算法處理的音視頻數(shù)據(jù)為時間同步數(shù)據(jù),作為音視頻解碼模塊和輸出模塊的輸入實(shí)現(xiàn)音視頻同步。

      音視頻同步算法:

      Step 1:(I)模塊讀取ts時長TS或MP4封裝數(shù)據(jù),去除頭部封裝信息并獲取視頻幀率F

      Step 2:獲取當(dāng)期系統(tǒng)時間T

      線程1: 處理音頻數(shù)據(jù)

      Step 3:將當(dāng)前ts時長音頻數(shù)據(jù)標(biāo)簽為時間T,并將數(shù)據(jù)放入Q

      線程2: 處理視頻數(shù)據(jù)

      Step 4: 記錄當(dāng)前系統(tǒng)時間t1

      Step 5: 讀取ts/F時長視頻幀,標(biāo)簽為時間T,并將數(shù)據(jù)放入Q

      Step 6:記錄當(dāng)前系統(tǒng)時間t2 及 時間消耗 SumT= t2-t1

      Step 7:IF SumT>=ts轉(zhuǎn)到Step1

      否則轉(zhuǎn)到Step4

      2 高清音視頻解碼模塊移植

      基于開源OMXPlayer播放器模型,基于樹莓派的高清視頻播放器移植了音、視頻解碼模塊到樹莓派系統(tǒng)中,此移植關(guān)鍵在于充分利用樹莓派GPU多媒體處理指令及技術(shù)。

      2.1 H.264視頻解碼模塊移植

      H.264/MPEG-4 AVC[5]是一種面向塊的基于運(yùn)動補(bǔ)償?shù)木幗獯a器標(biāo)準(zhǔn)。由ITU-T視頻編碼專家組與ISO/IEC聯(lián)合工作組開發(fā),它也被廣泛用于網(wǎng)絡(luò)流媒體數(shù)據(jù),網(wǎng)絡(luò)軟件以及各種高清晰度電視陸地廣播系統(tǒng)中。

      高清視頻解碼模塊基于開源標(biāo)準(zhǔn)庫FFmpeg及X264庫移植,面向樹莓派的移植主要解決了FFmpeg及X264程序庫在樹莓派ARM平臺的編譯鏈接問題, 其關(guān)鍵語法如下:

      2.2 ACC音頻解碼模塊移植

      高級音頻編碼AAC(Advanced Audio Coding)基于MPEG-2的音頻編碼技術(shù)是一種取代MP3的高壓縮比的音頻壓縮算法。AAC壓縮比通常為18:1,遠(yuǎn)勝mp3;在音質(zhì)方面,由于采用多聲道,更高的采樣率和采樣精度,以及使用低復(fù)雜性的描述方式,使其比幾乎所有的傳統(tǒng)編碼方式在同規(guī)格的情況下更勝一籌。

      AAC音頻解碼模塊基于FAAC開源音頻解碼標(biāo)準(zhǔn)庫向樹莓派移植。移植過程分為兩步,第一步需先交叉編譯FAAC庫;第二部需再次交叉編譯FFmpeg,同時激活X264及FAAC模塊。其關(guān)鍵語法如下:

      3 總結(jié)

      3.1 系統(tǒng)測試性能參數(shù)

      將B型樹莓派,連接顯示器、鍵盤,鼠標(biāo),移動硬盤等外部設(shè)備,然后在樹莓派上運(yùn)行編譯后的高清視頻播放器OMXPlayer,設(shè)計(jì)實(shí)現(xiàn)的高清視頻播放器用戶接口如下:

      經(jīng)測試,基于樹莓派的高清視頻播放器,性能良好,具有以下測試參數(shù)。

      3.2 結(jié)束語

      本文設(shè)計(jì)并實(shí)現(xiàn)了基于樹莓派實(shí)現(xiàn)的高清視頻播放器,該原型系統(tǒng)經(jīng)測試,性能卓越,體積小,可攜帶性強(qiáng)。本系統(tǒng)中運(yùn)用的設(shè)計(jì)方案和基于樹莓派的軟硬件開發(fā)經(jīng)驗(yàn)為進(jìn)一步研究基于樹莓派的其他應(yīng)用具有一定的實(shí)踐參考意義。

      【參考文獻(xiàn)】

      [1]李明,譯.Linux+樹莓派玩轉(zhuǎn)智能家居(第2版)[M].北京:人民郵電出版社,2014,6.

      [2]Peter Membrey David Hows.樹莓派學(xué)習(xí)指南-(基于Linux)[M].北京:人民郵電出版社,2014,4.

      [3]Brendan Horan. RaspberryPi樹莓派實(shí)作應(yīng)用[M].北京:人民郵電出版社,2014,5.

      [4]董杰,辛吉濤,連捷.基于Android系統(tǒng)的H.264視頻直播技術(shù)研究.電視技術(shù),2015(2).

      [5]蔡麗艷.基于H.264嵌入式網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)的研究與實(shí)現(xiàn)[M].南京郵電大學(xué),2013.

      [責(zé)任編輯:鄧麗麗]

      猜你喜歡
      樹莓派物聯(lián)網(wǎng)
      智能安全防盜探測小車
      基于LABVIEW的溫室管理系統(tǒng)的研究與設(shè)計(jì)
      論智能油田的發(fā)展趨勢及必要性
      中國或成“物聯(lián)網(wǎng)”領(lǐng)軍者
      基于嵌入式技術(shù)的農(nóng)村醫(yī)療系統(tǒng)設(shè)計(jì)
      景泰县| 定边县| 凤阳县| 邓州市| 德安县| 五常市| 云阳县| 新泰市| 肃宁县| 高邑县| 文化| 株洲市| 顺义区| 鄯善县| 普洱| 多伦县| 灵川县| 通辽市| 罗江县| 武城县| 临漳县| 建湖县| 随州市| 信阳市| 尤溪县| 绥芬河市| 清涧县| 新营市| 杭锦旗| 岳西县| 白银市| 宜兴市| 板桥市| 定日县| 砚山县| 定远县| 桑植县| 格尔木市| 溧阳市| 宁海县| 竹山县|