国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Android平臺的遠(yuǎn)程視頻監(jiān)控系統(tǒng)中手機子系統(tǒng)端設(shè)計

2015-05-30 10:48:04楊軍
關(guān)鍵詞:服務(wù)器端監(jiān)控模塊

楊軍

摘 要:隨著中國移動互聯(lián)網(wǎng)的快速發(fā)展,基于移動平臺的視頻監(jiān)控憑借其獨特的優(yōu)越性開始進入人們的視野。移動視頻監(jiān)控不僅具有傳統(tǒng)監(jiān)控的功能,而且具有移動性和實時性,用戶可以通過移動終端隨時隨地監(jiān)控,滿足用戶多元化的需求。數(shù)字化、網(wǎng)絡(luò)化、智能化是目前視頻監(jiān)控技術(shù)發(fā)展的方向。文章視頻監(jiān)控Android端的一種有效解決方案。Android移動設(shè)備端進行視頻及地理信息采集,通過流媒體協(xié)議將經(jīng)過編碼的H.264實時視頻數(shù)據(jù)發(fā)送到服務(wù)器端,服務(wù)器端進行存儲及解碼,監(jiān)控客戶端完成視頻播放、視頻管理及輔助控制。

關(guān)鍵詞:Android平臺;MediaRecorder;視頻監(jiān)控

中圖分類號:TN943 文獻標(biāo)識碼:A 文章編號:1006-8937(2015)20-0016-02

1 目前視頻監(jiān)控系統(tǒng)面臨的問題及基于Android平

臺的遠(yuǎn)程視頻監(jiān)控系統(tǒng)的優(yōu)點

隨著現(xiàn)代信息化技術(shù)的發(fā)展,視頻監(jiān)控系統(tǒng)已經(jīng)得到廣泛應(yīng)用,但同時使用傳統(tǒng)的視頻監(jiān)控系統(tǒng)將面臨諸多問題:

①給用戶增加額外的工程成本。

②同時面臨視頻采集終端固定和圖像采集角度確定這兩個問題,不能全方位多角度地展示現(xiàn)場情況等缺陷。

③視頻數(shù)據(jù)傳輸問題也限制了傳統(tǒng)視頻監(jiān)控系統(tǒng)的使用。

與傳統(tǒng)遠(yuǎn)程視頻監(jiān)控系統(tǒng)相比,基于Android平臺的遠(yuǎn)程視頻監(jiān)控系統(tǒng)具有以下優(yōu)點:

①無布點限制,系統(tǒng)可移動性好。

②可以實現(xiàn)現(xiàn)場數(shù)據(jù)的多人多角度視頻采集。

③實現(xiàn)社會資源利用的最大化。

2 移動開發(fā)平臺

智能手機為移動視頻監(jiān)控系統(tǒng)提供了良好的開發(fā)平臺,而智能手機操作系統(tǒng)為監(jiān)控客戶端提供軟件開發(fā)和運行環(huán)境,智能操作系統(tǒng)的特性直接影響到人機交互的易用性和穩(wěn)定性。自上而下分為5層,下面簡述各層的功能。

①硬件驅(qū)動層:該層是最底層,由硬件部分和驅(qū)動部分構(gòu)成,為操作系統(tǒng)層提供功能性支撐及抽象的概念。因此操作系統(tǒng)可以移植在各種不同的硬件設(shè)備上,具有靈活的移植性。

②操作系統(tǒng)層:該層的主要功能是為業(yè)務(wù)功能層的應(yīng)用程序提供編程接口及核心功能。它提供了良好的人機交互界面,可完成文件系統(tǒng)管理,多任務(wù)調(diào)度管理,內(nèi)存管理等。

③業(yè)務(wù)功能層:他介于應(yīng)用操作系統(tǒng)和軟件當(dāng)中,主要完成通信、通用功能。通信功能提供通話,無線協(xié)議棧和IP協(xié)議等支持;通用功能提供多媒體子系統(tǒng)和安全子系統(tǒng)。

④用戶界面層:UI層是最后展示給用戶可視化操作的界面層,為用戶的操作提供方便。

⑤應(yīng)用層:應(yīng)用層是以業(yè)務(wù)功能層為基礎(chǔ),為用戶提供功能繁多的應(yīng)用,如電子商務(wù)類業(yè)務(wù)、消息類業(yè)務(wù)、個人信息管理和GPS位置類業(yè)務(wù)等。

3 Android移動設(shè)備端子系統(tǒng)設(shè)計

Android移動設(shè)備端子系統(tǒng)主要包含視頻采集模塊,GPS信息采集模塊,數(shù)據(jù)傳輸模塊,遠(yuǎn)程控制模塊等。

視頻數(shù)據(jù)采集模塊:在控制前端,用戶可以將攝像頭對準(zhǔn)某一監(jiān)控區(qū)域,使用手機攝像頭采集監(jiān)控區(qū)域的視頻圖像。攝像頭可以根據(jù)用戶需要調(diào)整焦距,用戶同時根據(jù)服務(wù)器端提示進行監(jiān)控角度調(diào)整。

