《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 設(shè)計(jì)應(yīng)用 > 基于ZoneMinder的多觸發(fā)源網(wǎng)絡(luò)視頻監(jiān)控方案
基于ZoneMinder的多觸發(fā)源網(wǎng)絡(luò)視頻監(jiān)控方案
來源:微型機(jī)與應(yīng)用2012年第23期
劉 正,安 峰
(蘇州工業(yè)園區(qū)服務(wù)外包職業(yè)學(xué)院 信息技術(shù)系,江蘇 蘇州 215123)
摘要: 引入開源項(xiàng)目ZoneMinder,搭建基于Linux平臺(tái)的網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)。介紹了整體方案和ZoneMinder的基本原理,重點(diǎn)講述了視頻的多觸發(fā)監(jiān)控方式?;诖朔桨?,只需采用普通的攝像頭和簡單的配置,無需額外布線和昂貴的監(jiān)控設(shè)備,即可以快速地搭建一套經(jīng)濟(jì)實(shí)用的網(wǎng)絡(luò)監(jiān)控系統(tǒng),為智能家居、樓宇安保提供了一個(gè)新的解決方案,具有較高的應(yīng)用價(jià)值。
Abstract:
Key words :

摘  要: 引入開源項(xiàng)目ZoneMinder,搭建基于Linux平臺(tái)的網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)。介紹了整體方案和ZoneMinder的基本原理,重點(diǎn)講述了視頻的多觸發(fā)監(jiān)控方式?;诖朔桨?,只需采用普通的攝像頭和簡單的配置,無需額外布線和昂貴的監(jiān)控設(shè)備,即可以快速地搭建一套經(jīng)濟(jì)實(shí)用的網(wǎng)絡(luò)監(jiān)控系統(tǒng),為智能家居、樓宇安保提供了一個(gè)新的解決方案,具有較高的應(yīng)用價(jià)值。
關(guān)鍵詞: 網(wǎng)絡(luò)視頻監(jiān)控;區(qū)域;ZoneMinder;熱釋紅外;動(dòng)作檢測

 網(wǎng)絡(luò)視頻監(jiān)控是通過網(wǎng)絡(luò)把視頻信息以數(shù)字化的形式進(jìn)行傳輸,與傳統(tǒng)的監(jiān)控方案相比,其具有效率高、使用方便和易于擴(kuò)展等特性。隨著近年來物聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,網(wǎng)絡(luò)視頻監(jiān)控也被越來越多地應(yīng)用在智能家居、倉儲(chǔ)物流、辦公樓宇和圖書館等領(lǐng)域。本文所講述的ZoneMinder即是一款Linux平臺(tái)上的網(wǎng)絡(luò)視頻監(jiān)控軟件,基于此平臺(tái),用戶可以快速搭建一套網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng),所需硬件設(shè)備僅僅為若干個(gè)普通攝像頭和一臺(tái)運(yùn)行Linux的服務(wù)器。圖1是ZonMinder監(jiān)控方案的一種實(shí)現(xiàn)。

1 ZoneMinder介紹
 ZoneMinder[1]是一套基于Linux操作系統(tǒng)的視頻數(shù)據(jù)監(jiān)控的開源軟件,應(yīng)用范圍廣泛,包括商業(yè)或家居CCTV、防盜和家庭成員的監(jiān)聽等場所。ZoneMinder支持單一或多臺(tái)視頻攝像頭應(yīng)用,具有攝取、分析、記錄和監(jiān)視來源等功能。另外,它提供了一個(gè)友好的Web界面,使得用戶可以方便地配置、查看、歸檔、回放和刪除所監(jiān)控視頻。
 ZoneMinder源代碼由一些PHP代碼(提供Web server功能)、C++代碼(提供圖像處理功能)和腳本語言(提供外部接口和web接口)共同組成。另外,ZoneMinder的數(shù)據(jù)存放在MySQL數(shù)據(jù)庫里,因此,MySQL數(shù)據(jù)庫和Apache Webserver共同構(gòu)成了ZoneMinder的基礎(chǔ)。
