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

基于Android平臺的遠程視頻監(jiān)控系統(tǒng)研究

2015-12-03 07:03:59
電子測試 2015年17期
關(guān)鍵詞:系統(tǒng)

楊 軍

(西北政法大學(xué),陜西西安,710122)

基于Android平臺的遠程視頻監(jiān)控系統(tǒng)研究

楊 軍

(西北政法大學(xué),陜西西安,710122)

隨著中國移動互聯(lián)網(wǎng)的快速發(fā)展,基于移動平臺的視頻監(jiān)控憑借其獨特的優(yōu)越性開始進入人們的視野。智能手機終端的普及為移動視頻監(jiān)控提供了承載終端,3G通信網(wǎng)絡(luò)的發(fā)展為移動視頻監(jiān)控數(shù)據(jù)的傳輸提供了保證,它們都為實現(xiàn)移動視頻監(jiān)控提供了有利條件。本課題是橫向課題“大連****信號發(fā)射機遠程控制系統(tǒng)”中的遠程視頻監(jiān)控子系統(tǒng)的重要組成部分,提出了一種基于Android移動設(shè)備的遠程監(jiān)控系統(tǒng)解決方案。

Android平臺;RTP/RTCP;H.264;FFmpeg;視頻監(jiān)控

視頻監(jiān)控具有準確、直觀、及時和信息豐富等突出優(yōu)點,已經(jīng)被廣泛應(yīng)用到各種場合。視頻監(jiān)控系統(tǒng)主要負責(zé)將監(jiān)控點實時采集的視頻流實時地傳輸給視頻監(jiān)控中心,以便于視頻監(jiān)控中心進行遠程視頻監(jiān)控,對突發(fā)事件進行及時指揮處理。本課題是橫向課題“大連****信號發(fā)射機遠程控制系統(tǒng)”中的遠程視頻監(jiān)控子系統(tǒng)的重要組成部分,提出了一種基于Android移動設(shè)備的遠程監(jiān)控系統(tǒng)解決方案。系統(tǒng)分為三個子系統(tǒng):Android移動設(shè)備端子系統(tǒng),服務(wù)器端子系統(tǒng)和監(jiān)控客戶端子系統(tǒng)。移動設(shè)備端進行視頻及地理信息采集,通過流媒體協(xié)議將經(jīng)過編碼的H.264實時視頻數(shù)據(jù)發(fā)送到服務(wù)器端,服務(wù)器端進行存儲及解碼,監(jiān)控客戶端完成視頻播放、視頻管理及輔助控制。

1 Android平臺介紹

Android操作系統(tǒng)架構(gòu)由高到低共分為4層,其分別是應(yīng)用層、應(yīng)用框架層、系統(tǒng)運行庫層及Linux內(nèi)核層。在Android操作系統(tǒng)開始時已經(jīng)集成了部分核心應(yīng)用程序,如撥號應(yīng)用,地圖應(yīng)用,網(wǎng)絡(luò)瀏覽器應(yīng)用等;應(yīng)用框架層為Android應(yīng)用提供API框架支持。應(yīng)用程序的開發(fā)需要依賴系統(tǒng)的API框架,API使的程序開發(fā)架構(gòu)設(shè)計得以簡化,提高了開發(fā)效率;應(yīng)用程序框架層使用組件是系統(tǒng)運行庫提供組的,該層包含多個核心庫;Linux內(nèi)核是硬件和軟件之間的抽象層,Linux內(nèi)核為Android提供核心服務(wù),包括網(wǎng)絡(luò)協(xié)議棧,進程管理,內(nèi)存管理,驅(qū)動等。

2 流媒體技術(shù)

