摘 要:通過遠程視頻監(jiān)控系統(tǒng),可以實現(xiàn)對遠程場景的實時監(jiān)控。文中以移動通信設備中常用的Android系統(tǒng)為基礎,以C/S+M架構和Java技術為依托,設計和實現(xiàn)了基于Android環(huán)境的多媒體視頻監(jiān)控系統(tǒng)。實際的應用效果表明,所設計的系統(tǒng)穩(wěn)定性更可靠和穩(wěn)定,系統(tǒng)操作性也較強。
關鍵詞:Android系統(tǒng);視頻監(jiān)控;服務器端;客戶端
中圖分類號:TP277
在現(xiàn)代通信和網(wǎng)絡技術的支持下,遠程監(jiān)控技術應運而生。該技術能夠通過計算機中所配置的軟件終端,向遠程計算機發(fā)送響應指令和程序,從而實現(xiàn)對遠程網(wǎng)絡監(jiān)控設備的控制與操作。同時,還可以將信息向本地計算機返回?,F(xiàn)在,如果僅僅通過PC來承擔遠程監(jiān)控系統(tǒng)的顯示終端,已經(jīng)逐漸與市場和用戶的多元化需求相脫節(jié)。所以,本文針對Android環(huán)境中的移動智能通信終端進行研究,設計出遠程監(jiān)控系統(tǒng),能夠?qū)崿F(xiàn)多媒體設備控制程序與服務器端程序的分離,這樣,就可以實現(xiàn)基于C/S+M架構的便攜式遠程多媒體監(jiān)控系統(tǒng)。
1 總體設計方案
文中所采用的基于Android智能通信終端多媒體遠程視頻監(jiān)控系統(tǒng),通過將視頻和音頻設備與服務器端的物理分離,同時為各種多媒體設備提供專用的控制程序。這樣,可以在大幅增加系統(tǒng)中模塊獨立性的同時,更提高系統(tǒng)的可移植性和可維護性。在本文中所設計和實現(xiàn)的多媒體遠程監(jiān)控系統(tǒng)中,由于采用了基于C/S+M的架構,使得可以將Android環(huán)境下的通信設備作為控制終端;而服務器端則采用個人電腦來實現(xiàn)。
2 系統(tǒng)設計與實現(xiàn)
在文中所設計的視頻監(jiān)控系統(tǒng)中,主要包括了采集模塊、解碼和編碼模塊、傳輸模塊、顯示模塊等,所采用的驅(qū)動方式為三點一線架構,即C/S+M。系統(tǒng)中所包含的硬件架構中主要有云臺攝像頭、網(wǎng)絡視頻服務器、智能通信終端等。在文中的視頻遠程監(jiān)控系統(tǒng),關鍵技術環(huán)節(jié)就是對編碼器的設計與實現(xiàn),也就是需要通過H.264編碼標準將系統(tǒng)中云臺攝像機所得到的模擬信號和數(shù)據(jù)統(tǒng)一進行編碼和壓縮,從而得到數(shù)字化的數(shù)據(jù),這樣,就可以將這些數(shù)字信息通過TD-SCMA無線環(huán)境推動到TD-SCDMA網(wǎng)絡中,并通過Internet網(wǎng)絡將信號連接到視頻服務器上,最后,配置了Android環(huán)境的智能通信終端,就可以通過訪問網(wǎng)絡服務器來獲取保存的視頻數(shù)據(jù)。
2.1 系統(tǒng)服務器端
在文中遠程監(jiān)控系統(tǒng)的服務器端,為了實現(xiàn)和創(chuàng)建一個新的客戶端Socket對象,通常都是通過調(diào)用socket=new socket()等方式完成。以這種方式,可以在出現(xiàn)setSotTimeOut設置超時的情況下,通過調(diào)用socket.connect來實現(xiàn)客戶端和服務器端的連接,此外,還可以采用socket.getInputStrean()方法來從服務器端所傳送過來的實時圖像數(shù)據(jù)。除此之外,系統(tǒng)還需要在服務器端額外增開一個單獨的線程,實現(xiàn)對客戶端用戶請求的連續(xù)監(jiān)聽,在請求同意的情況下,就可以通過JMF方式,從相應的數(shù)據(jù)位置進行圖像數(shù)據(jù)的抓取,并將其轉(zhuǎn)換為輸出流,這樣就可以將輸出流傳送到客戶端,從而構成一個完整的圖像傳輸過程。
概括起來,服務器端所包含的主要模塊及其功能有:
(1)初始化模塊。該模塊的主要功能就是對應用程序的運行狀態(tài)進行初始化,在初始化過程中獲取網(wǎng)絡環(huán)境的IP地址、端口以及驗證用戶的登錄密碼等等。
(2)連接監(jiān)聽模塊。該模塊的主要功能就是在完成程序的初始化過程后,還需要在系統(tǒng)指定的端口完成TCP監(jiān)聽環(huán)節(jié),從而實現(xiàn)對遠程連接狀態(tài)的等待。
(3)遠程連接模塊。在該模塊的設計中,需要其完成實際環(huán)境中的TCP連接與數(shù)據(jù)收發(fā)。這樣,如果遠程視頻監(jiān)控終端的客戶端發(fā)出了訪問信號,且服務器端也完成了用戶合法身份的核實和數(shù)據(jù)接收過程啟動后,開始重新分配新的Socket套接字,并完成TCP連接與數(shù)據(jù)通信過程。
(4)指令處理模塊。在該模塊的設計中,其主要功能是接收系統(tǒng)傳送來的指令,并對其進行解析,分析得到系統(tǒng)想操作的對象,并對其進行相關的操作。
(5)數(shù)據(jù)處理模塊。在該模塊中,主要功能是在對數(shù)據(jù)和信息進行壓縮處理的基礎上完成傳輸過程,具體而言就是根據(jù)系統(tǒng)中所定義的編碼協(xié)議,對數(shù)據(jù)進行封裝,最后通過遠程連接模塊,實現(xiàn)數(shù)據(jù)的傳輸。
2.2 系統(tǒng)客戶端
在文中所設計的遠程視頻監(jiān)控系統(tǒng)的客戶端中,包括了多種功能,比如用的視頻回放、通道切換、屏幕縮放、云臺控制以及數(shù)據(jù)的存儲和分發(fā)等等。在監(jiān)控系統(tǒng)中,包含有大量的媒體流文件,在處理過程中需要通過數(shù)據(jù)處理層將其RTP包頭信息去除,接著,就需要只能對RTP中所存放的信息和數(shù)據(jù)進行幀重組操作,并將重組得到的數(shù)據(jù)幀傳送到整個系統(tǒng)的待解碼緩沖區(qū)中;不過,考慮到本地文件處理的特殊性,其處理方式略有不同,需要根據(jù)相應的媒體格式繼續(xù)擰封裝解除,然后,可以將文件中所含的各種數(shù)據(jù)和信息,根據(jù)數(shù)據(jù)幀的已有形式將其存放到上層的待解碼緩沖區(qū)中。在文中所設計的遠程視頻監(jiān)控系統(tǒng)中,其用戶界面的設計和實現(xiàn)主要通過Android環(huán)境中的GUI來完成,可以在系統(tǒng)用戶和播放器之間設置專用的接口。一般情況下,在Android環(huán)境中,其GUI功能的實現(xiàn)主要包含兩個不同的架構,分別是Java架構和C語言架構,同時,可以分為多個不同的層次。此外,Java應用程序?qū)右部梢詫@些接口進行調(diào)用。在系統(tǒng)的音頻和視頻解碼層中,還包括了其中常用的功能,比如解碼組件選擇、多路媒體流同步以及多樣數(shù)據(jù)格式的解碼等。
概括起來,系統(tǒng)中所采用的客戶端的模塊和功能主要有:
(1)初始化模塊。該模塊主要設計用于實現(xiàn)對各種應用程序運行狀態(tài)的初始化處理,在獲取系統(tǒng)各個背景參數(shù)的基礎上,完成對系統(tǒng)中全局變量的設置。
(2)連接設置模塊。該模塊主要設計用于為用戶提供IP連接服務,可以實現(xiàn)對系統(tǒng)中所有連接端口和用戶賬號和密碼的設置。
(3)套接字管理器。該模塊主要設計用于對套接字的狀態(tài)和具體的使用情況進行管理。
(4)遠程連接模塊。在該模塊中,主要負責完成實際的網(wǎng)絡連接和服務器端的通信。
2.3 設備控制程序
在視頻監(jiān)控系統(tǒng)中的設備控制程序中,主要包括視頻和音頻程序,且每個程序中都有獨立的操作指令線。指令處理模塊能夠?qū)⒔邮艿降牟僮髦噶钸M行解析處理,將需要操作的對象及其需要進行的相關操作進行分析。設備控制程序還能夠?qū)?shù)據(jù)流轉(zhuǎn)化成字符串,然后通過indexOf()和substring()方法,根據(jù)系統(tǒng)中定義的編碼協(xié)議將字符串分割處理,完成對字符串中信息的提取。
3 系統(tǒng)測試結(jié)果
完成對視頻監(jiān)控系統(tǒng)的設計過程后,還需要對其進行兼容性或者適應性測試。通過實際的應用監(jiān)測,發(fā)現(xiàn)系統(tǒng)適用于多種Android環(huán)境下的智能通信終端。此外,還針對系統(tǒng)的功能性、易用性和互操作性等多種性能進行了測試。通過系統(tǒng)的應用測試,發(fā)現(xiàn)該系統(tǒng)的用戶界面操作簡單,用戶的使用感覺舒適,在不同的監(jiān)控界面之間進行切換,感覺比較流暢,系統(tǒng)的運行更加穩(wěn)定。此外,在系統(tǒng)的服務器端和客戶端,所提供的通信服務可以滿足系統(tǒng)設計的預期??梢栽?00ms時間內(nèi),對服務器的請求進行相應,并對視頻監(jiān)控結(jié)果進行及時反饋。通過系統(tǒng)還能夠?qū)崿F(xiàn)對云臺相機的多方向移動控制,并通過快照功能將數(shù)據(jù)推送到網(wǎng)絡平臺上。
4 結(jié)束語
在現(xiàn)代網(wǎng)絡通信和信息處理技術發(fā)展的推動下,基于移動網(wǎng)絡和智能通信終端的遠程多媒體監(jiān)控系統(tǒng)已經(jīng)逐漸成為監(jiān)控領域的一個全新發(fā)展方向。主要是由于以遠程移動視頻監(jiān)控系統(tǒng)為依托,可以實現(xiàn)對遠程場景的實時監(jiān)控。所以,文中以移動通信設備中常用的Android系統(tǒng)為基礎,以C/S+M架構和Java技術為依托,設計和實現(xiàn)了基于Android環(huán)境的多媒體視頻監(jiān)控系統(tǒng)。
參考文獻:
[1]黃金雪.Socket高效網(wǎng)絡服務端研究[J].現(xiàn)代計算機,2011(10):22-25.
[2]楊明極,畢晶.基于Android 視頻客戶端的設計[J].電視技術,2012(03):43-47.
作者簡介:徐時芳(1982-),女,貴州甕安人,研究生,研究方向:信息與計算科學。
作者單位:黔南民族師范學院,貴州都勻 558000