于隆
【摘 要】隨著智能手機(jī)的發(fā)展以及移動(dòng)互連設(shè)備的廣泛使用,以及通過(guò) WiFi 或蜂窩網(wǎng)絡(luò)而建立的廣泛連接,人們已經(jīng)可以通過(guò)無(wú)線網(wǎng)絡(luò)獲取或者發(fā)送實(shí)時(shí)的監(jiān)控圖像,直觀地報(bào)告或觀察現(xiàn)場(chǎng)活動(dòng)。智能手機(jī)終端的普及為移動(dòng)通信網(wǎng)絡(luò)監(jiān)控提供了承載的終端,3G通信網(wǎng)絡(luò)的發(fā)展為移動(dòng)通信網(wǎng)絡(luò)監(jiān)控?cái)?shù)據(jù)的傳輸提供了保證,這些都為實(shí)現(xiàn)移動(dòng)通信網(wǎng)絡(luò)監(jiān)控提供了有利條件。移動(dòng)通信網(wǎng)絡(luò)監(jiān)控具有移動(dòng)性和實(shí)時(shí)性,用戶可以通過(guò)移動(dòng)通信網(wǎng)絡(luò)隨時(shí)隨地監(jiān)控,滿足用戶多元化的需求。數(shù)字化、網(wǎng)絡(luò)化、智能化是目前移動(dòng)通信網(wǎng)絡(luò)監(jiān)控技術(shù)發(fā)展的方向。
【關(guān)鍵詞】移動(dòng)通信網(wǎng)絡(luò) 監(jiān)控系統(tǒng) 設(shè)計(jì)
移動(dòng)終端不斷普及,臺(tái)式機(jī)、筆記本和移動(dòng)終端的界限越來(lái)越模糊,很多功能都可以轉(zhuǎn)移到移動(dòng)終端上,同時(shí)移動(dòng)終端無(wú)論從聽(tīng)說(shuō)讀寫還是從感知方面都擁有電腦所沒(méi)有的優(yōu)勢(shì)。作為移動(dòng)互聯(lián)網(wǎng)業(yè)務(wù)之一,移動(dòng)平臺(tái)的網(wǎng)絡(luò)監(jiān)控,也開(kāi)始逐漸發(fā)展起來(lái)。
1 移動(dòng)通信Android平臺(tái)簡(jiǎn)介
Android的系統(tǒng)架構(gòu)和其操作系統(tǒng)一樣,采用了分層的架構(gòu)。 Android結(jié)構(gòu)分為四個(gè)層,從高層到低層分別是應(yīng)用程序?qū)印?yīng)用程序框架層、系統(tǒng)運(yùn)行庫(kù)層和Linux內(nèi)核層。Android會(huì)同一系列核心應(yīng)用程序包一起發(fā)布,該應(yīng)用程序包包括客戶端,SMS短消息程序,日歷,地圖,瀏覽器,聯(lián)系人管理程序等。所有的應(yīng)用程序都是使用JAVA語(yǔ)言編寫的。Android系統(tǒng)既是一個(gè)完全開(kāi)放的系統(tǒng),也是一個(gè)完整的生態(tài)系統(tǒng)。
2 移動(dòng)通信Android開(kāi)發(fā)環(huán)境
2.1 安裝Java語(yǔ)言運(yùn)行環(huán)境
Android應(yīng)用程序采用Java代碼開(kāi)發(fā),在Win 7系統(tǒng)下,需要Java編譯器JDK,經(jīng)典版本是JDK1.6,安裝JDK之前要先安裝JRE,即Java運(yùn)行時(shí)環(huán)境,就是Java運(yùn)行虛擬機(jī)。
2.2 下載安裝Eclipse和Android SDK
為了更好地可視化地編譯Java代碼,還需要一個(gè)Java編譯的IDE,Eclipse是一個(gè)開(kāi)放源代碼的、基于Java的可擴(kuò)展開(kāi)發(fā)平臺(tái)。Eclipse是編譯Java的優(yōu)秀的可擴(kuò)展的IDE,本文使用Eclipse環(huán)境結(jié)合Android SDK進(jìn)行Java代碼的開(kāi)發(fā)。下載Eclipse并解壓到某一目錄,就能使用。AndrnidSDK的同樣只需到相應(yīng)網(wǎng)站下載,解壓即可"這里還需AndroidsDK。
2.3 更新Eelipse,安裝Android開(kāi)發(fā)插件ADT
Google為Android定制了一個(gè)Eelipse插件,即AndroidDevelopment
Kit(ADT)"ADT插件專用于擴(kuò)展Eclipse的功能,為用戶能夠快速地開(kāi)發(fā)Android項(xiàng)目提供方便"例如,快速建立Andro記項(xiàng)目,使用XML布局文件創(chuàng)建應(yīng)用程序界面等" 安裝好ADT后,安裝好ADT后,就能創(chuàng)建Android Project了。
3 移動(dòng)通信網(wǎng)絡(luò)監(jiān)控系統(tǒng)方案設(shè)計(jì)
3.1 系統(tǒng)架構(gòu)
該系統(tǒng)開(kāi)發(fā)一個(gè)開(kāi)放源碼的解決方案,能夠用很小的開(kāi)銷在手機(jī)或者服務(wù)器上交換現(xiàn)場(chǎng)視頻。用戶只需要一個(gè)Android移動(dòng)設(shè)備和通過(guò)WiFi或蜂窩網(wǎng)絡(luò)。建立的網(wǎng)絡(luò)連接,就可以直接上傳或者播放現(xiàn)場(chǎng)視頻,達(dá)到實(shí)時(shí)監(jiān)控的目的。
3.2 系統(tǒng)編碼協(xié)議和實(shí)時(shí)傳輸協(xié)議
3.2.1 H.263
H.263是由ITU-T制定的網(wǎng)絡(luò)會(huì)議用的低碼率視頻編碼標(biāo)準(zhǔn),屬于網(wǎng)絡(luò)信息編解碼器。H.263最初設(shè)計(jì)為基于H.324的系統(tǒng)進(jìn)行傳輸(即基于公共交換電話網(wǎng)和其它基于電路交換的網(wǎng)絡(luò)進(jìn)行網(wǎng)絡(luò)會(huì)議和網(wǎng)絡(luò)電話)。后來(lái)發(fā)現(xiàn)H.263也可以成功的應(yīng)用與H.323(基于RTP/IP 網(wǎng)絡(luò)的會(huì)議系統(tǒng)),H.320(基于綜合業(yè)務(wù)數(shù)字網(wǎng)的會(huì)議系統(tǒng)),RTSP(流式媒體傳輸系統(tǒng))和SIP(基于因特網(wǎng)的會(huì)議)。H.263在2010年和2012年調(diào)整為更高質(zhì)量的流。H.263從眾多類似的信息編碼/解碼標(biāo)準(zhǔn)中脫穎而出,因?yàn)樗还雀鐰ndroid操作系統(tǒng)所采用,因此目前市場(chǎng)上大多數(shù)的Android設(shè)備都支持。除了良好的兼容性,H.263是一種低帶寬流,使得能夠在第三代(3G)蜂窩網(wǎng)絡(luò)上工作。
3.2.2 實(shí)時(shí)傳輸協(xié)議(RTP)
實(shí)時(shí)傳輸協(xié)議(RTP),是定義了一種傳輸音頻和視頻的報(bào)文格式,這些音頻和視頻在互聯(lián)網(wǎng)或本地網(wǎng)絡(luò)上采用各種不同的編碼器類型進(jìn)行編碼。RTP通過(guò)UDP進(jìn)行傳輸,而不需要TCP確認(rèn)或TCP ACK數(shù)據(jù)包。UDP作為向服務(wù)器傳送的報(bào)文類型原因之一就是不需要ACK數(shù)據(jù)包。例如,如果發(fā)送視頻的設(shè)備或用戶進(jìn)入一個(gè)較差的蜂窩覆蓋區(qū)域,可能會(huì)導(dǎo)致沒(méi)有足夠的帶寬將所有的數(shù)據(jù)包及時(shí)地從服務(wù)器發(fā)送給用戶來(lái)觀看事件。這將會(huì)導(dǎo)致一個(gè)時(shí)斷時(shí)續(xù)的視頻,不過(guò)視頻仍在傳輸。最壞的情況是用戶進(jìn)入一個(gè)完全沒(méi)有蜂窩網(wǎng)絡(luò)的區(qū)域,在用戶端的播放裝置就會(huì)完全停止;直到設(shè)備到達(dá)了一個(gè)可以傳輸數(shù)據(jù)包的區(qū)域,播放器才能重新顯示。
3.2.3 實(shí)時(shí)流傳輸協(xié)議
實(shí)時(shí)流傳輸協(xié)議(RTSP)是用來(lái)控制播放RTP流。RTSP服務(wù)器允許播放器接收從設(shè)備發(fā)送的RTP數(shù)據(jù)包。播放器(例如VLC或ffmpeg)不能直接打開(kāi)一個(gè)RTP流,因此,RTSP服務(wù)器需要提供其他的流信息并控制流數(shù)據(jù)包的開(kāi)始和停止。RTSP服務(wù)器是基于RFC2326。它包含以下命令:選項(xiàng),描述,宣布,設(shè)置,播放,暫停和拆卸?;赗FC4566的會(huì)話描述協(xié)議(SDP)與描述命令配合使用。
4 系統(tǒng)實(shí)現(xiàn)方案
該系統(tǒng)將信息編解碼協(xié)議,RTP協(xié)議以及RTSP協(xié)議相互關(guān)聯(lián)并組成一個(gè)界面友好的、操作簡(jiǎn)單的應(yīng)用程序。系統(tǒng)應(yīng)實(shí)現(xiàn)由Android設(shè)備的獲取信息流,傳輸至信息服務(wù)器,并可以在基于WEB瀏覽器的終端網(wǎng)頁(yè)上的播放實(shí)時(shí)信息流。
服務(wù)器打開(kāi)許多不同的偵聽(tīng)端口接收傳入連接。端口使用的協(xié)議是TCP和UDP。服務(wù)器產(chǎn)生兩個(gè)監(jiān)聽(tīng)器,一個(gè)用于客戶或播放器查看接收到的信息,另一個(gè)用于用戶或手機(jī)發(fā)送信息。每個(gè)新的TCP或UDP端口需要一個(gè)額外的線程。每產(chǎn)生一個(gè)新的線程類型就要增加一個(gè)新的Java類。一個(gè)并發(fā)哈希表將用于同步用戶觀看信息和手機(jī)線程之間的信息流。
參考文獻(xiàn):
[1]王文彬.GSM遠(yuǎn)程監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].數(shù)字技術(shù)與應(yīng)用,2015,(10):164.
[2]陳經(jīng)緯.移動(dòng)網(wǎng)絡(luò)監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].科學(xué)之友,2014,(24):144-145.