黃小華,蘇燕
(北海職業(yè)學(xué)院,廣西 北海 536000)
在我國科技水平的不斷提高下,視頻智能分析技術(shù)應(yīng)運而生,并被廣泛地應(yīng)用于基于Android的遠(yuǎn)程視頻監(jiān)控系統(tǒng)的設(shè)計和實現(xiàn)中,不僅可以實現(xiàn)對系統(tǒng)智能化、模塊化設(shè)計,還可以設(shè)計和實現(xiàn)異常行為分析功能、動態(tài)跟蹤功能等高級功能的開發(fā),為進一步提高用戶的使用體驗,促進智能視頻的健康、可持續(xù)發(fā)展提供重要的技術(shù)支持。因此,在視頻智能分析技術(shù)的應(yīng)用背景下,如何設(shè)計與實現(xiàn)基于Android的遠(yuǎn)程視頻監(jiān)控系統(tǒng)是軟件開發(fā)人員必須思考和解決的問題。
本文所設(shè)計的基于Android的遠(yuǎn)程視頻監(jiān)控系統(tǒng)主要利用視頻圖像對監(jiān)控現(xiàn)場進行實時、有效地監(jiān)控,并與無線網(wǎng)絡(luò)建立起有效的連接,實現(xiàn)對圖像視頻的捕捉、壓縮和傳輸。因此,在對該系統(tǒng)進行總體設(shè)計的過程中,要充分考慮系統(tǒng)的清晰度、連續(xù)性和實時性,實現(xiàn)對系統(tǒng)的總體設(shè)計[1]。該系統(tǒng)主要由以下三個部分組成,分別是視頻采集設(shè)備、視頻顯示客戶端和視頻服務(wù)器。其中,視頻采集設(shè)備主要借助攝像頭實現(xiàn)對視頻圖像數(shù)據(jù)的捕捉和獲取;視頻顯示客戶端主要包含監(jiān)控請求發(fā)送功能、圖像解壓功能、圖片保存功能以及視頻播放功能,客戶端利用RTP對監(jiān)控視頻數(shù)據(jù)進行解析處理[2],然后,采用調(diào)用視頻解碼庫的方式,對視頻數(shù)據(jù)進行解碼處理,并將解碼處理后的視頻圖像展示在用戶面前。
系統(tǒng)服務(wù)器端在具體的設(shè)計中,需要借助PC機和Windows操作系統(tǒng),對其進行設(shè)計。服務(wù)器端主要利用視頻采集捕獲的方式[3],對視頻圖像進行壓縮處理,以完成對Socket傳輸通信功能的設(shè)計。
1.2.1 視頻采集與壓縮
對于系統(tǒng)服務(wù)器端而言,其視頻采集與壓縮功能在具體的設(shè)計中,主要借助JMF相關(guān)技術(shù),向應(yīng)用程序中添加音頻、視頻等元素,以實現(xiàn)對視頻流的捕捉和播放[4]。另外,軟件開發(fā)人員還要充分考慮JMF這一工具包底層設(shè)計的復(fù)雜性,以完成對該功能模塊的科學(xué)設(shè)計。
1.2.2 流媒體協(xié)議與Socket套接字通信
流媒體協(xié)議功能模塊在具體的設(shè)計中,主要采用協(xié)議封裝的方式,將編碼處理后的數(shù)據(jù)進行處理,以確保流媒體傳輸?shù)膶崟r性和有效性。此外。還要結(jié)合網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)奶攸c,完成對敏感數(shù)據(jù)的實時處理。在對應(yīng)用程序進行網(wǎng)絡(luò)通信的過程中,還要綜合運用TCP/IP協(xié)議和C/視頻智能分析技術(shù)設(shè)計模式,以實現(xiàn)通信功能設(shè)計[5]。此外,為了確保網(wǎng)絡(luò)通信穩(wěn)定性、可靠性和安全性,要從監(jiān)聽服務(wù)器、請求客戶端以及確認(rèn)連接三個環(huán)節(jié)出發(fā),完成對客戶端與服務(wù)器端之間套接字的有效連接。
1.3.1 客戶端流程設(shè)計
客戶端流程主要體現(xiàn)在以下幾個方面:(1)利用移動終端,輸入正確的用戶名和密碼,實現(xiàn)對終端的成功登錄。然后,采用MD5加密技術(shù),向服務(wù)器發(fā)送相應(yīng)的請求,當(dāng)客戶端對用戶的身份信息進行識別、認(rèn)證后,需要借助系統(tǒng)服務(wù)器端,完成對服務(wù)器域名、端口號的配置,并將最終配置好的信息數(shù)據(jù)存儲于相應(yīng)的數(shù)據(jù)庫中,為下次讀取配置信息提供重要的依據(jù)和參考。(2)視頻服務(wù)器響應(yīng)客戶端發(fā)送的數(shù)據(jù)請求,并將視頻監(jiān)控數(shù)據(jù)傳輸?shù)揭苿咏K端中。(3)移動終端接收到相關(guān)信息數(shù)據(jù)后,會采用調(diào)用FFmpeg庫的方式,對相關(guān)信息數(shù)據(jù)進行解碼處理。
1.3.2 客戶端軟件結(jié)構(gòu)
客戶端軟件系統(tǒng)主要包含解碼顯示、人機交互以及視頻數(shù)據(jù)接收三個部分,客戶端在具體的運行中,用戶需要借助客戶端,完成對服務(wù)器端端口號、IP地址的配置,并將視頻監(jiān)控請求發(fā)送到服務(wù)器中,由服務(wù)器對用戶的身份信息以及賬戶信息進行驗證,然后,將打包處理后的視頻數(shù)據(jù)發(fā)送到客戶端,由客戶端采用調(diào)用調(diào)用FFmpeg庫的方式,對其進行解碼處理和播放處理。
2.1.1 視頻采集模塊
視頻采集模塊主要用于對多媒體相關(guān)信息數(shù)據(jù)的截取。該模塊在具體的開發(fā)和實現(xiàn)中,需要采用查詢對象的方式,完成對音頻截取設(shè)備以及視頻截取設(shè)備的獲取。同時,采用調(diào)用etDeviceList()方法的方式,精確獲得各個設(shè)備所對應(yīng)的CaptureDeviceInfo對象。接著,利用該對象,完成對DataSource對象的創(chuàng)建。最后,采用調(diào)用tart()方法,實現(xiàn)對多媒體相關(guān)信息數(shù)據(jù)的截取。
2.1.2 視頻編碼模塊
視頻編碼模塊主要借助X264開源庫,對視頻H.264相關(guān)數(shù)據(jù)進行編碼處理。H.264主要包含以下兩種類型,一種是視頻編碼層VCL,另一種是網(wǎng)絡(luò)抽象層NAL。其中視頻編碼層VCL主要用于對視頻壓縮編碼的處理,通過綜合運用補償預(yù)測和變換編碼,完成對宏塊對象數(shù)據(jù)的處理。網(wǎng)絡(luò)抽象層NAL主要用于對VCL層編碼視頻流的封裝處理,如分割封裝和打包封裝。通過利用H.264,可以對編碼處理后的視頻信息數(shù)據(jù)進行統(tǒng)一化整理,為后期編碼操作打下堅實的基礎(chǔ)。
2.1.3 流媒體協(xié)議模塊
流媒體協(xié)議模塊主要功能時采用協(xié)議封裝的方式,對H.264編碼處理后的視頻信息進行封裝,確保流媒體傳輸?shù)母咝院蛯崟r性。然后,利用RTP相關(guān)技術(shù),完成對網(wǎng)絡(luò)數(shù)據(jù)的安全、可靠傳輸,以保證時間敏感數(shù)據(jù)處理效率和效果。通過采用Socket發(fā)送的方式,可以完成對RTP數(shù)據(jù)包的快速發(fā)送。同時,當(dāng)RTPLIB庫被成功調(diào)用后,系統(tǒng)會自動處理RTCP數(shù)據(jù)報,以提高了RTP會話的效率和效果。
2.2.1 客戶端軟件解碼的實現(xiàn)
與硬件編碼方式相比,軟件編碼方式比較繁瑣和復(fù)雜,軟件解碼主要包含以下三個步驟:(1)通過利用網(wǎng)絡(luò)協(xié)議,采集和整理網(wǎng)絡(luò)視頻數(shù)據(jù);(2)對解碼數(shù)據(jù)塊進行截取處理,然后,使用解碼器,對解碼數(shù)據(jù)塊進行解碼處理,并將最終解碼處理的結(jié)果呈現(xiàn)在顯示器上,供用戶查看和調(diào)用。軟件解碼流程圖如圖1所示。從圖中可以看出,NAL屬于最基本的解碼單位,通過利用Java層完成對NAL單元的提取,并調(diào)用相應(yīng)的解碼器,對其進行解碼處理,然后,將最終解碼處理后的信息數(shù)據(jù)傳輸?shù)絁ava層,以實現(xiàn)對視頻畫面的更新。
圖1 軟件解碼流程圖
2.2.2 客戶端的功能實現(xiàn)
客戶端功能主要是指通過使用Socket套接字,與系統(tǒng)服務(wù)器端建立有效的連接,從而快速接收和獲取系統(tǒng)服務(wù)器端所傳輸?shù)囊曨l圖像數(shù)據(jù),然后,采用調(diào)用Ffmpeg的方式,完成對H.264解碼處理,并將最終解碼處理的結(jié)果呈現(xiàn)在移動終端上,為了實現(xiàn)顯示視頻圖像功能的開發(fā)和實現(xiàn),軟件開發(fā)人員要利用Java類,完成對SocketCamera對象的創(chuàng)建,然后,然后,利用接口,配置相關(guān)屬性。
綜上所述,在視頻智能分析技術(shù)的應(yīng)用背景下,基于Android的遠(yuǎn)程視頻監(jiān)控系統(tǒng)在設(shè)計和開發(fā)方面取得了一定的突破和創(chuàng)新,該系統(tǒng)不僅功能強大,通用性強,具有良好的用戶體驗,還在網(wǎng)絡(luò)自動化管理、工業(yè)自動化控制等領(lǐng)域中取得了顯著的應(yīng)用效果,因此,深受廣大用戶的青睞和喜愛。為了方便后期系統(tǒng)的維護和升級,需要相關(guān)軟件開發(fā)人員再接再厲,用更加優(yōu)雅的代碼擴充更多適用的功能,從而為促進基于Android的遠(yuǎn)程視頻監(jiān)控系統(tǒng)健康、可持續(xù)發(fā)展,提高其應(yīng)用價值和應(yīng)用前景提供有力的保障。