文 武,譚沅軍,劉 敏
(1.重慶郵電大學通信與信息工程學院,重慶400065;2.重慶信科設(shè)計有限公司,重慶400065)
隨著科技和社會的不斷發(fā)展,安全問題日益突出,安全防衛(wèi)已經(jīng)成為社會各界關(guān)注的焦點之一。網(wǎng)絡(luò)視頻監(jiān)控已經(jīng)融入到校園安防、城市交通、平安城市、森林防火和災后重建等社會各個領(lǐng)域中。特別是在互聯(lián)網(wǎng)、電信網(wǎng)、廣播電視網(wǎng)和電網(wǎng)等四網(wǎng)開始融合以后,安防監(jiān)控行業(yè)更是朝著數(shù)字化、網(wǎng)絡(luò)化、智能化、一體化等方向快速發(fā)展。但隨著國民經(jīng)濟進一步增長,人們對安防重視程度的提高,使得該行業(yè)的市場容量急劇上升,目前市場存在的小規(guī)模、單一廠商的監(jiān)控系統(tǒng)已經(jīng)不能滿足客戶需求。顯然一體化的滯后已成為影響該行業(yè)發(fā)展的重要因素之一。
而基于ASP.NET的網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng),以B/S架構(gòu)、Web Services為基礎(chǔ),集成了高效、較好的用戶感知、強兼容性、易于升級和擴展于一體的優(yōu)點。采用以融合、開放思想的開放式協(xié)議(Open Network Video Interface Forum,ONVIF),為該行業(yè)沖出瓶頸提供了有利條件。
ASP.NET是微軟建立在Web上的.NET平臺的應用程序開發(fā)技術(shù),與HTML和.NET協(xié)同工作使得Web開發(fā)效率有效提高。本系統(tǒng)由ASP.NET部署B(yǎng)/S的三層架構(gòu)UI、業(yè)務(wù)邏輯、數(shù)據(jù)訪問組成,有效分離了頁面、邏輯和數(shù)據(jù),使得監(jiān)控系統(tǒng)的處理更加靈活,便于后期的維護和擴展。
ActiveX也叫OCX,是一個開放的、面向?qū)ο蟮募煽丶梢灾贫ǘ喾N功能。使用該控件,可輕松地在Web Form中插入交互式對象、多媒體效果以及復雜的應用程序;也可方便地應用于VB、C#等語言中,拓展各個語言間的開發(fā)能力以及實現(xiàn)小型組件的應用、重用、代碼的共享,從而提高了開發(fā)的效率,縮短了開發(fā)周期。
ONVIF是于2008年聯(lián)合成立的一個開放型網(wǎng)絡(luò)視頻接口論壇[1],致力于制定使基于IP網(wǎng)絡(luò)的不同IPC設(shè)備生產(chǎn)商所生產(chǎn)的網(wǎng)絡(luò)視頻服務(wù)器(NVS)、網(wǎng)絡(luò)攝像機(IPC)等網(wǎng)絡(luò)視頻相關(guān)產(chǎn)品相互兼容的標準。其側(cè)重點在于網(wǎng)絡(luò)視頻的發(fā)送設(shè)備與客戶端之間的接口,該協(xié)議涉及到設(shè)備開發(fā)、設(shè)備配置、視頻分析、云臺控制、事件報警等,通過SOAP協(xié)議最終實現(xiàn)信息交互。ONVIF中其他部分如音頻、視頻流則是通過實時傳輸協(xié)議/實時流傳輸協(xié)議[2](Realtime Transport Protocol/Real Time Streaming Protocol,RTP/RTSP)進行。
基于ASP.NET網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)由B/S模式中的3層架構(gòu)部署,采用ONVIF協(xié)議,其系統(tǒng)架構(gòu)如圖1所示,主要由網(wǎng)絡(luò)視頻采集(IPC設(shè)備)、網(wǎng)絡(luò)視頻分析、網(wǎng)絡(luò)視頻顯示(電視墻)和網(wǎng)絡(luò)視頻存儲等4個部分組成[3-4]。
圖1 網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)B/S三層架構(gòu)
在此網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)中,Server部分主要由Web服務(wù)器和IPC服務(wù)器2個部分組成。訪問用戶界面須通過Web服務(wù)器,獲得包括ActiveX媒體播放控件的媒體設(shè)置模塊在內(nèi)的程序包作為操作界面展示給用戶。IPC服務(wù)器的主要功能則是從監(jiān)控熱點的IPC處采集實時視頻圖像數(shù)據(jù),并對數(shù)據(jù)進行編碼、壓縮及發(fā)送。UI層中嵌入到瀏覽器的ActiveX控件主要負責接收IPC服務(wù)器傳回的媒體流、解碼并將經(jīng)過Buffer處理的媒體流展現(xiàn)到控件視頻播放窗口。此系統(tǒng)中,媒體流的傳輸不再是傳統(tǒng)的Http方式,而是通過更加適合實時媒體流傳輸?shù)腛NVIF標準中的RTP/RTCP協(xié)議進行傳輸,此種傳輸方式既減小了Web服務(wù)器的負擔,又提高了實時視頻傳輸?shù)男省?/p>
監(jiān)控系統(tǒng)的各功能模塊采用的是分層的B/S架構(gòu)[5],該架構(gòu)將視圖層(VIEW)與控制層(CONTROL)獨立,極大提高了系統(tǒng)的靈活性、可擴展性,同時也提高了其代碼的可復用性。
2.2.1 媒體服務(wù)模塊
媒體服務(wù)模塊功能集成到ActiveX控件中,通過HTML中的Object對象加載到系統(tǒng)中,視圖層使用JavaScript腳本語言調(diào)用ActiveX控件對象留出的接口函數(shù)實現(xiàn)其功能。該控件包括3個組件,即播放器(player)、服務(wù)器(server)、編碼器(encoder),這些組件通過ONVIF接口協(xié)議通信,采用H.264編解碼器處理媒體流數(shù)據(jù),這種編解碼器使用特殊的算法壓縮媒體流的數(shù)據(jù)量。媒體服務(wù)模塊的工作流程如圖2所示。
圖2 媒體模塊流程圖
主要服務(wù)功能有:
1)單播:IPC與客戶端一對一的建立一個通信通道傳輸媒體流數(shù)據(jù)。
2)組播:在組播網(wǎng)的基礎(chǔ)上,允許路由器將媒體流打包復制到多個信道上。
3)點播:用戶根據(jù)需求選擇內(nèi)容來初始化與客戶端的連接,利用ONVIF接口下的RTP/RTSP協(xié)議對媒體流進行播放、快進、快退、暫停和停止的控制(主動接收)。
4)廣播:IPC服務(wù)器將傳出的媒體流編碼后發(fā)送到網(wǎng)絡(luò)上所有的在線用戶(被動接收)。
2.2.2 云臺控制模塊
早期的安防監(jiān)控攝像頭是固定不動的,如果需要多角度的監(jiān)控,必須新增加攝像頭。為了解決此問題,設(shè)計了云臺控制。PTZ控制的出現(xiàn)使得用戶界面更加人性化、安防監(jiān)控也更加靈活,有效提高了用戶感知,同時減少了系統(tǒng)的成本。UI層將云臺控制信號下發(fā)到業(yè)務(wù)邏輯層,經(jīng)過編碼器接收、識別、解析所傳來的控制指令,從而對IPC云臺進行上、下、左、右等方向的控制。而ONVIF協(xié)議制定PTZ統(tǒng)一的接口(雖然各個廠家間的實現(xiàn)方式不一樣),有效解決了解碼器和通信協(xié)議沒有統(tǒng)一的標準問題[6]。PTZ 控制中定義的接口函數(shù)[7]如表1 所示。
2.2.3 管理模塊
此模塊在整個系統(tǒng)中有不可估量的作用,設(shè)計好此模塊能使系統(tǒng)良好地工作。主要分為以下3個部分:
1)用戶管理
主要功能是添加、刪除、修改用戶、權(quán)限設(shè)置等。根據(jù)RBAC權(quán)限設(shè)計模型,將板塊分為5個類型,即用戶、角色、文件、菜單和權(quán)限。充分利用ASP.NET中已經(jīng)實現(xiàn)的部分RBAC特性的基礎(chǔ)上,結(jié)合實際應用[8],設(shè)計具有良好通用性的權(quán)限管理系統(tǒng),輕松實現(xiàn)對用戶、角色、文件等的基本管理。圖3所示為RBAC用戶權(quán)限設(shè)計模型。
表1 PTZ控制接口定義
圖3 RBAC用戶權(quán)限設(shè)計模型
2)操作日志
操作日志主要是根據(jù)用戶不同需求進行日志信息,操作信息、異常信息查詢,導出Excel表,同時定義不同管理權(quán)限的用戶分區(qū)操作。
3)設(shè)備管理
主要是在線搜索設(shè)備、添加、刪除設(shè)備和進行通道的配置。在線搜索指通過SDK接口函數(shù)搜索到網(wǎng)絡(luò)中所有IPC設(shè)備,并獲取其屬性;添加設(shè)備則是將IPC設(shè)備的屬性展示到UI層,同時將IPC與通道節(jié)點綁定;刪除設(shè)備則是與添加設(shè)備相反,即解除與通道節(jié)點的綁定。
圖4是設(shè)備管理和日志管理的實現(xiàn)效果圖。
2.2.4 數(shù)據(jù)庫設(shè)計
數(shù)據(jù)庫的構(gòu)建是ASP.NET架構(gòu)下的監(jiān)控系統(tǒng)的一個重要組成部分,系統(tǒng)內(nèi)各個功能模塊都與之有密切關(guān)聯(lián),成功的數(shù)據(jù)庫設(shè)計能提高系統(tǒng)性能、節(jié)省存儲空間、減少信息冗余,利于后期維護和擴展。本系統(tǒng)通過ADO.NET提供的數(shù)據(jù)連接接口,采用主流的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)(Data Base Management System,DBMS),使用SQL Server數(shù)據(jù)庫。
圖4 設(shè)備、日志管理實現(xiàn)效果圖(截圖)
由于系統(tǒng)有一定規(guī)模,數(shù)據(jù)實體較多,且關(guān)系比較復雜,因此本系統(tǒng)的數(shù)據(jù)庫設(shè)計重點難點在于切合各個模塊進行分類設(shè)計,比如用戶權(quán)限管理模塊就涉及到3個數(shù)據(jù)實體關(guān)系表。數(shù)據(jù)庫設(shè)計流程主要分為3個步驟,首先按模塊劃分數(shù)據(jù)實體,理清各個模塊數(shù)據(jù)實體關(guān)系網(wǎng),最后設(shè)計其E-R圖。圖5所示是ASP.NET架構(gòu)下該系統(tǒng)各個功能模塊的數(shù)據(jù)實體關(guān)系圖。
圖5 數(shù)據(jù)實體關(guān)系圖(截圖)
在實際測試應用中,本系統(tǒng)通過RTP/RTCP協(xié)議實現(xiàn)了實時媒體流的實時傳輸,采用H.264編解碼方式對媒體流進行處理,通過集成媒體模塊的ActiveX用戶控件對實時媒體流展示,同時支持多通道。由于采用ONVIF接口規(guī)范,雖然各個廠家實現(xiàn)方式有所不同,經(jīng)過技術(shù)處理,本系統(tǒng)也基本支持ONVIF主流IPC設(shè)備。圖6所示為ASP.NET架構(gòu)下的網(wǎng)絡(luò)監(jiān)控系統(tǒng)的預覽頁面,通過B/S結(jié)構(gòu)向用戶展示,該頁面主要部分在圖中已標出。3路同時監(jiān)控的實時流來自3家不同的IPC生產(chǎn)商。通過測試,系統(tǒng)性能、效果、兼容性都達到了最佳化,并且錄像回放功能通過RTSP實現(xiàn)本地與遠程媒體流的點播。
圖6 多路實時視頻圖(截圖)
該系統(tǒng)是基于ASP.NET架構(gòu)B/S模式的網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng),采用開放式接口標準,實現(xiàn)了Web客戶端對IPC設(shè)備的控制和視頻流的網(wǎng)絡(luò)傳輸。同時繼承了中大型監(jiān)控軟件的特點和功能,具有平臺無關(guān)性、易擴展性、互操作性強,配置靈活,兼容性強,網(wǎng)絡(luò)傳輸效率高等特點。同時由于大膽地采用所有功能都通過網(wǎng)頁展示(這是之前國內(nèi)所有廠家未曾嘗試的),更能體現(xiàn)出系統(tǒng)的整體性。用戶只需要一臺聯(lián)網(wǎng)的計算機就可以使用本系統(tǒng),操作方便,用戶感知自然也得到了增強,在各個領(lǐng)域中都能夠得到廣泛的應用。
[1]徐飛明.基于ONVIF協(xié)議的NVR軟件平臺的設(shè)計與開發(fā)[D].杭州:浙江大學,2012.
[2] Real Time Streaming Protocol(RTSP)[EB/OL].[2013-06-20].http://tools.ietf.org/pdf/rfc2326.pdf.
[3] SENST T,PATZOLD M P,EVANGELIO R H,et al.On building decentralized wide-area surveillance networks based on ONVIF[C]//Proc.Workshop on Multimedia Systems for Surveillance(MMSS)in Communication with 8th IEEE International Conference on Advanced Video and Signal-Based Surveillance.[S.l.]:IEEE Press,2011:420-423.
[4]張文濤,常紅星.基于ASP.NET的B/S架構(gòu)下的項目管理系統(tǒng)的網(wǎng)絡(luò)安全模式設(shè)計[J].計算機科學,2008,35(2):101-103.
[5] ZHANG Yang,LIJieyou,LIZehua,etal.Real-time flood forecasting system based on B/Smode[C]//Proc.International Conference on Management and Service Science,2009.Wuhan,China:[s.n.],2009:1-4.
[6]張宏林.精通Visual C++串口通信技術(shù)與工程實踐[M].北京:人民郵電出版社,2008.
[7] ONVIF PTZ Service Specification[S].2012.
[8]范明虎,樊紅,伍孝金.ASP.net中基于RBAC的通用權(quán)限管理系統(tǒng)[J].計算機工程,2010,36(1):143-145.