視頻監(jiān)控系統(tǒng)需要傳輸大量的實時視頻數(shù)據(jù),由于網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜、帶寬有限等硬件條件限制,監(jiān)控系統(tǒng)必須綜合應(yīng)用流媒體技術(shù)和視頻編解碼技術(shù),才能滿足在復(fù)雜條件下實時監(jiān)控等功能要求。本系統(tǒng)將采用壓縮率較高的H.264技術(shù)對視頻數(shù)據(jù)進行編碼,然后封裝到RTP / RTCP數(shù)據(jù)包中,利用UDP協(xié)議進行傳輸。

RTP/ RTCP是AVT工作組于1996年在RFC1889文檔中的第一次提出的。 2003年后,在修改的基礎(chǔ)上,提出的RFC3550。RTP主要是為端到端的實時流媒體數(shù)據(jù)流提供傳輸功能,它也支持多播和單播。但是,RTP協(xié)議本身只負責(zé)實時的數(shù)據(jù)傳輸功能,并不能提供任何的傳輸質(zhì)量保證,也不具有擁塞控制功能。RTCP協(xié)議用于監(jiān)控數(shù)據(jù)流的傳輸質(zhì)量,為RTP數(shù)據(jù)提供控制功能,以及為系統(tǒng)提供擁塞控制。

如果一個應(yīng)用程序啟動一次RTP會話,一般會同時占用兩個端口,一個端口提供給RTP協(xié)議,一個端口提供給RTCP協(xié)議。RTP協(xié)議自己不提供可靠的傳送機制即不能按順序傳送數(shù)據(jù)包,同時也不提供擁塞控制和流量控制,這些服務(wù)它必須依靠RTCP提供。

在RTP通信期間,各個參與者周期性的傳送RTCP包。RTCP包中通常包含己發(fā)送數(shù)據(jù)包的數(shù)量,己接收的數(shù)據(jù)包的數(shù)量等統(tǒng)計信息。因此,服務(wù)器端可以利用這些數(shù)據(jù)包中的信息進行動態(tài)地修改傳輸速率,甚至修改有效載荷類型。比如采用H.264壓縮標準進行實時視頻通信時,當接收端實時數(shù)據(jù)處理能力不夠或者接收端出現(xiàn)數(shù)據(jù)擁塞時,發(fā)送端就可以根據(jù)RTCP包中的統(tǒng)計信息進行判斷,適當調(diào)整量化步長并修改碼率,從而改善通信質(zhì)量。RTP和RTCP配合使用,它們能以最小的開銷和最有效的反饋使傳輸效率最佳化,因而特別適合在Internet上傳送音視頻實時數(shù)據(jù)。

3 系統(tǒng)總體架構(gòu)設(shè)計

本系統(tǒng)軟件采用基于組件的設(shè)計思想。服務(wù)器端的監(jiān)聽組件(監(jiān)聽線程)時刻在監(jiān)聽Android移動設(shè)備發(fā)來的連接請求,請求中包含移動設(shè)備的基本信息,比如:手機的IEMS、移動運營商名字、攝像頭是否支持調(diào)焦等信息。當監(jiān)聽組件接收到一個網(wǎng)絡(luò)請求后,對請求信息進行預(yù)處理,同時啟動視頻數(shù)據(jù)通信組件。通信組件負責(zé)接收Android移動設(shè)備發(fā)來的所有數(shù)據(jù),比如:視頻數(shù)據(jù)、GPS數(shù)據(jù)等信息,接收到數(shù)據(jù)后對數(shù)據(jù)進行處理,并將相關(guān)數(shù)據(jù)保存到數(shù)據(jù)庫中,同時通信組件支持向視頻監(jiān)控客戶端提供實時視頻數(shù)據(jù)及視頻相關(guān)數(shù)據(jù)(GPS信息、協(xié)助控制信息)。視頻監(jiān)控客戶端通過播放組件查看實時視頻,并通過控制組件進行協(xié)助控制,控制指令通過服務(wù)器間接傳輸?shù)紸ndroid移動設(shè)備,Android移動設(shè)備響應(yīng)后給出控制結(jié)果。具體的控制指令包含:攝像頭的焦距控制、視頻采集說明信息等提示命令。