1.1 ZoneMinder的安裝
    在Ubuntu主機(jī)環(huán)境下,可以采用一條命令快速安裝:sudo apt-get install zoneminder。由于ZoneMinder依賴于MySQL和PHP,系統(tǒng)會(huì)自動(dòng)檢測并安裝這些依賴包。也可以從下載頁面下載源代碼(http://www.zoneminder.com/downloads),最新的穩(wěn)定版本是1.25,通過對(duì)源代碼進(jìn)行編譯而得到可執(zhí)行文件[2]。
1.2 ZoneMinder的啟動(dòng)、配置與訪問
 在順利安裝好ZoneMinder之后,ZoneMinder即作為一個(gè)后臺(tái)服務(wù)存在[3],在Ubuntu主機(jī)環(huán)境下可以通過service命令來啟動(dòng)ZoneMinder服務(wù)(系統(tǒng)默認(rèn)是開機(jī)啟動(dòng)ZoneMinder和Apache[4]服務(wù))。如果ZoneMinder服務(wù)啟動(dòng)成功,則可以在局域網(wǎng)上的任意節(jié)點(diǎn)通過瀏覽器來訪問ZoneMinder,默認(rèn)的訪問地址是http://zm.home/zm。圖2是某一個(gè)客戶端在訪問ZoneMinder時(shí)獲得的實(shí)時(shí)視頻信息。

 用戶可以通過web頁面獲得ZoneMinder的監(jiān)控列表,如圖3所示,反映了整個(gè)監(jiān)控系統(tǒng)中的所有監(jiān)控節(jié)點(diǎn):
圖3中每一行即代表一個(gè)監(jiān)控點(diǎn),其中:Name列代表監(jiān)控節(jié)點(diǎn)的名稱;Function列代表監(jiān)控節(jié)點(diǎn)的功能(模式);Soure列代表監(jiān)控節(jié)點(diǎn)對(duì)應(yīng)的Linux設(shè)備節(jié)點(diǎn);Events列代表該節(jié)點(diǎn)已錄制的事件信息;Zones代表該節(jié)點(diǎn)的監(jiān)控區(qū)域。用戶可以通過鼠標(biāo)單擊相應(yīng)列,即可對(duì)這些屬性進(jìn)行更改。

2 監(jiān)控觸發(fā)方式
 傳統(tǒng)的監(jiān)控系統(tǒng)通常采取一直錄像的方式,而ZoneMinder則可以采用靈活的錄像觸發(fā)方式,目前共有以下5種監(jiān)控模式,管理員可以在Web頁面中進(jìn)行設(shè)置。
?。?)Monitor:只能觀察攝像頭拍攝到實(shí)時(shí)視頻,但對(duì)視頻頁面不分析,也不會(huì)產(chǎn)生事件或警告。
?。?)Modect:所有捕捉到的圖像將被分析,進(jìn)行圖像檢測。
?。?)Record:如同傳統(tǒng)的錄像機(jī)一樣,錄制固定長度的視頻,不會(huì)進(jìn)行運(yùn)動(dòng)檢測。
?。?)Mocord:是Modect和Record的結(jié)合,不僅錄制視頻,還會(huì)對(duì)視頻中的運(yùn)動(dòng)圖像高亮顯示。
?。?)Nodect:需要外部觸發(fā)源來觸發(fā)監(jiān)控。
3 熱釋紅外觸發(fā)
 如果監(jiān)控點(diǎn)的模式選擇為Nodect,同時(shí)開啟外部觸發(fā)選項(xiàng)的話,則可以通過發(fā)送一個(gè)外部中斷給ZoneMinder來觸發(fā)監(jiān)控事件。ZoneMinder會(huì)打開6802端口,進(jìn)行監(jiān)聽。如果接收到符合格式的外部信息,則會(huì)執(zhí)行相應(yīng)操作。如圖4所示。

 

 

 ZoneMinder定義了所能處理的外部信息的格式:"<id>|<action>|<score>|<cause>|<text>|<showtext>"。其中:id為目標(biāo)監(jiān)控節(jié)點(diǎn)的編號(hào)。action有“on”,“off”,“cancel”和“show”4個(gè)選擇,“on”觸發(fā)監(jiān)控,“off”關(guān)閉監(jiān)控,“cancel”取消之前的打開或者關(guān)閉行為,“show”顯示圖像的輔助文本。ZoneMinder額外支持時(shí)間補(bǔ)償機(jī)制,即發(fā)送“on+20”將會(huì)打開監(jiān)控20 s之后自動(dòng)關(guān)閉監(jiān)控。score為警告級(jí)別,通常為一個(gè)非零的數(shù)值。cause為32個(gè)字符以內(nèi)的警報(bào)原因。text為256個(gè)字符以內(nèi)的警報(bào)描述。showtext為將添加到圖像上的32個(gè)字符以內(nèi)的文本。
 基于以上討論,可以采用熱釋紅外傳感器來觸發(fā)監(jiān)控事件。項(xiàng)目中使用的傳感器可以檢測到5 m范圍內(nèi)的人體紅外輻射,當(dāng)有人體靠近傳感器時(shí),傳感器被觸發(fā),即發(fā)送一個(gè)ZoneMinder外部信息至ZoneMinder,啟動(dòng)監(jiān)控。根據(jù)發(fā)送信息的內(nèi)容,系統(tǒng)將會(huì)對(duì)監(jiān)控時(shí)間進(jìn)行設(shè)定。
