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

嵌入式高清視頻文件的硬解碼播放實(shí)現(xiàn)

2017-03-13 05:37:45重慶郵電大學(xué)微電子工程重點(diǎn)實(shí)驗(yàn)室王代成朱仁義
電子世界 2017年4期
關(guān)鍵詞:嵌入式

重慶郵電大學(xué) 微電子工程重點(diǎn)實(shí)驗(yàn)室 王代成 徐 鵬 朱仁義

嵌入式高清視頻文件的硬解碼播放實(shí)現(xiàn)

重慶郵電大學(xué) 微電子工程重點(diǎn)實(shí)驗(yàn)室 王代成 徐 鵬 朱仁義

現(xiàn)了H264視頻和AAC音頻合成的高清視頻文件在Linux嵌入式平臺(tái)的播放方法。采用FFmpeg解碼庫(kù)對(duì)文件進(jìn)行格式封裝解碼,利用S5PV210處理器的MFC(Multi Format Codec)硬件編解碼模塊進(jìn)行音視頻解碼,實(shí)現(xiàn)了Linux系統(tǒng)下的音視頻同步播放,同時(shí)降低了高清視頻文件播放時(shí)對(duì)CPU資源的占用率。

嵌入式;高清視頻;硬解碼;音視頻同步

0.引言

高清視頻資源的日益豐富和用戶對(duì)移動(dòng)高清視頻播放需求的增長(zhǎng),使得基于嵌入式的高清視頻播放終端的設(shè)計(jì)成為巨大的需求。

開(kāi)源項(xiàng)目FFmpeg提供了一系列的多媒體視頻處理工具,但其包含的音頻/視頻解碼軟件庫(kù)在占用的CPU資源巨大,在低主頻的嵌入式終端中并不能良好運(yùn)行,所以低主頻的嵌入式終端需要配合視頻硬件加速解碼。三星公司推出的多媒體應(yīng)用處理器S5PV210采用ARM CortexTM-A8內(nèi)核,內(nèi)建MFC Multi Format Codec),支持MPEG-1/2/4、H.263、H.264等格式視頻的編解碼,非常適合應(yīng)用于高清視頻終端。因此本文提出了一種基于FFmpeg與S5PV210處理器的硬解碼相結(jié)合的高清視頻文件播放方法。

1.功能實(shí)現(xiàn)

1.1 整體設(shè)計(jì)

高清視頻文件播放的整體方案設(shè)計(jì)如圖1所示。

圖1 高清視頻播放的整體框圖

首先將高清視頻文件輸入至音視頻分離器,取出封裝中的音視頻幀并儲(chǔ)存于緩存中,為實(shí)現(xiàn)同步播放,這里定義一個(gè)結(jié)構(gòu)體儲(chǔ)存幀數(shù)據(jù)和時(shí)間戳:

typedef struct av_frame {

double timeStamp;

unsigned int size;

unsigned char* data;

char frameType;

} av_frame;

其中timeStamp代表音視頻幀時(shí)間戳; size代表幀長(zhǎng);data代表幀數(shù)據(jù)指針frameType代表視頻幀類型(音頻幀保留)。

以上述結(jié)構(gòu)作為節(jié)點(diǎn)建立音視頻緩存隊(duì)列,分別儲(chǔ)存音、視頻幀數(shù)據(jù)。

然后音視頻解碼器分別從音視頻隊(duì)列中取出幀數(shù)據(jù)進(jìn)行音視頻解碼,再將音視頻數(shù)據(jù)根據(jù)時(shí)間戳進(jìn)行音視頻同步播放。

1.2 文件封裝格式解碼

文件封裝格式解碼使用FFmpeg庫(kù),F(xiàn)Fmpeg庫(kù)功能十分強(qiáng)大,解碼步驟如下:

①初始化FFmpeg庫(kù);

②打開(kāi)本地高清視頻文件;

③讀出媒體文件信息,并使用串口輸出;

