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

基于FFMPEG的跨平臺視頻編解碼研究

2016-09-26 07:37:53陳天喜劉黎明陳凱
關(guān)鍵詞:程序信息

陳天喜,劉黎明,陳凱

(株洲中車時(shí)代電氣股份有限公司,湖南株洲,412001)

基于FFMPEG的跨平臺視頻編解碼研究

陳天喜,劉黎明,陳凱

(株洲中車時(shí)代電氣股份有限公司,湖南株洲,412001)

視頻監(jiān)控系統(tǒng)在生產(chǎn)、生活及社會安全中發(fā)揮著越來越重要的作用,各行各業(yè)對其需求也越來越高。本文介紹了企業(yè)中視頻監(jiān)控系統(tǒng)可用于監(jiān)管全企業(yè)的運(yùn)行狀態(tài),也可應(yīng)用傳感器等實(shí)現(xiàn)生產(chǎn)線狀態(tài)監(jiān)控、反饋和調(diào)整;闡述了視頻解編碼技術(shù)對視頻文件的編碼解碼,實(shí)現(xiàn)視頻存儲、調(diào)用、分析處理及終端播放等功能;最后針對FFMPEG多媒體跨平臺的視頻編解碼技術(shù)進(jìn)行了詳細(xì)的闡述。本文的思想可供同行參考借鑒。

FFMPEG;視頻編解碼;跨平臺;監(jiān)控系統(tǒng)

引言

視頻監(jiān)控系統(tǒng),特別是智能型視頻監(jiān)控系統(tǒng)應(yīng)用越來越廣泛,成為生產(chǎn)智能化、智能家居、社會安全與辦公場所自動監(jiān)控的重要裝備。在實(shí)際應(yīng)用過程中,可以對監(jiān)測的對象實(shí)現(xiàn)實(shí)時(shí)監(jiān)測,同時(shí)還可以對監(jiān)測的數(shù)據(jù)信息進(jìn)行保存,乃至預(yù)警,為調(diào)取相關(guān)的視頻數(shù)據(jù)信息、及時(shí)處理相關(guān)情況提供保障。

FFMPEG是在LGPL/GPL協(xié)議下發(fā)布的,任何人都可以自由使用,但必須嚴(yán)格遵守LGPL/GPL協(xié)議。如果軟件使用了FFMPEG的代碼,一定要遵守LGPL/ GPL協(xié)議,且公開源代碼。這種開源軟件的發(fā)展趨勢前景良好。

1 FFMPEG概述

FFMPEG是Fast Forward Mpeg的簡稱,屬于多媒體跨平臺軟件,其主要功能是將音頻、視頻等數(shù)據(jù)信息進(jìn)行一定的記錄和轉(zhuǎn)化,同時(shí)它還可以將音頻、視頻文件進(jìn)行壓縮編碼和解碼復(fù)原,以實(shí)現(xiàn)音頻和視頻數(shù)據(jù)的傳輸。FFMPEG的支撐與開發(fā)平臺是Linux,它可支持的編碼高達(dá)40多種,如MPEG、DivX、MPEG4、FLV等,而其可以支持的解碼多達(dá)90多種,如AVI、MPEG、OGG等。這說明該程序的應(yīng)用范圍比較廣泛,且功能上也比較完善,因而在社會生產(chǎn)生活中發(fā)展十分迅速。

FFMPEG程序的開發(fā)、模塊庫、應(yīng)用模式等還需要進(jìn)一步完善。在實(shí)際的使用過程中,相關(guān)技術(shù)、設(shè)備及其先進(jìn)性還有待進(jìn)步。其中,對于我國大部分的視頻監(jiān)控設(shè)備來說,其畫面的質(zhì)量還比較低,同時(shí)在進(jìn)行實(shí)時(shí)監(jiān)測的過程中,比較容易發(fā)生一些技術(shù)問題,這就在一定程度上影響了視頻監(jiān)控的進(jìn)行,因此應(yīng)當(dāng)切實(shí)加大對其中存在問題的研究力度,以切實(shí)提高我國視頻監(jiān)控的水平[1]。

2 系統(tǒng)應(yīng)用

為了保障客戶端與服務(wù)器之間的信息傳輸,系統(tǒng)使用了C/S的設(shè)計(jì)模式。具體工作流程如下:

