基于J2ME的Sprite手機(jī)移動視頻監(jiān)控系統(tǒng)
1引言
隨著社會的發(fā)展, 視頻監(jiān)控技術(shù)在各行各業(yè)得到了廣泛的應(yīng)用。如何讓用戶實(shí)現(xiàn)隨時隨地進(jìn)行監(jiān)控, 手機(jī)移動監(jiān)控系統(tǒng)提供了一個很好的解決方案。通過無線網(wǎng)絡(luò)與互聯(lián)網(wǎng)的結(jié)合, 手機(jī)移動監(jiān)控系統(tǒng)把監(jiān)控設(shè)備的視頻信號通過移動互聯(lián)網(wǎng)絡(luò)傳輸, 實(shí)現(xiàn)實(shí)時在線監(jiān)控現(xiàn)場情況。目前, 手機(jī)移動監(jiān)控系統(tǒng)所采用的技術(shù)主要是利用J2ME 的P layer播放器技術(shù), 進(jìn)行現(xiàn)場監(jiān)控, 不僅需要手機(jī)支持RTSP等實(shí)時流媒體協(xié)議, 而且對移動互聯(lián)網(wǎng)有一定的要求。本文利用J2ME 的Sprite, 以動畫的效果來顯示服務(wù)器傳輸過來的現(xiàn)場監(jiān)控圖片, 模擬視頻監(jiān)控, 達(dá)到實(shí)時視頻監(jiān)控的要求。
2 系統(tǒng)的設(shè)計(jì)
手機(jī)移動監(jiān)控系統(tǒng)由視頻采集器、服務(wù)器、移動互聯(lián)網(wǎng)和手機(jī)4個主要部分組成, 整體架構(gòu)如圖1所示。
圖1 整體架構(gòu)圖
系統(tǒng)功能: 1) 視頻圖像的采集編碼, 將視頻采集器獲取的圖像以適當(dāng)?shù)木幋a格式存放到服務(wù)器上; 2) 圖像的傳輸, 當(dāng)用戶向服務(wù)器發(fā)送請求時,服務(wù)器根據(jù)請求將采集的圖像發(fā)送到用戶手機(jī)終端, 傳輸采用Datagram方式; 3) 圖像的顯示, 當(dāng)手機(jī)終端獲取到圖像后, 如果是非異常情況, 將圖像以靜態(tài)的方式顯示出來, 如果是異常情況, 手機(jī)終端以動畫的形式顯示圖像視頻; 4) 其他輔助功能,如異常報(bào)警、訪問權(quán)限設(shè)置、視頻捕捉、監(jiān)控設(shè)備控制等功能。
系統(tǒng)工作流程: 視頻采集器將現(xiàn)場情況采集傳輸?shù)椒?wù)器端, 服務(wù)器在接收到采集的數(shù)據(jù)后對數(shù)據(jù)進(jìn)行相關(guān)處理并及時保存到數(shù)據(jù)庫中, 同時, 等待手機(jī)的連接訪問, 如果手機(jī)發(fā)出請求, 服務(wù)器就通過移動互聯(lián)網(wǎng)將采集的現(xiàn)場情況傳輸?shù)绞謾C(jī)終端, 以便用戶對現(xiàn)場情況進(jìn)行監(jiān)控??紤]到實(shí)際的網(wǎng)絡(luò)流量等問題, 而且現(xiàn)場(用戶的家中或辦公室)沒有異常情況時, 處于同一狀態(tài), 因此監(jiān)控系統(tǒng)只需發(fā)送一張現(xiàn)場關(guān)鍵幀圖片到用戶手機(jī)上, 只有現(xiàn)場出現(xiàn)異常情況時, 監(jiān)控系統(tǒng)會警告用戶, 然后根據(jù)用戶的要求將現(xiàn)場的情況以關(guān)鍵幀圖片的方式連續(xù)發(fā)送到用戶手機(jī)上, 由用戶的手機(jī)通過J2ME 的Sprite把現(xiàn)場圖片以動畫效果的形式展現(xiàn)給用戶, 實(shí)現(xiàn)對現(xiàn)場的實(shí)時視頻監(jiān)控, 并節(jié)約網(wǎng)絡(luò)流量。
服務(wù)器端的設(shè)計(jì): 服務(wù)器端運(yùn)行于遠(yuǎn)程計(jì)算機(jī), 由J2SE 實(shí)現(xiàn), 其主要功能是捕獲并保存現(xiàn)場監(jiān)控?cái)?shù)據(jù)。具體步驟如下: 1) 獲取視頻采集器的地址; 2) 將視頻采集器采集的視頻序列輸入到數(shù)據(jù)池中; 3) 由服務(wù)器采用適當(dāng)?shù)年P(guān)鍵幀算法, 從視頻序列中提取出相應(yīng)的關(guān)鍵幀; 4) 根據(jù)客戶端的要求發(fā)送相應(yīng)的關(guān)鍵幀圖片數(shù)據(jù)。
客戶端的設(shè)計(jì): 客戶端的主要功能是以動畫效果來顯示服務(wù)器傳輸過來的現(xiàn)場監(jiān)控圖片, 模擬視頻播放, 實(shí)現(xiàn)對現(xiàn)場的實(shí)時視頻監(jiān)控。其硬件要求:
作為監(jiān)控手機(jī), 在本系統(tǒng)中無特別要求, 只需支持M IDP2. 0即可(目前手機(jī)已普遍支持M IDP2. 0)。
3 系統(tǒng)的實(shí)現(xiàn)
3. 1 服務(wù)器端的實(shí)現(xiàn)
系統(tǒng)服務(wù)器平臺使用Apache Tom ca,t 對于服務(wù)器端的實(shí)現(xiàn), 本文主要探討了如何進(jìn)行服務(wù)器端的網(wǎng)絡(luò)連接和圖像數(shù)據(jù)的傳輸, 其中涉及的代碼為Server. java和Sender. java。Server. java用于建立服務(wù)器端的連接, 接受客戶端的請求, 根據(jù)客戶端的數(shù)據(jù)報(bào)獲取客戶端的地址, 然后將從采集器傳輸過來并經(jīng)處理過的現(xiàn)場信息以圖片的方式由SSender. java傳輸?shù)接脩羰謾C(jī)終端。
3. 2 客戶端實(shí)現(xiàn)
手機(jī)終端主要是涉及J2ME 中的用戶界面編程、客戶端通信、監(jiān)控圖像顯示等方面的技術(shù)。MONitor. java代碼用于描繪用戶界面; Clien.t java代碼建立客戶端通信連接, 接受服務(wù)器端的圖片數(shù)據(jù)并顯示; CSender. java代碼類似服務(wù)器端的SSender。java代碼主要用于客戶端信息的傳輸。
public class C lienTImplements Runnable
{
;
圖2 測試圖。
4 實(shí)驗(yàn)
根據(jù)上述的設(shè)計(jì)與實(shí)現(xiàn), 本文以Tom cat6. 0、J2MEW ire lesSToo lk it2. 5為實(shí)驗(yàn)平臺對系統(tǒng)進(jìn)行了測試, 測試結(jié)果如圖2所示。這三張圖片是手機(jī)以動畫效果播放監(jiān)控現(xiàn)場情況時, 在不同時刻所捕捉的。系統(tǒng)測試的結(jié)果達(dá)到了實(shí)時視頻監(jiān)控的要求。
5結(jié)語
本文提出的手機(jī)移動視頻監(jiān)控系統(tǒng)解決方案,其創(chuàng)新之處在于: 利用Sprite技術(shù)以動畫效果的形式顯示現(xiàn)場監(jiān)控情況, 達(dá)到了實(shí)時視頻監(jiān)控的要求, 避免了目前采用手機(jī)播放器播放實(shí)時視頻存在的系列問題, 同時, 將動畫形式與靜態(tài)圖片形式結(jié)合起來, 節(jié)約了網(wǎng)絡(luò)流量。此種方案實(shí)現(xiàn)簡單, 不受手機(jī)型號限制和技術(shù)限制( 只要求手機(jī)支持M IDP2. 0即可), 適用性廣。