朱敏
(溫州職業技術學院 計算機系,浙江 溫州 325035)
基于Android智能手機多媒體遠程視頻監控系統的設計
朱敏
(溫州職業技術學院 計算機系,浙江 溫州 325035)
多媒體遠程視頻監控系統可通過網絡實現對遠程場景的音視頻監控。針對目前流行的Android操作系統,采用C/S+M(Media)架構和Java技術,設計基于Android智能手機多媒體遠程視頻監控系統。測試結果表明,系統性能穩定可靠,可操作性強。
Android;智能手機;遠程視頻監控;服務器端;客戶端
遠程監控是指本地計算機通過遠程監控軟件發送指令給遠程計算機,從而控制遠程監控設備采集當地信息,并不斷將信息返回給本地計算機的過程。以計算機為終端的遠程監控,解決了地域的限制,并且技術越來越成熟,應用越來越廣泛;以移動設備為終端的遠程監控使用更加方便快捷,可應用于停車場、居民區、幼兒園、應急等場景,對家庭、小區、企業或災害現場進行視頻監控、現場指揮等操作。但目前以PC機為終端的遠程監控技術無法滿足用戶多元化增長的需求。本文提出基于Android智能手機多媒體遠程視頻監控系統的設計方案,將多媒體設備控制程序從服務器端程序分離出來,形成基于獨立程序的C/S+M(Media)架構的新型多媒體遠程視頻監控系統。
遠程視頻監控軟件一般分為客戶端程序(Client)和服務器端程序(Server),在使用前需要將客戶端程序安裝在控制端載體上,將服務器端程序安裝在被控端載體上,通過客戶端程序向服務器端程序發出訪問信號,建立遠程連接傳遞信息,實現遠程視頻控制。基于Android智能手機多媒體遠程視頻監控系統,將音視頻設備程序從傳統的服務器端程序分離出來,獨立為多媒體設備控制程序(Media)。這增強了系統各模塊的獨立性,便于系統的移植和維護,同時也大大增加了代碼的可重用性。該視頻監控系統采用改進的C/S+M(Media)架構:客戶端為Android智能手機,即控制端;服務器端為個人電腦。其系統總體架構[1]如圖1所示。

圖1 系統總體架構
多媒體遠程視頻監控系統包括采集模塊、編解碼模塊、傳輸模塊、顯示模塊四大模塊,采用三點一線的驅動方式(C/S+M(Media)架構)。其硬件結構有云臺攝像頭、網絡視頻服務器、智能手機客戶端。云臺攝像頭獲得視頻數據,視頻獲取與傳輸單元完成視頻數據的采集與壓縮編碼等處理。系統的關鍵技術是編碼器的設計,使用H.264編碼器將拍攝到的模擬信號進行壓縮編碼轉換成數字信號,并通過TD-SCDMA無線Modem發送到TD-SCDMA網絡,經由Internet將信號傳送給視頻服務器,智能手機客戶端通過Internet訪問視頻服務器并獲取視頻數據[2]。云臺相當于攝像頭的底座,是作為支撐物安裝在工作臺上的,對云臺控制協議解析和傳輸是多媒體遠程視頻監控系統中的關鍵技術之一。客戶端向服務器端發出操作指令,服務器端收到指令后解析處理指令,將處理后的指令傳給多媒體設備控制程序;多媒體設備控制程序根據收到的指令初始化相關設備,執行相關操作指令,采集信息,將信息傳給服務器端;服務器端將采集到的信息壓縮處理后發給客戶端,客戶端將信息讀取并顯示[3]。
2.1 服務器端
在服務器端,利用socket=new socket()創建一個客戶端的socket對象。當setSoTimeout設置超時時,可直接使用socket.connect連接客戶端和服務器端,并采用socket.getInputStream()獲取服務器端傳輸的圖像數據[4]。此外,服務器端還需開啟一個單獨線程用于監聽客戶端的連接請求,同意請求后,運用JM F方法從相應數據位置抓取圖像數據轉換成輸出流,并傳輸給客戶端,形成一個完整的圖像傳輸過程。服務器端設計流程[5]如圖2所示。

圖2 服務器端設計流程
服務器端主要模塊及功能如下:
(1)初始化模塊。負責初始化應用程序的運行狀態,獲取網絡I P地址/端口及驗證用戶登錄密碼等。
(2)連接監聽模塊。在程序初始化后,連接監聽模塊在指定端口進行T CP監聽,等待遠程連接。
(3)遠程連接模塊。負責進行實際的TCP連接和數據收發。當客戶端發出訪問信號、服務器端核實身份并開始接收數據后,再分配新的socket套接字完成TCP連接并進行數據通信。
(4)指令處理模塊。將接收到的操作指令解析處理,分析出要操作的對象及對其進行相關操作。
(5)數據處理模塊。負責將要傳輸的信息進行壓縮,并根據自定義的編解碼協議封裝處理,然后交給遠程連接模塊進行傳輸。
2.2 客戶端
客戶端功能主要包括視頻觀看、切換通道、全屏放大、云臺控制、調焦、手機抓拍、收藏及退出分享等。對于媒體流文件來說,數據預處理層先將RT P的報頭信息去除,再對RTP中的音視頻信息進行組幀,同時將全部的數據幀傳遞到上層待解碼緩沖區;而對于本地文件,則需要按照相對應的媒體格式進行解封裝,再將獲取文件的音視頻等信息按幀放入對應的上層待解碼緩沖區。遠程視頻實時監視的用戶界面主要通過Android的GUI系統來實現,負責提供播放器和用戶之間的交互接口,如播放時的快進、后退、暫停等功能。Android的GUI系統由Java語言框架和C語言框架組成,分成上下兩層。對于下層,G U I系統通過調用顯示輸入輸出設備的驅動,將硬件和Android的軟件系統聯系起來;對于上層,GUI系統提供Java層次的繪圖接口,Android的Java框架層調用這些接口構建各種UI元素。此外,Java應用程序層也可調用這些接口。音視頻解碼層包括解碼選擇組件、多樣主流音視頻格式的解碼器及多路媒體流之間的同步功能[6]。客戶端設計流程[5]如圖3所示。