系統(tǒng)共分為三個子系統(tǒng):Android移動設(shè)備端子系統(tǒng)、服務(wù)器端子系統(tǒng)、監(jiān)控客戶端子系統(tǒng)。Android移動設(shè)備端子系統(tǒng)包含數(shù)據(jù)采集模塊,控制模塊,通信模塊;服務(wù)器端子系統(tǒng)包含監(jiān)聽模塊,通信模塊,存儲模塊。監(jiān)控客戶端子系統(tǒng)包含視頻管理,視頻播放及遠程控制模塊。本系統(tǒng)的軟件系統(tǒng)結(jié)構(gòu)如圖1所示。

圖1 軟件體系結(jié)構(gòu)示意圖

4 Android移動設(shè)備端子系統(tǒng)實現(xiàn)

Android移動設(shè)備端子系統(tǒng)主要包含視頻采集模塊,GPS信息采集模塊,數(shù)據(jù)傳輸模塊,遠程控制模塊等,模塊結(jié)構(gòu)示意圖如圖2所示。

圖2 Android移動設(shè)備端模塊示意圖

Android 多媒體框架的核心是Open Core,它也被稱為PV(Packet Video)。他實現(xiàn)Android平臺的所有音視頻采集、播放的功能。在實際開發(fā)中我們并不會過多的研究Open Core的實現(xiàn),Android提供了上層的Media API給開發(fā)人員使用,MediaPlayer和MediaRecorder。本系統(tǒng)將采用MediaRecorder進行視頻采集。

Android系統(tǒng)提供了android.telephony.TelephonyManager類,方便應(yīng)用程序開發(fā)者獲取手機的基信息。TelephonyManager類包含了很多用于獲取與手機通訊狀態(tài)相關(guān)信息的get方法。其中包括手機用戶的信息、手機SIM的狀態(tài)信息、通信網(wǎng)絡(luò)的狀態(tài)信息等。程序中可以使用向?qū)?yīng)get方法獲取這些數(shù)據(jù)。系統(tǒng)提供了如下方法獲取TelephonyManager類的對象:

Context.getSystemService(Context.TELEPHONY_SERVICE)

系統(tǒng)的通信組件是采用多線程技術(shù),它獨立于視頻采集組件,即數(shù)據(jù)采集是一個線程,通信是一個線程。通過系統(tǒng)的總體結(jié)構(gòu)設(shè)計可以看出,系統(tǒng)通信一共分了三個部分,分別是:視頻數(shù)據(jù)傳輸前的基本參數(shù)通信、視頻數(shù)據(jù)通信、視頻采集完成后輔助數(shù)據(jù)通信。第一部分和第三部分通信是基于TCP協(xié)議的通信,信息載體為XML,服務(wù)器端負責(zé)建立連接的是監(jiān)聽主線程;視頻數(shù)據(jù)通信是基于UDP協(xié)議的,采用RTP進行封裝,通過RTCP進行傳輸控制,通信目標是服務(wù)器端為該客戶啟動的新的監(jiān)聽進程。

5 服務(wù)器端子系統(tǒng)實現(xiàn)

服務(wù)器端子系統(tǒng)主要包含通信模塊、監(jiān)聽模塊、數(shù)據(jù)解碼、數(shù)據(jù)存儲等模塊,如圖3所示。

圖3 服務(wù)器端模塊示意圖

當服務(wù)器端程序啟動后,同時啟動主監(jiān)聽進程,從前面介紹的Android移動設(shè)備端與服務(wù)器端的網(wǎng)絡(luò)通信過程可以看出,每次視頻錄制上傳前后客戶端將與服務(wù)器端的主監(jiān)聽進程進行兩次通信,分別完成不同的功能。數(shù)據(jù)傳輸組件主要完成接收移動設(shè)備端發(fā)來的視頻數(shù)據(jù),對數(shù)據(jù)包進行解析,向上層提供每一幀的視頻數(shù)據(jù)。