(1)當(dāng)客戶端收到服務(wù)器發(fā)出的監(jiān)聽指令之后,會對該指令進(jìn)行一定的驗(yàn)證,只有驗(yàn)證通過,客戶端才會與服務(wù)器進(jìn)行連接;

(2)連接成功后,客戶端會自動開啟攝像頭,并同時(shí)將監(jiān)測得到的視頻數(shù)據(jù)信息進(jìn)行記錄、保存。這時(shí)所記錄的視頻數(shù)據(jù)信息是Rgb565格式的,因此為了實(shí)現(xiàn)數(shù)據(jù)信息的傳輸,會將數(shù)據(jù)信息的格式進(jìn)行一定的轉(zhuǎn)換;

(3)視頻數(shù)據(jù)信息格式轉(zhuǎn)化完成后,會使用FFMPEG程序?qū)?shù)據(jù)信息進(jìn)行壓縮,之后其格式會轉(zhuǎn)換為H.263格式類型的視頻;

(4)壓縮所得到的視頻文件會利用通信網(wǎng)絡(luò)的傳輸功能,將文件信息傳送至服務(wù)器終端的電子計(jì)算機(jī)中;

(5)當(dāng)終端接收到視頻文件后,再次利用FFMPEG程序的解碼功能,將視頻文件進(jìn)行解碼處理[2]。最終通過VFW將所監(jiān)測到的視頻資料呈現(xiàn)在顯示器中。

通過整個(gè)運(yùn)行過程進(jìn)行研究分析發(fā)現(xiàn):該系統(tǒng)利用到了FFMPEG的壓縮編碼和解碼的功能,且與FFPMEG配套的軟件操作比較簡單,視頻監(jiān)控系統(tǒng)實(shí)際應(yīng)用方便。

3 客戶端應(yīng)用

對于系統(tǒng)客戶端而言,其主要的功能首先是建立平臺,搭建嵌入式Linux平臺;其次就是建立一個(gè)交叉的編譯環(huán)境。只有保證這些基本的準(zhǔn)備工作完成,才可以啟動攝像頭開啟的程序;最后就是將攝像頭收集到的視頻信息通過FFMPEG程序進(jìn)行壓縮編碼,當(dāng)收到監(jiān)聽服務(wù)器的監(jiān)聽指令后,將數(shù)據(jù)信息傳輸給服務(wù)器端。

3.1嵌入式Linux平臺

客戶端在搭建嵌入式Linux平臺時(shí),主要的步驟流程如下:首先,利用H-JTAG程序在短時(shí)間內(nèi)編譯BIOS到相應(yīng)的開發(fā)板中;其次,將Nand Flash進(jìn)行格式化處理;再次,將Bootloader完成安裝;最后再,將內(nèi)核的文件進(jìn)行安裝,完成以上步驟之后再將文件系統(tǒng)進(jìn)行安裝。

3.2交叉編譯環(huán)境的搭建

當(dāng)嵌入式Linux平臺搭建完成后,就開始進(jìn)行交叉編譯環(huán)境的搭建。一般情況下,在該平臺下要對內(nèi)核、Bootloader以及一些其它程序進(jìn)行編譯,且這一過程中離不開交叉編譯工具的支持。

3.3攝像頭的配置介紹

由OmniVision公司所研制的CMOS系列OV9650型號的攝像頭,在實(shí)際的應(yīng)用過程中能夠與S3C2440相匹配。該型號的攝像頭的像素達(dá)到了130萬,且其輸出的視頻圖像的格式比較多樣化,例如主要包括了SXGA、VGA、QVGA等,同時(shí)由于其具有加窗的功能,這樣就可以根據(jù)需要選擇不同大小的圖像。由于該攝像頭可以輸出多種格式類型的圖像,因此不同格式圖像之間的最高輸出幀率是具有一定差異的,其中最高達(dá)到120 fps.