④讀取碼流中的音頻若干幀或者視頻一幀,按解碼時(shí)間戳dts順序存入緩存隊(duì)列中。然后重復(fù)步驟④直至碼流中所有數(shù)據(jù)幀讀取完畢;

⑤最后在程序結(jié)束時(shí)關(guān)閉文件。

1.3 視頻解碼

視頻解碼使用三星公司提供的MFC硬件解碼庫(kù)。解碼步驟如下:

①打開(kāi)MFC設(shè)備,將設(shè)備的物理地址映射至虛擬地址;②使用獲取設(shè)備的虛擬地址,即視頻幀的輸入地址;③初始化MFC設(shè)備為H264解碼模式;

④從緩存隊(duì)列中取出視頻幀,解析視頻幀按將SEI、SPS、PPS、I組合,而P幀和B幀作為獨(dú)立輸入,使用MFC解碼函數(shù)進(jìn)行解碼;

⑤獲取解碼后的數(shù)據(jù);

⑥重復(fù)步驟④⑤不斷的進(jìn)行數(shù)據(jù)解碼。

1.4 音頻解碼

音頻解碼使用開(kāi)源的的FAAD解碼庫(kù)。解碼步驟如下:

①?gòu)木彺骊?duì)列中取出AAC音頻幀,解析AAC幀頭信息,打開(kāi)FAAD解碼庫(kù);②使用步驟①中解析出來(lái)的幀頭信息對(duì)FAAD解碼庫(kù)初始化;③從音頻幀中取出去掉幀頭的AAC數(shù)據(jù),調(diào)用FAAD解碼庫(kù)函數(shù)進(jìn)行解碼,然后獲取解碼后的數(shù)據(jù);

④不斷的從緩存隊(duì)列中取出新的音頻幀,重復(fù)調(diào)用步驟③。

1.5 音視頻同步播放

Linux聲卡設(shè)備為阻塞性IO,只要用AAC幀頭信息中的參數(shù)設(shè)置,音頻就可以按固定速率進(jìn)行播放,并阻塞輸入。因此本文采用視頻同步到音頻的方式進(jìn)行音視頻同步。根據(jù)當(dāng)前音視頻顯示時(shí)間戳pts動(dòng)態(tài)調(diào)整每一幀視頻畫(huà)面播放的持續(xù)時(shí)間。

2.功能測(cè)試

實(shí)驗(yàn)采用天嵌E8開(kāi)發(fā)板,該開(kāi)發(fā)板采用S5PV210為處理器,內(nèi)存512MB,主頻1GHz,操作系統(tǒng)為L(zhǎng)inux。

圖3 高清視頻文件信息

圖4 高清視頻播放效果圖

整個(gè)程序編譯后代碼2.58MB。程序運(yùn)行后,內(nèi)存耗費(fèi)140MB,CPU耗費(fèi)14%。

程序運(yùn)行后,視頻解碼流暢且音視頻播放同步,使用調(diào)試串口輸出的視頻文件信息如圖3所示。

由以上信息,可知視頻是分辨率1920*1080的1080p高清視頻。

播放效果如圖4所示。

3.結(jié)束語(yǔ)

提出了嵌入式高清視頻文件硬解碼播放方法,使用功能豐富的FFmpeg開(kāi)源解碼庫(kù)進(jìn)行文件格式封裝解碼,同時(shí)使用S5PV210處理器進(jìn)行H264硬解碼,既支持了多格式的視頻文件封裝又降低了高清視頻播放時(shí)的對(duì)處理器資源的占用率。

[1]顧艷華,王闖.基于樹(shù)莓派的高清視頻播放器的設(shè)計(jì)與實(shí)現(xiàn)[J].科技視界,2015(29):30-30.

[2]楊富豪.高清視頻解碼技術(shù)研究[J].?dāng)?shù)字技術(shù)與應(yīng)用,2016(5): 86-86.

[3]王國(guó)裕,羅子文,張紅升.基于Linux系統(tǒng)的DMB接收終端設(shè)計(jì)[J].?dāng)?shù)字技術(shù)與應(yīng)用,2014(11):146-147.