系統(tǒng)的界面顯示和視頻播放部分是由JAVA實現(xiàn)的,但是為了滿足系統(tǒng)在解碼速度上的要求,系統(tǒng)在實現(xiàn)視頻解碼模塊移植時,采用的是JNI框架進行開發(fā),解碼部分的底層代碼使用C語言開發(fā)。

①C語言實現(xiàn)關(guān)鍵函數(shù)

通過javah命令生成系統(tǒng)需要的.H文件,然后用C語言實現(xiàn)如下三個方法:

//初始化H.264解碼器

initDecoder(int t_width.int t_height)

unInitDecoder(int t_width.int t_height)

//對緩存區(qū)數(shù)據(jù)進行解碼

decoderNal(byte[] in,int in_size,byte[] out_data)

②生成dll文件,并在程序中調(diào)用

使用MingW工具的gcc命令編譯第二步中實現(xiàn)的方法,在JAVA類通過如下代碼調(diào)用C語言實現(xiàn)的函數(shù):

static{System.loadLibrary("myH264.dll");}

③系統(tǒng)調(diào)用解碼程序。

6 監(jiān)控客戶端子系統(tǒng)實現(xiàn)

監(jiān)控客戶端系統(tǒng)主要包含視頻查詢、視頻播放、遠程控制三項主要功能,該系統(tǒng)采用JAVA語言,MVC架構(gòu),利用反射機制等技術(shù)實現(xiàn)。核心配置文件及JAVA類如下:

①config.xml:主要配置用戶界面將要使用的JFrame,JMenuBar,JMenu,JMenuItem,JButton,JPanel,JLabel,JTextField等控件的結(jié)構(gòu)關(guān)系,用于在系統(tǒng)啟動時構(gòu)造系統(tǒng)顯示界面。

②ButtonAction.java:該類中存在系統(tǒng)將要調(diào)用的各種業(yè)務(wù)方法,例如上面提到的showPrintWindow方法,唯一要求是所有方法是無參數(shù)方法。在這些方法里完成要實現(xiàn)的業(yè)務(wù)。

③SwingViewBase.java:該類中包含生成各種顯示組件的方法,如“public static void initJLabel(String name,String text)”、“public static void initJButton(String name,String text,String onclickFunc)”等工具方法。

④SwingView.java:該類主要定義了系統(tǒng)中用到的顯示控件的引用。

7 結(jié)論

本課題提出了一種基于Android平臺遠程視頻監(jiān)控系統(tǒng)設(shè)計方案。分析H.264視頻編碼標準和對FFmpeg項目中主要的結(jié)構(gòu)體、函數(shù)、調(diào)用接口、特別是解碼程序進行了研究,以開源的FFmpeg提供的H.264解碼器為原型,并對FFmpeg解碼器進行裁剪優(yōu)化,從中提取H.264解碼的核心部分,成功移植到JAVA平臺。

[1] 陳彩蓮.基于Android移動平臺的智能視頻監(jiān)控系統(tǒng)設(shè)計[D].天津大學(xué)碩士學(xué)位論文,2011.

[2] Thomas Wiegand,Overview of the H.264/AVC Video Coding Standard[J].IEEE Transactions on Circuits and System for Video Technology.2003,13(7):560-576.

[3] Reto Meier.Professional Android 2 Application Development, 2010.

[4] Peter Jay Salzman.The Linux Kernel Module Programming Guide Version 1.1, 2001.

[5] 張璇.基于智能手機的流媒體播放及編解碼研究[D].南京郵電大學(xué)碩士學(xué)位論文,2011.

Research on remote video monitoring system based on Android