在Linux平臺中,OV9650型號的圖像傳感器是充當(dāng)字符設(shè)備進(jìn)行描述的,在啟動攝像頭的過程中,傳感器相應(yīng)的驅(qū)動程序會為一個(gè)流動控制接口提供相應(yīng)的應(yīng)用程序,這時(shí)用戶就可以利用相應(yīng)的設(shè)備文件實(shí)現(xiàn)與硬件之間的數(shù)據(jù)信息傳輸,因此從本質(zhì)上來講,在對有關(guān)的設(shè)備文件進(jìn)行使用的過程時(shí)就是對相關(guān)系統(tǒng)進(jìn)行了調(diào)用[3]。用戶一旦想要將系統(tǒng)的調(diào)用和有關(guān)的設(shè)備驅(qū)動程序結(jié)合起來,那么就必須用到Struct file_operations這一個(gè)關(guān)鍵的數(shù)據(jù)結(jié)構(gòu)。因此從專業(yè)角度來說,設(shè)備驅(qū)動的編寫主要就是將數(shù)據(jù)結(jié)構(gòu)中的子函數(shù)進(jìn)行一定的編譯,并將其填充至file-operation的各個(gè)域中。為了在開發(fā)階段盡量避免多次燒寫內(nèi)核,可以利用Insmod的命令來進(jìn)行驅(qū)動程序的加載,當(dāng)驅(qū)動模塊完成相應(yīng)的加載之后,便可以對攝像頭的數(shù)據(jù)信息進(jìn)行收集、處理等程序,例如設(shè)計(jì)相應(yīng)的編譯碼來啟動攝像頭等。最后將所收集到的視頻信息數(shù)據(jù)利用FFMPEG程序進(jìn)行壓縮編碼。

3.4FFMPEG編碼的介紹

在對視頻數(shù)據(jù)信息進(jìn)行FFMPEG編碼的過程中,首先應(yīng)當(dāng)將該程序進(jìn)行初始化的處理,并將所使用到的所有編解碼器完成注冊,同時(shí)還應(yīng)當(dāng)將碼率、幀速率、圖像的格式以及其分辨率等進(jìn)行提前的設(shè)定,只有完成這些準(zhǔn)備工作,才能開始編碼。從另一層面來說,這些準(zhǔn)備工作的有效完成也是編碼順利完成的保障。在編碼過程中可以通過設(shè)置videocodec的值來進(jìn)行編碼器的設(shè)置工作,例如anfmt->video-codec=CODEC-ID-H263來完成H.263編碼器的設(shè)置。其具體的客戶端編碼步驟如圖1所示。

圖1 客戶端編碼步驟圖

通過以上的步驟可以完成H.263的視頻流,而攝像頭所收集到的數(shù)據(jù)信息的格式是rgb565,因此必須先實(shí)現(xiàn)其向rgb888的格式轉(zhuǎn)換,之后再向yuv420的格式轉(zhuǎn)換,最后再經(jīng)由FFMPEG程序進(jìn)行壓縮編碼,最終成為了H.263的視頻格式。

4 服務(wù)端分析

前面已將客戶端的主要工作及工作的編碼程序進(jìn)行了詳細(xì)地說明,而對于服務(wù)端而言,其主要的任務(wù)就是對涉及到的所有客戶端進(jìn)行實(shí)時(shí)的監(jiān)控,同時(shí)還可以根據(jù)實(shí)際的需要對任何一個(gè)客戶端進(jìn)行監(jiān)控。服務(wù)器端在接收客戶端傳輸?shù)臄?shù)據(jù)信息后,會利用FFMPEG程序?qū)?shù)據(jù)信息進(jìn)行解碼,并最終將其顯示于顯示器中。

在利用FFMPEG程序?qū)σ曨l信息數(shù)據(jù)進(jìn)行解碼的過程中,首先應(yīng)當(dāng)將FFMPEG進(jìn)行初始化處理,并將使用到的編碼器完成相關(guān)的注冊。其次還應(yīng)當(dāng)對解碼器進(jìn)行配置,并對解碼的圖像的像素格式進(jìn)行一定的設(shè)置,完成這些準(zhǔn)備工作之后,才能夠?qū)σ曨l數(shù)據(jù)信息進(jìn)行解碼。服務(wù)器端對視頻數(shù)據(jù)信息進(jìn)行解碼的步驟如圖2所示。

圖2 服務(wù)器端解碼步驟

4.1服務(wù)器端解碼

前面已經(jīng)知道客戶端傳輸?shù)囊曨l流的格式是H.263,對其進(jìn)行解碼與普通的文件解碼是存在一定的差異的,這主要是因?yàn)閷⑦M(jìn)行解碼數(shù)據(jù)的長短是不確定的,而為了解決這一難題,可以設(shè)置一個(gè)線程來主要完成解碼工作,另外也可以設(shè)置一個(gè)FIFO隊(duì)列來進(jìn)一步完善解碼的流程[4]。這樣當(dāng)對視頻流進(jìn)行解碼時(shí),服務(wù)器端接收的數(shù)據(jù)信息會不間斷地進(jìn)入到FIFO的隊(duì)列中,之后只要從最開頭的位置調(diào)取固定的數(shù)據(jù)字節(jié)進(jìn)行解碼既可。但是經(jīng)由FFMPEG程序完成的解碼其格式是YUV,因此為了保障在顯示器顯示正常應(yīng)當(dāng)將這種格式轉(zhuǎn)換成RGB格式。