圖3 客戶端設計流程
客戶端主要模塊及功能如下:
(1)初始化模塊。負責初始化應用程序的運行狀態,得到背景參數,設置全局變量。
(2)連接設置模塊。用戶設置連接I P地址、端口、登錄密碼等。
(3)套接字管理器。管理套接字的狀態和使用。
(4)遠程連接模塊。負責進行實際的網絡連接和與服務器端通信。
(5)指令生成模塊。負責根據用戶的界面操作,產生相應的操作指令并根據自定義的編解碼協議封裝。
(6)數據顯示模塊。將處理好的媒體信息在手機上進行顯示或播放。
(7)數據處理模塊。將遠程連接模塊收到的信息進行相應處理,將其轉化成智能手機上能顯示的信息。
2.3 多媒體設備(Media)控制程序
多媒體設備控制程序包括音視頻程序,每個程序中都有獨立的操作指令線。指令處理模塊將接收到的操作指令進行解析處理,分析出要操作的對象及對其進行相關操作。它將數據流轉化成字符串,然后采用indexOf()和substring()方法,根據自定義的編解碼協議將字符串分割,提取字符串中的信息。
編解碼協議定義兩種信息類型:一是數據型,以d表示data;二是指令型,以o表示order。數據型信息編碼協議結構是指,輸入單元將來自外部的輸入信號進行數字轉換及串并轉換,并將轉換后的輸入信號分別提供給輸出單元及解碼單元;輸出單元將來自輸入單元的輸入信號串并轉換及模擬轉換成輸出信號,并將輸出信號輸出到外部。指令型信息編碼協議結構為:信息類型\操作設備\一級操作\二級操作\三級操作\信息結尾符end,如“o\camera\picture \end”表示攝像機拍照指令,“o\camera\picture\ save\end”表示將所拍照片保存指令。
多媒體遠程視頻監控系統設計完成后,對其進行兼容性/適應性測試,結果表明,該系統能兼容三星9100、HTChero、ZTEU880等三款以上的Android常用手機機型。同時還進行了功能測試、性能測試、用戶體驗/易用性測試、互操作性測試。在測試過程中,系統界面易操作,用戶體驗度良好,不同監控界面切換流暢,性能穩定。服務器端和智能手機客戶端通信也達到了預期要求,能夠在500ms以內即時響應服務器的請求并能快速反饋視頻監控結果。通過該系統可控制云臺向上、向下、向左、向右移動,還可快照,具備分享到網絡上等功能。Android智能手機客戶端視頻監控界面如圖4所示。

圖4 Android智能手機客戶端視頻監控界面
隨著網絡和視頻編碼技術的不斷發展,移動視頻監控將是未來視頻監控行業的發展方向。針對目前流行的Android操作系統,采用C/S+M(Media)架構和Java技術,設計基于Android智能手機多媒體遠程視頻監控系統,大大提升了系統的性能,并增加了系統的移植性和代碼的可重用性。基于Android智能手機多媒體遠程視頻監控系統整體投入成本低,界面人性化,基本實現了手機客戶端對前端攝像頭的實時監控功能。
[1]秦耕,程克非,張亞奎.基于智能手機的電腦遠程控制系統設計[J].微計算機信息,2009(3):22-24.
[2]魏崇毓,張菲菲.基于Android平臺的視頻監控系統設計[J].計算機工程,2012(14):215-216.
[3]楊豐盛.Android應用開發揭秘[M].北京:機械工業出版社,2010:1-5.
[4]黃金雪.Socket高效網絡服務端研究[J].現代計算機,2011(10):22-25.
[5]李琴,陳立定,任志剛.基于Android智能手機遠程視頻監控系統的設計[J].電視技術,2012(7):134-136.
[6]楊明極,畢晶.基于Android視頻客戶端的設計[J].電視技術,2012(3):43-47.
[責任編輯:林海平]
Design of Smart Phone Multimedia Remote Video Surveillance System Based on Android
ZHU Min
(Computer Science Department, Wenzhou Vocational & Technical College, Wenzhou, 325035, China)
The multimedia remote video surveillance system can monitor the audio and video of remote scene through the network. Applying C/S+M (Media) structure and Java technology, the smart phone multimedia remote video surveillance system is designed based on the current Android operating system. It is proved that the system is stable and reliable with strong operability.
Android; Intelligent mobile phone; Video monitor of remote scene; Server; Client
TP277.2
A
1671-4326(2013)02-0065-03
2013-01-31
溫州職業技術學院科研項目(WZY2010033)
朱 敏(1981—),女,江西吉安人,溫州職業技術學院計算機系講師,碩士.