4 運(yùn)動(dòng)檢測觸發(fā)
 ZoneMinder不僅具有視頻監(jiān)控的功能,還可以對(duì)視頻進(jìn)行實(shí)時(shí)分析,對(duì)劃定區(qū)域內(nèi)(外)進(jìn)行運(yùn)動(dòng)檢測[5]。在ZoneMinder的配置界面中,可以對(duì)ZoneMinder進(jìn)行區(qū)域劃定,如圖5所示,同時(shí)也可以根據(jù)圖6所示對(duì)選定區(qū)域進(jìn)行設(shè)置,例如相鄰兩幀圖像的差異度達(dá)到多少時(shí)認(rèn)為檢測到動(dòng)作,也可以配置是對(duì)區(qū)域內(nèi)的運(yùn)動(dòng)進(jìn)行檢測還是針對(duì)區(qū)域外進(jìn)行檢測。

 在設(shè)置好監(jiān)控區(qū)域之后,ZoneMinder如果檢測到區(qū)域有圖像變化則會(huì)觸發(fā)報(bào)警事件。在報(bào)警事件列表中,可以逐個(gè)選中事件,并可回放活動(dòng)視頻。
 ZoneMiner實(shí)現(xiàn)運(yùn)動(dòng)檢測的原理是對(duì)相鄰的兩幀圖像進(jìn)行分析比對(duì),如果圖像圖影之差大于設(shè)定范圍,則認(rèn)為是有運(yùn)動(dòng)發(fā)生,這也避免了光線誤差或者環(huán)境所帶來的細(xì)微誤差。
 依據(jù)本文所提出的基于ZoneMinder的監(jiān)控方案,可以快速地搭建起網(wǎng)絡(luò)視頻監(jiān)控方案,這使得智能家居、辦公樓宇的監(jiān)控方案變得簡單易行。同時(shí),ZoneMinder強(qiáng)大的圖像分析能力,也為實(shí)現(xiàn)無人值守的監(jiān)控方案提供了堅(jiān)實(shí)的基礎(chǔ)。
參考文獻(xiàn)
[1] http://www.ZoneMinder.com/.
[2] http://www.ZoneMinder.com/wiki/.
[3] WELLING L, THOMSON L.PHP和MySQL Web開發(fā)[M].武欣,譯.北京:機(jī)械工業(yè)出版社,2009.
[4] CHOPRA V, LI S, GENENDER J. Apache Tomcat 6高級(jí)編程[M].楊金奎,馮佳,李波,譯.北京:人民郵電出版社,2009.
[5] 文全剛.嵌入式Linux操作系統(tǒng)原理與應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2002.
[6] 奧萊理軟件臺(tái)灣公司.構(gòu)建嵌入式Linux系統(tǒng)(第二版)[M].北京:中國電力出版社,2011.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。