[4]康維新.嵌入式Linux系統(tǒng)開(kāi)發(fā)與應(yīng)用[M].機(jī)械工業(yè)出版社,2011.

猜你喜歡
嵌入式
Focal&Naim同框發(fā)布1000系列嵌入式揚(yáng)聲器及全新Uniti Atmos流媒體一體機(jī)
TS系列紅外傳感器在嵌入式控制系統(tǒng)中的應(yīng)用
電子制作(2019年7期)2019-04-25 13:17:14
基于嵌入式Linux內(nèi)核的自恢復(fù)設(shè)計(jì)
嵌入式系統(tǒng)通信技術(shù)的應(yīng)用
電子制作(2018年18期)2018-11-14 01:48:16
嵌入式PLC的設(shè)計(jì)與研究
電子制作(2018年16期)2018-09-26 03:27:18
搭建基于Qt的嵌入式開(kāi)發(fā)平臺(tái)
基于嵌入式系統(tǒng)Windows CE的應(yīng)用程序開(kāi)發(fā)
嵌入式單片機(jī)在電機(jī)控制系統(tǒng)中的應(yīng)用探討
電子制作(2017年8期)2017-06-05 09:36:15
嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
Altera加入嵌入式視覺(jué)聯(lián)盟
主站蜘蛛池模板: 亚洲国产清纯| 日韩精品成人在线| а∨天堂一区中文字幕| 亚洲另类第一页| 国产丝袜第一页| 国产乱码精品一区二区三区中文| 伊人久久精品亚洲午夜| 91精品啪在线观看国产60岁| 国产精品久久久久久搜索| 99久久成人国产精品免费| 五月婷婷中文字幕| 婷婷99视频精品全部在线观看 | 在线观看视频99| 亚洲无线一二三四区男男| 久久久精品久久久久三级| 91网址在线播放| 成人国产免费| 欧美精品成人| 国内黄色精品| 一级在线毛片| 国产丝袜一区二区三区视频免下载| 欧美综合区自拍亚洲综合天堂| 91娇喘视频| 一级一级特黄女人精品毛片| 狠狠v日韩v欧美v| 一本大道香蕉久中文在线播放 | 精品国产乱码久久久久久一区二区 | 亚洲中文在线视频| 国产激爽爽爽大片在线观看| 福利在线一区| 国产成人精品免费视频大全五级| 网久久综合| 青青青国产免费线在| 久久这里只精品热免费99| 亚洲第一视频网| AV无码一区二区三区四区| 99久久精品免费看国产免费软件| 暴力调教一区二区三区| 久久这里只有精品2| 真实国产精品vr专区| 国产精品99久久久久久董美香 | 午夜国产不卡在线观看视频| 在线日韩日本国产亚洲| 久草视频中文| 中文字幕日韩视频欧美一区| 黄色网站不卡无码| 欧美一区二区福利视频| 中文字幕丝袜一区二区| 99国产精品免费观看视频| 日本手机在线视频| 伊人丁香五月天久久综合| 欧美成人一级| 一级毛片在线播放| 亚洲AV无码一区二区三区牲色| 国产清纯在线一区二区WWW| 久久精品电影| 国产浮力第一页永久地址 | 日韩天堂视频| 亚洲日韩精品欧美中文字幕| 国产另类视频| 欧美成人第一页| 国产亚洲欧美在线视频| 国产一级毛片网站| 日韩精品久久久久久久电影蜜臀 | 久久黄色视频影| 国产精品美人久久久久久AV| 91亚洲免费| 毛片免费网址| 大乳丰满人妻中文字幕日本| 99手机在线视频| 欧美性久久久久| 99视频在线免费观看| 色九九视频| 中文字幕无码制服中字| 精品久久久久久成人AV| 国产99欧美精品久久精品久久| 亚洲AV无码一二区三区在线播放| 最新亚洲人成无码网站欣赏网| 欧美在线免费| 五月天婷婷网亚洲综合在线| 国产原创演绎剧情有字幕的| 美女国产在线|