4.2服務(wù)器端顯示

一般來說,顯示的視頻使用的都是VFW,且其應(yīng)用的核心函數(shù)是Draw DibDraw。對于這種函數(shù)來說,一般具有13個(gè)主要的參數(shù),其中主要的參數(shù)就是第7個(gè)、第8個(gè)。第7個(gè)參數(shù),是將位圖的頭信息進(jìn)行編譯,而第8個(gè)參數(shù),是將RGB的圖像數(shù)據(jù)進(jìn)行編譯的。另外應(yīng)當(dāng)注意的是在使用DrawDibDraw時(shí),應(yīng)當(dāng)對圖像數(shù)據(jù)進(jìn)行反向的操作,在這一過程中尤為注意的是應(yīng)當(dāng)對圖像的寬度值進(jìn)行明確,之后再進(jìn)行相關(guān)的操作。

5 質(zhì)量效果控制分析

對于本次實(shí)驗(yàn)來說,其運(yùn)行的環(huán)境是3G的通信環(huán)境,其數(shù)據(jù)流格式為H.263,因此應(yīng)當(dāng)將所使用通道的數(shù)據(jù)流進(jìn)行一定的設(shè)置,并將其分辨率也進(jìn)行一定的設(shè)置,本次實(shí)驗(yàn)中的分辨率設(shè)置為QCIF(176*144),而對于其他參數(shù)的設(shè)置,應(yīng)當(dāng)根據(jù)實(shí)際的情況來完成,例如在對碼率進(jìn)行設(shè)置的過程中,應(yīng)當(dāng)事先對拍攝的實(shí)際視頻情況進(jìn)行分析,繼而再對相關(guān)的數(shù)據(jù)進(jìn)行設(shè)定。對于3G的通信環(huán)境來說,其帶寬一般為48 kB/s,因此在對碼率進(jìn)行設(shè)定的過程中,其值不允許超過該數(shù)值[5]。如果用戶想要得到較為流暢的視頻畫面,可以適當(dāng)?shù)貙蔬M(jìn)行一定的增加;如果用戶想要的是將視頻監(jiān)控中移動的物體進(jìn)行突出顯示,可以將適當(dāng)?shù)貙㈥P(guān)鍵幀的比例進(jìn)行一定的增加,但是需要注意的是在調(diào)整的過程中切忌超過系統(tǒng)的帶寬。

6 結(jié)論

綜合全文所述,視頻監(jiān)控系統(tǒng)對于今天的社會生產(chǎn)和生活具有十分重要的作用,因此應(yīng)當(dāng)加大對該項(xiàng)技術(shù)的研究力度,切實(shí)提高視頻畫面的質(zhì)量,以滿足當(dāng)下社會發(fā)展對其的迫切需求。然而,據(jù)目前情況來看,視頻監(jiān)控系統(tǒng)在實(shí)際的應(yīng)用過程中仍舊存在一定的問題,例如畫面不流暢、畫面不清晰等。為了切實(shí)解決這些問題,應(yīng)當(dāng)加大對FFMPEG技術(shù)的研究,以推動我國視頻監(jiān)控技術(shù)的研發(fā)與進(jìn)步。

[1]辛長春.基于FFMPEG的遠(yuǎn)程視頻監(jiān)控系統(tǒng)編解碼[J].電子技術(shù),2013(01): 3-5.

[2]施惠娟.基于FFMPEG的視頻水印系統(tǒng)[J].電子設(shè)計(jì)工程,2013,21(23): 185-187.

[3]何圓圓.基于FFMPEG的H.263視頻解碼器的研究與實(shí)現(xiàn)[J].電腦知識與技術(shù),2012(35): 8519-8521.

[4]張正華.基于H.264的嵌入式視頻解碼研究[J].無線電工程,2013,43(1): 46-49.

[5]劉嘉.基于PPMPEG的AVS視頻播放器設(shè)計(jì)與實(shí)現(xiàn)[J].鄭州輕工業(yè)學(xué)院學(xué)報(bào),2015(3): 75-78.

