嚴張凌+代茂
摘 要隨著網絡技術的發展,無線網絡的普及率也越來越高,使得視頻監控技術在數字化、網絡化的前提下得到了更廣闊的發展空間,形成了監控前端一體化、視頻數字化、監控網絡化、系統集成化的特點。本文介紹了一種基于Android平臺的視頻監控系統,并就其設計的主要思路和應用進行了分析。
【關鍵詞】Android 視頻監控 系統設計 H.264編碼 應用
近年來,智能手機的快速發展推動了Android手機操作系統的開發和利用,該系統的優勢在于便于攜帶、系統小巧、功能全面,因此也使得基于Android平臺的視頻監控技術得研發和應用。傳統的視頻監控系統由于受線纜或光纖的帶寬限制,無法實現實時的視頻信號傳輸,而Android平臺在無線網絡的支持下成功的解決了一這問題,從而進一步促進了遠程監控、可視電話、電視會議等遠程視頻實時監控技術的廣泛應用。
1 視頻監控技術概述
視頻監控技術的應用時間比較久遠,以往在安防領域發揮了非常大的作用,是公安部門維持社會穩定、打擊犯罪的重要技術手段。經過多年的發展,視頻監控技術經歷了模擬監控系統、數字視頻監控系統、網絡視頻監控系統等三個重要發展階段,隨著移動網絡的快速發展,視頻監控技術開始朝向以移動流媒體技術為代表的移動視頻監控方向發展,手機等移動設備開始具備實時監看遠程動態畫面的功能,由此也將視頻監控技術的應用范圍拓展到了教育、政府、娛樂、醫療、酒店、運動等多個領域,實現了“隨時隨地,自由掌控”的監控,為人們的生產、生活提供了更簡單、便利、及時的監控解決方案。
2 視頻監控系統的結構設計及應用
目前,基于Android平臺的視頻監控系統主要由采集模塊、編碼模塊、視頻傳輸模塊、解碼模塊、顯示模塊等五大模塊共同構成,相關設計也是圍繞這五大模塊進行的。
2.1 視頻采集模塊
基于Android平臺的視頻信號采集工作是由采集模塊完成的,通過手機攝像頭可以獲得YUV420格式的視頻流,而相關模塊則可通過對Android應用層的代碼編寫實現。
2.2 編碼模塊
目前,Android平臺視頻監控系統的數字視頻編碼標準主要有兩種,一種是由MPEG制定的MPEG-1、MPEG-2、MPEG-4編碼標準;而另一種則是由ITU一T制定的H.261、H.263視頻編碼標準。為進一步促進視頻監控系統在多媒體通信方面的應用,MPEG和VCEG聯手共同開發了當今最先進的視頻編碼標準——H.264。
雖然該標準依然采用了以往的壓縮標準架構,但是H.264在此基礎上增加了更多新的特性。比如,H.264標準包含了網絡抽象層(NAL)和視頻編碼層(VCL)兩層結構,網絡抽象層的功能是打包、傳輸數據,而視頻編碼層的功能是壓縮視頻編碼,這樣的分層結構對信號的傳輸和編碼工作進行了分離,使得H.264標準在面對復雜的通信環境時,依然可以利用不同的網絡進行視頻信號的傳輸工作并保證良好的視頻數據質量。
2.3 傳輸模塊
視頻數據傳輸的應用主要受HTTP、RTSP、RTP、RTCP協議的約束。TCP和UDP協議主要作用于傳輸層,HTTP則是基于TCP(傳輸控制協議)的超文本傳輸協議。在一對一或一對多的情況下,RTP可以保證流媒體數據流與時間信息的同步正常工作。一般情況下,RTP需要使用UDP進行數據傳輸,因此UDP是建立RTP的基礎。另外,RTP還需要供助RTCP(實時傳輸協議)彌補自身沒有可靠的傳送機制的弱點,因此只有讓RTP和RTCP共同協作才能實現流量和擁塞的有效控制。同時,RTCP作為應用層協議,其位置處于RTP和RTCP協議層之上,多媒體數據的傳輸則是通過IP網絡利用傳輸機制的TCP和RTP實現數據傳輸。RTSP則用于實時數據發送時對音視頻流的遠程控制,如對流媒體的播放、暫停、記錄等相關操作。SDP則用來描述RTSP的會話描述協議,用于說明會話的基本屬性。結合這些協議在視頻監控系統中起到的作用,本文設計的Android平臺視頻監控系統主要采用RTP、RTSP、RTCP、HTTP等四個協議構建系統的傳輸模塊。
視頻監控系統中的流媒體系統需要由編碼器、流媒體服務器、客戶端播放器三個基本部件構成。編碼器的作用在于將采集到的原始視頻數據轉換成流媒體格式文件,而這些編碼后的文件則由流媒體服務器進行接收和轉發,客戶端播放器則將接收到的文件進行解碼、播放。流媒體傳輸的方式可分為兩種:
(1)順序流式傳輸。這種方式是基于HTTP或FTP服務器進行文件傳輸的方式,可以保證完全無損的數據下載,可以有效保證視頻的質量,也便于管理和用戶使用。但這種方式對于網絡傳輸速率的要求較高,通常需要等待較長時間,不適用于實時性的隨機訪問。
(2)實時流式傳輸。這種方式是基于傳輸網絡協議和專用的流媒體服務器進行文件傳輸的,由于匹配了帶寬和無線網絡,可以支持實時性的現場直播,適用于用戶的隨機訪問和后退操作。傳輸網絡協議需要與防火墻進行配置,在管理方面存在一定的復雜性。同時該方式必須與帶寬和無線網絡匹配,一旦網絡擁塞或設備出現低速連接狀態時,就會出現包括丟幀在內的視頻質量下降現象。
2.4 解碼模塊
解碼模塊的作用就是對編碼的過程進行逆操作,因此解碼采用的標準也是編碼采用的H.264。解碼器一般由視頻數據的解碼部分和視頻的顯示部分兩個部分構成。解碼部分主要是采用Android NDK+C機制進行實現,顯示部分則利用Android SDK+Java機制由Android提供的組件實現。兩個部分的通信則由java提供的jni機制實現。解碼的整體流程主要由前段碼流處理、H.264解碼和后段視頻顯示三個功能模塊實現:前段碼流處理負責讀取文件,在分隔出NAL后將文件效由底層解碼;H.264解碼則負責圖像的重建工作,是解碼過程的核心部分;后端視頻顯示則將解碼后的文件通過客戶端進行顯示。
2.5 顯示模塊
利用Android系統自帶的顯示器將解碼后的數據流進行實時視頻顯示,并保證視頻顯示的效果。
3 結語
本文基于Android平臺的特點,利用移動流媒體技術對移動視頻監控系統采取了五個模塊的系統設計,充分考慮到了視頻監控系統的安全性、穩定性和實時性。
參考文獻
[1]魏崇毓,張菲菲.基于Android平臺的視頻監控系統設計[J].計算機工程,2012(14):214-216.
[2]郭永清.基于Android平臺的視頻監控系統的設計研究[D].西安科技大學,2012.
[3]張賀.基于Android的智能視頻監控系統設計[D].成都理工大學,2015.
作者單位
1.四川大學錦城學院 四川省成都市 611731
2.四川大學網絡學院 四川省成都市 610024