摘 要: 結(jié)合無線Mesh網(wǎng)絡(luò)(WMN)的技術(shù)特性和網(wǎng)絡(luò)視頻監(jiān)控的新要求,提出了一種基于WMN的視頻監(jiān)控系統(tǒng)設(shè)計方案。監(jiān)控終端通過攝像機(jī)和基于嵌入式Linux平臺的視頻服務(wù)器完成視頻采集和壓縮,利用WMN進(jìn)行實時傳輸,監(jiān)控中心在Mesh網(wǎng)絡(luò)的覆蓋范圍內(nèi)通過因特網(wǎng)進(jìn)行視頻數(shù)據(jù)接收,實現(xiàn)無線視頻監(jiān)控。實驗測試結(jié)果表明,該系統(tǒng)播放流暢、實時性好,在無線視頻監(jiān)控中具有廣泛的應(yīng)用前景。
關(guān)鍵詞: 無線Mesh網(wǎng)絡(luò);視頻監(jiān)控;嵌入式Linux
視頻監(jiān)控系統(tǒng)是信息社會的重要基礎(chǔ)設(shè)施之一,無線化、網(wǎng)絡(luò)化、智能化和數(shù)字化是其重要發(fā)展方向。近年來,一種新一代無線通信網(wǎng)——無線Mesh網(wǎng)WMN(Wireless Mesh Network)技術(shù)引起業(yè)界的重視和研究。由于它具備組網(wǎng)迅速、結(jié)構(gòu)靈活、傳輸速率大、可靠性強(qiáng)、成本低等突出的優(yōu)點,滿足了市場對網(wǎng)絡(luò)視頻監(jiān)控的新需求,勢必會拓寬視頻監(jiān)控的應(yīng)用范圍[1]。因此,在視頻監(jiān)控系統(tǒng)中引入WMN技術(shù)后將具有如下特點:
(1)高效和靈活的網(wǎng)絡(luò)覆蓋方式。相對于傳統(tǒng)的有線網(wǎng)絡(luò),采用無線網(wǎng)絡(luò)可以在原來不便或無法部署有線網(wǎng)絡(luò)的區(qū)域?qū)崿F(xiàn)無線監(jiān)控。
(2)施工容易,建設(shè)成本低。WMN僅需少量的網(wǎng)絡(luò)布線,基本不用建設(shè)新的網(wǎng)絡(luò)基礎(chǔ)設(shè)施,結(jié)合整體規(guī)劃可最大限度降低建設(shè)成本。
(3)部署快捷,擴(kuò)展靈活。WMN具有自組網(wǎng)和自管理能力,視頻監(jiān)控點建成即接入監(jiān)控網(wǎng),自動地建立與監(jiān)控中心最佳的傳輸路由,并且視頻監(jiān)控點可隨時插入和刪除。
(4)具有鏈路故障自愈能力,通信可靠性高。由于采用無線網(wǎng)狀網(wǎng)(Mesh)結(jié)構(gòu),多跳路由方式,可以利用迂回路由避開故障節(jié)點,保證系統(tǒng)具有較好的健壯性。
1 基于WMN的視頻監(jiān)控系統(tǒng)方案
WMN作為移動Ad Hoc網(wǎng)絡(luò)(MANET)的一種特殊形態(tài),融合了WLAN和Ad Hoc網(wǎng)絡(luò)的優(yōu)點,成為一種新型的寬帶無線網(wǎng)絡(luò)。其核心思想是讓網(wǎng)絡(luò)中的每個節(jié)點都可以發(fā)送和接收信號,使得傳統(tǒng)的WLAN中一直存在的可伸縮性低和健壯性差等諸多問題迎刃而解[2]。與傳統(tǒng)無線網(wǎng)絡(luò)技術(shù)相比,WMN更能適應(yīng)網(wǎng)絡(luò)視頻監(jiān)控的發(fā)展。
考慮到業(yè)務(wù)功能的靈活性,本文構(gòu)建了一種較為通用的視頻監(jiān)控網(wǎng)絡(luò)平臺,由單個Mesh終端節(jié)點構(gòu)搭建WMN如圖1所示,視頻監(jiān)控系統(tǒng)主要有監(jiān)控節(jié)點(終端)和監(jiān)控中心兩部分組成。在監(jiān)控現(xiàn)場,多個具有路由轉(zhuǎn)發(fā)功能的終端節(jié)點互聯(lián)構(gòu)成無線Mesh網(wǎng)絡(luò)骨干網(wǎng),視頻監(jiān)控終端具有視頻服務(wù)器功能,負(fù)責(zé)完成監(jiān)控現(xiàn)場視頻采集、壓縮、無線路由及收發(fā)數(shù)據(jù)等功能,并以無線方式將視頻流傳輸?shù)脚c監(jiān)控中心相連的Mesh網(wǎng)關(guān);監(jiān)控中心具有瀏覽器功能,接收來自監(jiān)控終端的視頻數(shù)據(jù)流,并進(jìn)行解壓、播放、存儲等處理,同時可通過Internet完成視頻轉(zhuǎn)發(fā)和各種視頻遙控功能。
2 系統(tǒng)硬件結(jié)構(gòu)
視頻監(jiān)控終端硬件結(jié)構(gòu)如圖2所示。考慮到監(jiān)控終端對視頻壓縮能力、無線移動特性和低功耗的要求,采用華恒公司的專用Freescale處理器i.MX21作為主控芯片。它集成了支持MPEG-4標(biāo)準(zhǔn)的硬件編解碼器和ARM9內(nèi)核,功耗僅為200 mW。復(fù)合視頻信號經(jīng)SAA7l13的模擬端輸入,經(jīng)過模數(shù)轉(zhuǎn)換、濾波和縮放后,生成BT.656格式的視頻,輸出到i.MX21。i.MX21對視頻進(jìn)行MPEG-4格式的壓縮編碼,將數(shù)據(jù)流經(jīng)USB控制器擴(kuò)展的USB2.0接口輸出到VT6656模塊。VT6656模塊包含一個集成了MAC和基帶處理器的芯片以及一個集成了功率放大器和天線的芯片,其支持IEEE 802.11b/g無線傳輸。
3 系統(tǒng)軟件結(jié)構(gòu)
視頻監(jiān)控系統(tǒng)軟件結(jié)構(gòu)如圖3所示。視頻監(jiān)控終端(服務(wù)器)采用基于Linux操作系統(tǒng)的ARM9嵌入式系統(tǒng)作為視頻監(jiān)控節(jié)點的軟硬件平臺,視頻監(jiān)控中心采用基于DirectShow的客戶端軟件進(jìn)行開發(fā)設(shè)計,整個系統(tǒng)軟件采用模塊化結(jié)構(gòu)設(shè)計。
3.1 Linux操作系統(tǒng)
Linux操作系統(tǒng)采用成熟穩(wěn)定的2.6.23內(nèi)核。配置時根據(jù)硬件資源選擇Flash和SRAM的大小,在網(wǎng)絡(luò)子項中選擇對TCP/IP和IEEE 802.1l協(xié)議的支持,同時去除不支持的選項以縮減內(nèi)核體積,執(zhí)行編譯后得到Linux的內(nèi)核映像文件。
3.2 底層設(shè)備驅(qū)動
Linux操作系統(tǒng)通過調(diào)用驅(qū)動程序的接口函數(shù)實現(xiàn)硬件訪問請求。SAA7113和VT6656的驅(qū)動程序分別控制相應(yīng)芯片完成視頻采集、USB接口控制和網(wǎng)絡(luò)傳輸控制功能,采用中斷觸發(fā)/響應(yīng)機(jī)制協(xié)調(diào)工作。
3.3 上層應(yīng)用程序
上層應(yīng)用程序包括視頻采集、視頻壓縮、網(wǎng)絡(luò)傳輸和網(wǎng)絡(luò)訪問控制模塊。監(jiān)控終端通過網(wǎng)絡(luò)訪問控制程序接收來自主機(jī)的控制命令,并同步更新至配置文件保存。為保證指令的可靠傳輸,采用面向連接的TCP/IP協(xié)議在主機(jī)和終端間建立一個端到端的虛擬連接,并通過套接字編程實現(xiàn)[3]。視頻采集程序負(fù)責(zé)啟動SAA7113的視頻采集和模數(shù)轉(zhuǎn)換,產(chǎn)生BT.656格式的視頻數(shù)據(jù)。視頻壓縮程序根據(jù)配置文件設(shè)定視頻壓縮格式(D1/VGA/CIF/QVGA/QCIF)、編碼方式(CAVLC/CABAC)、碼流(CBR/VBR)和碼率(最大10 Mb/s),以此為參數(shù)完成MPEG-4視頻壓縮。網(wǎng)絡(luò)傳輸程序完成數(shù)據(jù)包的封裝,再經(jīng)VT6656傳送到鄰近的無線AP。為保證視頻流的實時性,采用RTP/RTCP協(xié)議對壓縮數(shù)據(jù)進(jìn)行封裝[4],使用IEEE802.11b標(biāo)準(zhǔn)(最大數(shù)據(jù)傳輸率為11 Mb/s,室外通信距離為500 m)完成數(shù)據(jù)包的無線傳輸。
3.4 Mesh路由協(xié)議AODV在嵌入式Linux下的設(shè)計
AODV路由協(xié)議是一種按需路由協(xié)議,實際上是DSR和DSDV協(xié)議的綜合,以DSDV為基礎(chǔ),采用DSR中的按需路由思想進(jìn)行改進(jìn)[5]。AODV使用廣播式路由發(fā)現(xiàn)機(jī)制,當(dāng)源節(jié)點想與另一節(jié)點進(jìn)行通信,而它的路由表中又沒有到達(dá)目的節(jié)點的路由條目時,就廣播一個路由請求(RREQ)報文,源地址和廣播ID標(biāo)識了一個唯一的路由請求。中間節(jié)點在收到RREQ報文時,首先比較本節(jié)點和目的節(jié)點的IP地址,如果自己是目的節(jié)點,就向源節(jié)點回復(fù)路由響應(yīng)(RREP)報文;如果自己不是目的節(jié)點,則根據(jù)RREQ報文中的源IP地址和廣播ID判斷是否收到過該RREQ報文,如果收到過,則丟棄該RREQ報文,若沒有則記錄相關(guān)信息,用來形成反向路由。記錄的信息主要包括目的地址、源地址、廣播ID、源序列號、反向路由超時時長,同時將RREQ報文中的跳數(shù)字段值加1,并向鄰居節(jié)點轉(zhuǎn)發(fā)RREQ報文。當(dāng)中繼節(jié)點或目的節(jié)點沿著反向路徑回復(fù)RREP報文時,這條路徑上的節(jié)點建立前向路由。當(dāng)RREP報文到達(dá)源節(jié)點后,源節(jié)點就可以使用已經(jīng)建立的路由發(fā)送數(shù)據(jù)報文。
AODV程序從邏輯上可分為系統(tǒng)接口和AODV算法模塊兩個部分。系統(tǒng)接口部分的主要功能是用Linux系統(tǒng)提供的各種接口,為實現(xiàn)AODV路由協(xié)議提供所需的各種信息和服務(wù)。本系統(tǒng)的AODV程序用到的系統(tǒng)接口主要包括可加載模塊的管理、網(wǎng)絡(luò)過濾器(Netfilter)的使用、路由線程的產(chǎn)生、內(nèi)核路由表的修改以及定時器機(jī)制等,這部分是AODV程序與Linux系統(tǒng)交互的主要途徑。AODV算法模塊主要是執(zhí)行AODV協(xié)議邏輯,總的來說包括路由建立、路由維護(hù)和路由刪除三個模塊。該算法模塊的目標(biāo)是根據(jù)通信的需求建立正確的路由,通過接收和處理AODV控制分組來建立或改變路由。
3.5 基于DirectShow的客戶端軟件設(shè)計
DirectShow是微軟公司推出的新一代基于COM技術(shù)的流媒體處理的開發(fā)包,為流媒體的捕捉、回放等處理提供了強(qiáng)大的支持[6]。本系統(tǒng)利用DirectShow技術(shù)設(shè)計基于無線Mesh網(wǎng)絡(luò)視頻監(jiān)控客戶端軟件。軟件設(shè)計采用C/S模式,基于VC平臺的MFC框架??蛻舳撕瓦h(yuǎn)程終端通過Socket編程實現(xiàn)在整個網(wǎng)絡(luò)上通信。
客戶端軟件包括視頻瀏覽器和視頻監(jiān)控終端控制器軟件,主要由視頻接收、視頻解碼播放及遠(yuǎn)程控制命令發(fā)送模塊組成,模塊之間采用共享內(nèi)存進(jìn)行通信。為了能同時接收到來自終端的多路圖像,在程序中采用Windows界面設(shè)計和多線程技術(shù),每個線程創(chuàng)建一個界面窗口,負(fù)責(zé)一路視頻流的接收和播放。由于系統(tǒng)中的視頻壓縮格式為MPEG-4標(biāo)準(zhǔn),因此選用Xvid Codec作為MPEG-4的核心解碼庫,其源代碼是開放的,通過調(diào)用Xvid的MPEG-4解碼核心代碼可完成視頻數(shù)據(jù)的解壓縮。實現(xiàn)遠(yuǎn)程控制就是在監(jiān)控中心通過客戶端軟件,利用計算機(jī)鼠標(biāo)或鍵盤的相應(yīng)操作來向終端服務(wù)器發(fā)送命令,以實現(xiàn)對監(jiān)控點的攝像機(jī)的參數(shù)及云臺進(jìn)行控制。由于控制命令準(zhǔn)確性要求較高,數(shù)據(jù)量較小,因此采用了提供可靠連接傳輸協(xié)議TCP/IP進(jìn)行傳輸,用戶可以根據(jù)監(jiān)控場合、用途和功能的不同對串口采取不同的配置,在程序運(yùn)行后也可隨時對串口的參數(shù)設(shè)置進(jìn)行更改。
4 系統(tǒng)測試
用5臺嵌入式監(jiān)控終端組成無線Mesh網(wǎng)絡(luò),各監(jiān)控點之間的距離約為200 m,嵌入式終端操作系統(tǒng)Linux的內(nèi)核為2.6.23。監(jiān)控主機(jī)通過IEEE 802.11b/g標(biāo)準(zhǔn)的無線網(wǎng)卡接入Mesh網(wǎng)絡(luò),從任一監(jiān)控終端獲取Xvid-MPEG-4格式的視頻流,采用基于DirectShow的客戶端解碼播放軟件完成終端設(shè)置、視頻解碼和實時播放功能。測試結(jié)果表明,畫面播放流暢,實時性較好。在進(jìn)行主動丟包測試時,當(dāng)丟包率為10%時,圖像會出現(xiàn)少量的馬賽克,但播放依然流暢,完全可以滿足當(dāng)前視頻監(jiān)控市場的要求。
新一代的無線Mesh網(wǎng)絡(luò)利用網(wǎng)狀拓?fù)洹⒍嗵溌泛拖冗M(jìn)的路由協(xié)議,通過融合IEEE 802.1la/b/g等無線通信技術(shù)實現(xiàn)組網(wǎng),其具有組網(wǎng)迅速、結(jié)構(gòu)靈活、傳輸率高、移動性好、可靠性強(qiáng)和成本低等優(yōu)點,可極大的拓寬網(wǎng)絡(luò)視頻監(jiān)控的應(yīng)用范圍。因此,與其他無線視頻監(jiān)控系統(tǒng)相比,基于無線Mesh網(wǎng)的視頻監(jiān)控系統(tǒng)具有較高的性價比。隨著無線Mesh網(wǎng)絡(luò)技術(shù)的進(jìn)一步發(fā)展和完善,其必將在包括視頻監(jiān)控在內(nèi)的多種領(lǐng)域有廣闊的應(yīng)用前景。
參考文獻(xiàn)
[1] F1RETIDE, Inc. An introduction to wireless mesh networking[EB/OL]. [2007-10-07]. http://www.firetide.com.
[2] AKYILDIZ I F, Wang Xudong. A survey on wireless mesh networks[J]. IEEE Communications Magazine, 2005,43(9):23-30.
[3] 王楓,羅家融.Linux下多線程Socket通訊的研究與應(yīng)用[J].計算機(jī)工程與應(yīng)用,2004(16):106-109.
[4] 潘鵬,杜旭,葉婷,等.RTP/RTCP實時傳輸協(xié)議的研究與Linux實現(xiàn)[J].計算機(jī)工程與應(yīng)用,2005(24):105-108.
[5] RAJIV M, MANDAL C R. Performance comparison of AODV/DSR on-demand routing protocols for ad hoc networks in constrained situation[C]. IEEE International Conference, 2005:86-89.
[6] 陸其明.DirectShow開發(fā)指南[M].北京:清華大學(xué)出版社,2003.