Research Cross-platform Video Code Based on the FFMPEG

Tianxi Chen, Liming Liu, Kai Chen(Zhuzhou Zhongche Times Electric Limited Co., Ltd., Zhuzhou, Hunan, 412001, China)

Video monitoring system has played an increasingly important role in social security, production,life and so on, which is under higher and higher demand. This paper introduces the video monitoring system which can be regulated in the whole enterprise operation state, also be used sensors to achieve production line condition monitoring, feedback and adjustment. Expounds the video coding technology solutions for video file coding decoding, realize the video storage, load, analysis, processing and terminal play functions. Finally, based on FFMPEG cross-platform multimedia video codec technologies are described in detail. This paper has reference value for peers.

FFMPEG; Video Codec; Cross Platform; Video Monitoring System

TP277

A

2095-8412 (2016) 04-805-04

工業(yè)技術(shù)創(chuàng)新 URL: http://www.china-iti.com 10.14103/j.issn.2095-8412.2016.04.061

陳天喜(1981-),工程師,軌道交通信息系統(tǒng)。E-mail: chentx@teg.cn

劉黎明(1979-),工程師,軌道交通信息系統(tǒng)。E-mail: liulm@teg.cn

陳凱(1984-),工程師,軌道交通信息系統(tǒng)。E-mail: chenkai@teg.cn

猜你喜歡
程序信息
試論我國未決羈押程序的立法完善
失能的信仰——走向衰亡的民事訴訟程序
“程序猿”的生活什么樣
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
英國與歐盟正式啟動“離婚”程序程序
創(chuàng)衛(wèi)暗訪程序有待改進(jìn)
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
恐怖犯罪刑事訴訟程序的完善
信息
健康信息
祝您健康(1987年3期)1987-12-30 09:52:32
主站蜘蛛池模板: av无码一区二区三区在线| 精久久久久无码区中文字幕| 久久www视频| 国产真实乱人视频| 国产成人综合在线观看| 青青草原国产一区二区| 亚洲日产2021三区在线| 久久婷婷六月| 97成人在线视频| 久久久久夜色精品波多野结衣| 久久亚洲美女精品国产精品| 色妺妺在线视频喷水| 啪啪国产视频| 亚洲精品成人片在线观看| 国产免费羞羞视频| 国产精品一区二区不卡的视频| 国产网站免费看| 好久久免费视频高清| 麻豆精品在线视频| 国产a网站| 欧美日韩免费| 国产三级成人| 久久a级片| 精品天海翼一区二区| 日韩高清中文字幕| 福利在线一区| 亚洲伊人久久精品影院| 亚洲伊人电影| 日韩在线永久免费播放| 热re99久久精品国99热| 精品伊人久久久大香线蕉欧美| 丁香六月激情综合| 91丝袜乱伦| 91区国产福利在线观看午夜| 亚洲综合亚洲国产尤物| 欧美日韩精品在线播放| 成人国产免费| 91在线播放国产| 中文字幕日韩视频欧美一区| 久久精品最新免费国产成人| 免费在线a视频| 99精品影院| 精品少妇人妻一区二区| 欧美激情二区三区| 亚洲精品无码av中文字幕| 久久综合伊人77777| 一级毛片基地| 亚洲永久精品ww47国产| 国产精品自在拍首页视频8 | 99精品久久精品| 日韩成人高清无码| 婷婷丁香色| 欧美全免费aaaaaa特黄在线| 国产精品久久久久久久久| 精品天海翼一区二区| 久久99国产乱子伦精品免| 丁香五月激情图片| 久久精品视频亚洲| 成人免费视频一区| 日本少妇又色又爽又高潮| 无码日韩人妻精品久久蜜桃| 99re精彩视频| 亚洲一区色| 2022国产无码在线| 2021国产乱人伦在线播放| 亚洲免费人成影院| 亚洲人成色77777在线观看| 高清无码手机在线观看| 色国产视频| 国产视频资源在线观看| 亚洲熟女偷拍| 亚洲天堂在线免费| 亚洲成人高清无码| 伊人久久大香线蕉综合影视| 一区二区无码在线视频| 亚洲色图综合在线| 国产美女91呻吟求| av一区二区无码在线| 五月婷婷伊人网| 久久伊人操| 奇米影视狠狠精品7777| 亚洲手机在线|