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