GPS數(shù)據(jù)采集模塊:在整個視頻監(jiān)控過程中,該模塊負(fù)責(zé)進行GPS信息采集(采集經(jīng)度及緯度),如果監(jiān)控過程中用戶的位置改變,該模塊要給出最新的GPS信息。主要用于對視頻進行標(biāo)記,便于服務(wù)器端對歷史數(shù)據(jù)或?qū)崟r數(shù)據(jù)進行檢索。

移動設(shè)備基本信息采集模塊:在視頻數(shù)據(jù)傳輸前,服務(wù)器需要記錄移動設(shè)備基本信息,這些基本信息是通過該模塊采集。主要包含:IMSI、手機號碼、移動運營商名字信息。

控制模塊:該模塊主要是響應(yīng)服務(wù)器端控制信息,主要工作是根據(jù)服務(wù)器控制信息對攝像頭焦距進行調(diào)整,對視頻質(zhì)量進行控制,同時給出用戶最佳的監(jiān)控位置提示信息,便于服務(wù)器端獲取高質(zhì)量的數(shù)據(jù)信息。

通信模塊:該模塊將移動設(shè)備采集到的實時視頻數(shù)據(jù)及GPS信息根據(jù)傳輸協(xié)議打包實時發(fā)送到服務(wù)器,并對傳輸過程進行控制。

4 視頻采集設(shè)計與實現(xiàn)

Android 多媒體框架的核心是Open Core,它也被稱為PV(Packet Video)。他實現(xiàn)Android平臺的所有音視頻采集、播放的功能。程序開發(fā)人員可以通過Open Core方便快速的開發(fā)出符合需求的多媒體應(yīng)用程序,例如:視頻會議,音視頻的采集、回放,實時的流媒體播放等應(yīng)用。

4.1 錄制步驟

在實際開發(fā)中我們并不會過多的研究Open Core的實現(xiàn),Android提供了上層的Media API給開發(fā)人員使用,MediaPlayer和MediaRecorder。本系統(tǒng)將采用MediaRecorder進行視頻采集。MediaRecorder錄制分為以下幾個步驟。

第一步:實例化MediaRecorder 類對象。

MediaRecorder myMediaRecorder

=new android.media.MediaRecorder();

第二步:初始化myMediaRecorder 對象,對視頻采集參數(shù)進行設(shè)置,具體設(shè)置順序及參數(shù)如下:

①設(shè)置視頻。

②設(shè)置輸出格式。

③設(shè)置幀頻率。

④設(shè)置視頻采集像素。

⑤設(shè)置視頻編碼方式為。

⑥設(shè)置手機(預(yù)覽)顯示面板。

⑦設(shè)置信息輸出流。

第三步:開始錄制:

①讓MediaRecorder 對象處于就緒狀態(tài)。

②開始錄音。

第四步:停止錄制并釋放資源:

①停止錄制。

②從新啟動MediaRecorder對象讓它處于空閑狀態(tài)。

③釋放和MediaRecorder對向相關(guān)的所有資源。

通過以上幾個步驟,可以采集到相關(guān)視頻數(shù)據(jù),并將視頻數(shù)據(jù)輸出到指定文件,通過播放器可以正常播放已經(jīng)錄制的視頻。

4.2 存在的問題

但是以上功能并不能適合本系統(tǒng)需要,主要存在兩方面的問題:

①數(shù)據(jù)輸出到本地文件中,無法實時獲取每一幀數(shù)據(jù),無法將實時數(shù)據(jù)向服務(wù)器端發(fā)送;

②通過多次試驗發(fā)現(xiàn),H.264的Sequence Parameter Sets(SPS)和Picture Parameter Set(PPS)值在視頻錄制結(jié)束時才回寫到輸出文件的頭部,而在視頻數(shù)據(jù)開始傳輸時就需要這些參數(shù),顯然目前的方法是無法在視頻錄制過程中進行實時傳輸。

4.3 改進措施

為了解決上面遇到的問題,本系統(tǒng)對視頻錄制過程進行了如下改進:

通過LocalServerSocket、LocalSocket對數(shù)據(jù)輸出流進行實時獲?。煌ㄟ^相同參數(shù)設(shè)置進行二次視頻錄制,其中一次獲取SPS及PPS,另外一次進行視頻數(shù)據(jù)獲取。

①通過LocalServerSocket、LocalSocket對數(shù)據(jù)輸出流進行實時獲取。

MediaRecorder對象采集到視頻數(shù)據(jù)后將數(shù)據(jù)輸出流設(shè)置到LocalServerSocket的輸出流中,LocalServerSocket對象和LocalSocket對象建立連接,在LocalSocket對象的輸入流中獲取實時視頻數(shù)據(jù),然后將視頻數(shù)據(jù)交給通信組件。

②通過相同參數(shù)設(shè)置進行二次視頻錄制,其中一次獲取SPS及PPS、另外一次進行視頻數(shù)據(jù)獲取。