Yang Jun
(Northwest University of Politics and Law,Xi'an Shaanxi,710122)

With the rapid development of China Mobile Internet,video surveillance based on mobile platform has entered people's perspective with its unique advantages..The popularity of smart mobile terminals for mobile video monitoring provides bearing a terminal,the development of 3G mobile communication network for mobile video monitoring data transmission to provide a guarantee,they both realize mobile video monitoring provides favorable conditions.The topic is the horizontal subject "Dalian * * * * signal transmitter remote control system of remote video surveillance system an important component of the proposed a solution of remote monitoring system based on the Android mobile devices.

Android platform;RTP/RTCP;H.264;FFmpeg;video monitoring

猜你喜歡
系統(tǒng)
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無人機系統(tǒng)
ZC系列無人機遙感系統(tǒng)
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統(tǒng)
基于UG的發(fā)射箱自動化虛擬裝配系統(tǒng)開發(fā)
半沸制皂系統(tǒng)(下)
FAO系統(tǒng)特有功能分析及互聯(lián)互通探討
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
一德系統(tǒng) 德行天下
PLC在多段調(diào)速系統(tǒng)中的應(yīng)用
主站蜘蛛池模板: 亚洲中文字幕久久无码精品A| 午夜小视频在线| 亚洲天堂视频在线免费观看| 欧美日一级片| 三区在线视频| 国产成人无码播放| 亚洲视频免| 国产成人久久综合777777麻豆| 九色在线观看视频| 亚洲妓女综合网995久久 | 国产丰满大乳无码免费播放| 欧美全免费aaaaaa特黄在线| 91久久精品国产| 蝴蝶伊人久久中文娱乐网| 日本人妻一区二区三区不卡影院| 91精品日韩人妻无码久久| 国产精品第5页| 国产中文在线亚洲精品官网| av无码久久精品| 99视频在线免费观看| 99视频只有精品| 国产欧美高清| 中文字幕日韩欧美| 国产天天色| 国产日韩欧美一区二区三区在线| 99re这里只有国产中文精品国产精品| 人妻21p大胆| 最新国语自产精品视频在| 最新亚洲人成无码网站欣赏网 | 国产91九色在线播放| 国产黄在线观看| 福利国产微拍广场一区视频在线| 中文字幕有乳无码| 91精品国产综合久久不国产大片| 欧洲一区二区三区无码| 麻豆国产在线观看一区二区| 国产女人18毛片水真多1| 综合色在线| 亚洲高清无在码在线无弹窗| 久久99国产综合精品1| 国产成人一区在线播放| 国产自在线拍| 最新无码专区超级碰碰碰| 在线欧美a| 国产爽歪歪免费视频在线观看 | 久久精品欧美一区二区| 欧美色视频日本| 乱人伦中文视频在线观看免费| 国产亚洲男人的天堂在线观看 | 有专无码视频| 国产精品毛片一区视频播| 欧美一区日韩一区中文字幕页| 国产精品永久免费嫩草研究院| a毛片免费观看| 不卡无码h在线观看| 亚洲黄色高清| 国产在线91在线电影| 小13箩利洗澡无码视频免费网站| 国产精品手机在线观看你懂的| 国产特一级毛片| 国产呦精品一区二区三区下载 | 九九九九热精品视频| 日本人又色又爽的视频| 久久天天躁狠狠躁夜夜躁| 国产精选小视频在线观看| 久久精品这里只有精99品| 2021国产精品自拍| 秋霞午夜国产精品成人片| 亚洲男人的天堂久久精品| 最新国产午夜精品视频成人| 亚洲香蕉在线| 久久精品国产亚洲麻豆| 欧美一级在线播放| 午夜免费小视频| 爱做久久久久久| av天堂最新版在线| 五月天综合网亚洲综合天堂网| 91麻豆精品国产高清在线| 国模私拍一区二区三区| 亚洲 欧美 中文 AⅤ在线视频| 日本爱爱精品一区二区| 日韩国产亚洲一区二区在线观看|