系統(tǒng)進行一次視頻數(shù)據(jù)采集,將進行兩次錄制,且兩次錄制參數(shù)相同,第一次錄制僅僅獲取SPS及PPS值,然后停止第一次錄制,開始正常的第二次錄制。試驗證明第一次錄制時間很短,大約為0.1 s,對用戶來講是基本上是連續(xù)的。

5 數(shù)據(jù)傳輸設(shè)計與實現(xiàn)

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

5.1 視頻數(shù)據(jù)傳輸前的基本參數(shù)傳輸

Android移動設(shè)備端程序啟動后,用戶點擊通信按鈕,觸發(fā)通信組件后,系統(tǒng)開始采集手機基本信息,將這些信息利用XML進行封裝。在服務(wù)器端主監(jiān)聽進程接收到數(shù)據(jù)請求后,對數(shù)據(jù)進行解析,然后將數(shù)據(jù)寫入數(shù)據(jù)庫中。

5.2 視頻數(shù)據(jù)傳輸

RTP封裝模塊主要負(fù)責(zé)對H.264視頻流進行打包,封裝成RTP數(shù)據(jù)包,并且將包發(fā)送到緩沖區(qū)。函數(shù)原型設(shè)計:

void createRTP(char[] data,String[]args)。

參數(shù)data:需要打包的視頻數(shù)據(jù)存儲地址。

參數(shù)args:視頻打包是需要的參數(shù),主要包含數(shù)據(jù)包大小等數(shù)據(jù)。

數(shù)據(jù)發(fā)送模塊主要對數(shù)據(jù)緩沖區(qū)數(shù)據(jù)進行發(fā)送,當(dāng)?shù)谝淮伟l(fā)送數(shù)據(jù)包時,則應(yīng)產(chǎn)生并發(fā)送控制包中的SDES類型的CNAME包,在發(fā)送數(shù)據(jù)包的時候,要對數(shù)據(jù)包進行相關(guān)統(tǒng)計,包括包的數(shù)目,發(fā)送的字節(jié)等。函數(shù)原型設(shè)計:

void sendRTP(char[] RTPData,int len,String[] args);

參數(shù)RTPData:需要發(fā)送的RTP數(shù)據(jù)包的存儲地址。

參數(shù)len:本次發(fā)送的數(shù)據(jù)長度。

參數(shù)args:根據(jù)RTCP反饋的控制信息組成參數(shù)信息。

5.3 視頻采集完成后輔助數(shù)據(jù)傳輸

當(dāng)視頻數(shù)據(jù)采集完畢并上傳完畢后,用戶可以給自己上傳的視頻增加描述,該部分功能主要通過TCP協(xié)議實現(xiàn),將該段視頻的唯一ID及視頻描述信息封裝成XML發(fā)送給服務(wù)器主監(jiān)聽程序。

6 結(jié) 語

本文對視頻監(jiān)控技術(shù)的研究現(xiàn)狀進行了了解,分析了基于Android平臺的遠(yuǎn)程視頻監(jiān)控系統(tǒng)的研究目的和進行軟件開發(fā)的重要意義,提出了一種基于Android平臺遠(yuǎn)程視頻監(jiān)控系統(tǒng)的手機端設(shè)計方案,經(jīng)過嚴(yán)格測試,驗證本方案可行并運行穩(wěn)定。

參考文獻:

[1] 常志沛.基于Android的智能手機視頻監(jiān)控系統(tǒng)的設(shè)計與實現(xiàn)[D].大連:大連海事大學(xué),2011.

[2] 李海寧.基于H.264的智能手機監(jiān)控系統(tǒng)的設(shè)計與實現(xiàn)[D].大連:大連理工大學(xué),2009.

猜你喜歡
服務(wù)器端監(jiān)控模塊
28通道收發(fā)處理模塊設(shè)計
“選修3—3”模塊的復(fù)習(xí)備考
The Great Barrier Reef shows coral comeback
你被監(jiān)控了嗎?
Zabbix在ATS系統(tǒng)集中監(jiān)控中的應(yīng)用
淺析異步通信層的架構(gòu)在ASP.NET 程序中的應(yīng)用
成功(2018年10期)2018-03-26 02:56:14
看監(jiān)控攝像機的4K之道
選修6 第三模塊 International Relationships
在Windows中安裝OpenVPN
網(wǎng)頁防篡改中分布式文件同步復(fù)制系統(tǒng)
阿城市| 潍坊市| 齐齐哈尔市| 曲阳县| 延川县| 银川市| 客服| 阿拉尔市| 桑植县| 巴林右旗| 红桥区| 莱西市| 彰化市| 北辰区| 禹州市| 荔波县| 治多县| 锦州市| 永川市| 炉霍县| 麻城市| 马龙县| 延川县| 台江县| 津市市| 将乐县| 宜阳县| 东丰县| 大名县| 河源市| 凤城市| 德令哈市| 通山县| 宜川县| 铁力市| 广元市| 富锦市| 无锡市| 惠安县| 沛县| 扬州市|