文 凱,張 潤
(1.重慶郵電大學(xué) 通信新技術(shù)應(yīng)用研究中心,重慶 400065;2.重慶信科設(shè)計有限公司,重慶 400065)
基于ONVIF的網(wǎng)絡(luò)視頻監(jiān)控告警系統(tǒng)的實(shí)現(xiàn)
文 凱1,2,張 潤1
(1.重慶郵電大學(xué) 通信新技術(shù)應(yīng)用研究中心,重慶 400065;2.重慶信科設(shè)計有限公司,重慶 400065)
通過分析當(dāng)前網(wǎng)絡(luò)視頻監(jiān)控告警系統(tǒng)所面臨的問題,設(shè)計并提出了一種基于ONVIF的網(wǎng)絡(luò)視頻監(jiān)控告警系統(tǒng)方案。首先闡釋了告警系統(tǒng)的組成部分和系統(tǒng)的工作原理。然后詳細(xì)分析了告警系統(tǒng)的ONVIF事件、流媒體模塊、SMTP客戶端等主要功能模塊的實(shí)現(xiàn)流程。最后,給出了系統(tǒng)的運(yùn)行效果。
ONVIF;流媒體;SMTP;告警系統(tǒng)
視頻監(jiān)控系統(tǒng)的目的是保護(hù)用戶的生命和財產(chǎn)安全,而視頻監(jiān)控和告警聯(lián)動是其兩大核心功能。最近幾年,視頻監(jiān)控技術(shù)得到了快速發(fā)展,但是告警發(fā)展的速度相對較慢,形成了以視頻監(jiān)控為主、報警為輔的局面。并且市場上存在不同廠商的安防產(chǎn)品,由于大多廠家采用自己的私有協(xié)議,造成網(wǎng)絡(luò)視頻產(chǎn)品之間的兼容性差,無法實(shí)現(xiàn)互聯(lián)互通,出現(xiàn)了用戶只能買同一廠家設(shè)備的情形。而且對于普通家庭用戶來說,由于經(jīng)常外出,大多只對視頻被遮擋或者有物體從攝像頭前移動的情況感興趣,而目前大多數(shù)視頻監(jiān)控告警系統(tǒng)不能滿足用戶的需求。
為了解決目前存在的問題,提高視頻設(shè)備之間的兼容性,以滿足用戶的要求,本文通過引入ONVIF協(xié)議和RTP/RTCP實(shí)時視頻傳輸協(xié)議來提高設(shè)備兼容性和視頻的傳輸效率。采用多線程技術(shù)和隊列的數(shù)據(jù)結(jié)構(gòu)來提高告警信息處理的及時性,通過SMTP郵件傳輸協(xié)議來負(fù)責(zé)發(fā)送郵件,實(shí)現(xiàn)了一個系統(tǒng)穩(wěn)定和功能完善的網(wǎng)絡(luò)視頻監(jiān)控告警系統(tǒng)。
1.1 系統(tǒng)簡介
系統(tǒng)的網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示,主要由前端網(wǎng)絡(luò)攝像機(jī)、本地監(jiān)控終端和移動終端3個部分組成,其中網(wǎng)絡(luò)攝像機(jī)和本地監(jiān)控終端為本文討論的重點(diǎn)。
圖1 系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)圖
1)網(wǎng)絡(luò)攝像機(jī)
網(wǎng)絡(luò)攝像機(jī)英文簡稱IPC,是集成網(wǎng)絡(luò)通信模塊和編解碼模塊的高性能音視頻采集和發(fā)送設(shè)備。主要作用是將采集到的模擬信號(音視頻、告警信息和控制信號),經(jīng)編解碼模塊編碼,通過網(wǎng)絡(luò)通信模塊發(fā)送到本地監(jiān)控終端。
目前主流的IPC大多引入了ONVIF協(xié)議,ONVIF協(xié)議通過描述網(wǎng)絡(luò)視頻的接口、模型、數(shù)據(jù)類型和數(shù)據(jù)交互的方式,使不同廠家的網(wǎng)絡(luò)視頻監(jiān)控產(chǎn)品互聯(lián)互通。ONVIF協(xié)議中控制部分和設(shè)備管理所定義的接口都是通過Web Services的方式提供,每個支持ONVIF協(xié)議的網(wǎng)絡(luò)視頻設(shè)備都需要提供與功能相應(yīng)的Web Services,比如設(shè)備管理、設(shè)備發(fā)現(xiàn)、媒體配置、事件處理等,其他部分如音視頻通過RTP/STSP進(jìn)行。Web Services主要利用HTTP和SOAP協(xié)議實(shí)現(xiàn)服務(wù)與端客戶端之間的數(shù)據(jù)交互[1]。
ONVIF協(xié)議實(shí)現(xiàn)機(jī)制是:ONVIF客戶端根據(jù)官方提供的WSDL描述文件[2]生成一個SOAP請求消息,該消息會被添加到一個HTTP POST請求中,發(fā)送到包含對應(yīng)Web Services的Web服務(wù)器。Web Services請求處理解析器調(diào)用相應(yīng)的Web Services處理SOAP請求,生成對應(yīng)的SOAP應(yīng)答。Web服務(wù)器得到SOAP應(yīng)答后,通過HTTP把應(yīng)答消息送回客戶端[2]。
2)本地監(jiān)控終端
本地監(jiān)控終端是系統(tǒng)的核心,負(fù)責(zé)訂閱事件、接收和處理告警信息。硬件采用Hi3531芯片,該芯片能同時編解碼5路1 080p高清視頻,并集成高效的編解碼算法和優(yōu)異的媒體處理能力[3]。軟件部分由ONVIF客戶端、流媒體客戶端、SMTP客戶端和Hi3531媒體處理平臺軟件組成。ONVIF客戶端在網(wǎng)絡(luò)攝像機(jī)部分已介紹,本節(jié)主要介紹流媒體客戶端和SMTP客戶端[4]。
流媒體客戶端主要負(fù)責(zé)請求流媒體服務(wù)器的音視頻數(shù)據(jù),由RTSP會話控制層和RTP數(shù)據(jù)傳輸層組成。RT?SP是基于TCP的實(shí)時流控制協(xié)議,負(fù)責(zé)建立服務(wù)器和客戶端的會話控制,提供遠(yuǎn)程控制;RTP是基于UDP的實(shí)時數(shù)據(jù)傳輸協(xié)議,在UDP數(shù)據(jù)包前增加一個確保流數(shù)據(jù)實(shí)時性和連續(xù)性的RTP包頭,比如序列號和時間戳。首先,客戶端連接到服務(wù)器的RTSP端口,建立連接。其次,客戶端發(fā)送包含音視頻的URL的DESCRIBE命令到服務(wù)端。服務(wù)端收到后會傳送媒體描述文件到客戶端,描述文件包含文件名、RTP傳輸通道端口號、編碼類型、網(wǎng)絡(luò)類型、采樣率等。然后,客戶端發(fā)送SETUP命令到服務(wù)端,配置傳輸方式、網(wǎng)絡(luò)協(xié)議和端口等,并創(chuàng)建接收線程,循環(huán)等待從服務(wù)端發(fā)送來的RTP數(shù)據(jù)包。最后,客戶端發(fā)送PLAY命令,通知服務(wù)端向本地RTP端口端發(fā)送數(shù)據(jù)[5]。
SMTP客戶端負(fù)責(zé)根據(jù)郵件信息生成標(biāo)準(zhǔn)格式的郵件,發(fā)送給SMTP服務(wù)器。SMTP客戶端首先檢查郵件信息是否完整,然后根據(jù)郵件信息生成郵件頭和郵件體各部分的頭部信息,并編碼一些需要編碼的郵件體,并按照RFC822和MIME規(guī)定將這些內(nèi)容生成標(biāo)準(zhǔn)格式的郵件,最后發(fā)送郵件[6]。
1.2 系統(tǒng)的工作原理
本地監(jiān)控終端根據(jù)用戶配置的告警時間段和告警類型向IPC訂閱告警。如果訂閱成功,則與IPC建立流媒體連接,設(shè)置子碼流的編碼方式,等待IPC通知告警信息。當(dāng)IPC偵測到告警信息后,判斷信息是否滿足訂閱的條件,如果滿足則將告警信息通知給本地監(jiān)控終端。本地監(jiān)控終端收到告警信息后,由流媒體客戶端獲取告警現(xiàn)場圖片,通過SMTP客戶端將告警信息發(fā)送到用戶郵箱。系統(tǒng)的工作原理流程圖如圖2所示。
圖2 告警系統(tǒng)工作原理圖
告警系統(tǒng)的主要功能集中在本地客戶端,它由三大功能模塊構(gòu)成,分別為ONVIF事件模塊、流媒體模塊和郵件發(fā)送模塊,下面介紹每個模塊的具體實(shí)現(xiàn)方法。
2.1 ONVIF事件模塊的實(shí)現(xiàn)
該模塊負(fù)責(zé)系統(tǒng)告警信令的交互,由ONVIF事件模塊完成,負(fù)責(zé)訂閱、通知、重訂閱、撤銷訂閱和處理告警信息等功能。在監(jiān)聽事件前,需要通過ONVIF設(shè)備發(fā)現(xiàn)媒體配置模塊,獲取在網(wǎng)的設(shè)備信息,如設(shè)備的IP地址、設(shè)備的能力集和碼流令牌等,本地客戶監(jiān)控終端根據(jù)這些信息建立起與IPC的連接。本節(jié)重點(diǎn)討論ONVIF事件模塊的實(shí)現(xiàn),其具體實(shí)現(xiàn)流程為:
1)本地監(jiān)控終端創(chuàng)建與IPC的Event Server事件服務(wù)器的socket連接。
2)客戶端發(fā)送SubscritionRequest訂閱請求到Event Server,提交訂閱請求。當(dāng)Event Server接收到訂閱請求,則動態(tài)實(shí)例化一個SubscriptionManager訂閱管理器,其主要用于通知告警信息。Event Server在訂閱響應(yīng)中返回訂閱管理的服務(wù)程序所在的IP和端口等信息[3]。
3)如果訂閱成功,Client通過IPC的IP地址及端口,直接與SubscriptionManager進(jìn)行通信,調(diào)用accept()監(jiān)聽。同時,建立視頻流連接,具體流程參考第2.2節(jié)。
4)當(dāng)SubscriptionManager偵測到告警信息,將告警事件發(fā)生時間、訂閱管理器的結(jié)束時間、事件的類型等信息發(fā)送給客戶端。由客戶端進(jìn)行處理,具體處理參考第2.3節(jié)。
2.2 流媒體模塊的實(shí)現(xiàn)
為了獲取告警現(xiàn)場數(shù)據(jù),提高處理的實(shí)時性,NVR服務(wù)器在等待接收IPC返回的告警信息的同時,必須不斷接收從IPC采集到的音視頻流,并將收到的每一幀數(shù)據(jù)存放在相應(yīng)通道的指定內(nèi)存區(qū)域。為了提高系統(tǒng)的開發(fā)效率和節(jié)約成本,本地監(jiān)控終端的流媒體客戶端采用LIVE555開源框架。下面介紹流媒體模塊的主要工作:
1)啟動定時檢測線程,判斷當(dāng)前系統(tǒng)時間是否在用戶配置的訂閱時間范圍內(nèi)。如果是,則向IPC發(fā)起訂閱請求,訂閱的工作原理如第2.1節(jié)所示。
2)如果訂閱成功,通過ONVIF設(shè)置IPC子碼流的編碼方式為JPEG,目的是將接收到的視頻數(shù)據(jù)保存為JPEG格式的圖片。
3)連接IPC的RTSP服務(wù)端,向RTSP服務(wù)端請求視頻流,開始接收數(shù)據(jù)。
4)當(dāng)收到視頻流時,在PLAY命令的處理函數(shù)中,將視頻流存放在一塊特定大小的內(nèi)存中。在系統(tǒng)的過程中,不斷刷新該內(nèi)存區(qū)域,當(dāng)有告警通知到達(dá)時,立即從該內(nèi)存區(qū)域提取出數(shù)據(jù),就能夠保證獲得告警現(xiàn)場的畫面。
2.3 郵件發(fā)送模塊的實(shí)現(xiàn)
當(dāng)多路告警消息同時到達(dá),或者到達(dá)的時間間隔較短,如果采用串行處理的方式,可能出現(xiàn)前一個告警任務(wù)還未處理完,后面的告警到達(dá)的情況。由于消息處理不及時,容易造成告警漏處理,極大影響系統(tǒng)的能力。為了解決這個問題,本系統(tǒng)采用告警接收和處理分離的方式,由告警接收線程快速接收告警信息,并將耗時的操作放在告警處理線程完成。在告警接收線程中將接收到的消息存放在消息隊列。告警處理線程從隊列中取出告警信息,并立即將接收到的一幀視頻數(shù)據(jù)保存為圖片的格式,并啟動SMTP客戶端發(fā)送。郵件發(fā)送模塊的實(shí)現(xiàn)流程如圖3所示。
圖3 郵件發(fā)送流程圖
1)在事件處理函數(shù)中,啟動告警接收線程。當(dāng)有告警通知到達(dá)時,告警信息進(jìn)入告警消息隊列中。
2)在告警線程處理函數(shù)中,從告警消息隊列中依次取出告警信息。根據(jù)告警信息中的通道號,在對應(yīng)通道的接收內(nèi)存區(qū)域內(nèi)提取視頻信息,保存為JPEG圖片。
3)從圖形用戶界面獲取用戶配置的發(fā)件人的電子郵箱賬號和密碼、收件人的郵箱賬號。為了用戶方便知道告警信息,將主要的告警信息作為發(fā)送郵件的標(biāo)題,如alarmType:dection_motion,time:2014-05-07T17:27: 12,于是用戶可以便捷地知道告警類型為移動偵測,告警發(fā)生的時間為下午5點(diǎn)27分。啟動SMTP客戶端。
在系統(tǒng)的測試過程中,使用大華和??档木W(wǎng)絡(luò)攝像機(jī)偵測告警信息,本地監(jiān)控終端采用本文設(shè)計的告警系統(tǒng)接收和處理告警信息。用戶在本地控制終端的事件管理界面配置2個IPC的告警的時間段,并在郵件配置界面配置發(fā)件人的賬號和密碼,以及收件人的賬號、截圖間隔和抓拍圖片的張數(shù),郵件配置界面如圖4所示。
當(dāng)攝像頭前有移動物體或攝像頭被遮擋時,IPC都能產(chǎn)生告警信息并通知本地監(jiān)控終端。當(dāng)2個IPC偵測到告警的時間間隔較短(<1 s),本地監(jiān)控終端也能夠及時接收和處理,并將告警信息作為郵件的標(biāo)題,圖片作為郵件附件的方式發(fā)送到用戶指定的郵箱,一路告警的郵件接收效果如圖5所示。整個系統(tǒng)運(yùn)行穩(wěn)定,各項(xiàng)參數(shù)指標(biāo)達(dá)到預(yù)期效果。
圖4 郵件配置界面(截圖)
圖5 接收告警郵件的效果圖(截圖)
本系統(tǒng)實(shí)現(xiàn)了一種網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)告警系統(tǒng),通過ONVIF規(guī)范管理事件,提高了系統(tǒng)的兼容性。通過RTP視頻流傳輸協(xié)議提高了視頻傳輸效率。采用多線程技術(shù)和隊列數(shù)據(jù)結(jié)構(gòu),解決了因多路告警通知到達(dá)時間太短而造成處理不及時的問題。本系統(tǒng)采用模塊化設(shè)計,使設(shè)計結(jié)構(gòu)清晰、容易擴(kuò)展、通用、靈活性強(qiáng)。同時具有兼容性強(qiáng)、易擴(kuò)展性、配置靈活、網(wǎng)絡(luò)傳輸效率高等特點(diǎn)。而且,Hi3531提供流媒體SDK開發(fā)包[7],采用LIVE555開源框架,降低了開發(fā)難度、周期和成本。本文提出的視頻監(jiān)控告警系統(tǒng)具有廣泛的前景。
[1] ONVIF.ONVIF core specification version 2.0[S].2010.
[2]W 3C.Web Services description language(WSDL)[EB/OL].[2014-05-15].http://www.w3.org/TR/wsdl,2001,03,05.
[3] 深圳海思半導(dǎo)體有限公司.Hi3531 H.264編解碼處理器用戶指南[EB/OL].[2014-05-15].http://download.csdn.net/download/hot469517 044/4400208.
[4] 深圳海思半導(dǎo)體有限公司.海思Hi3531的中文版開發(fā)參考文檔[EB/OL].[2014-05-15].http://download.csdn.net/download/zihundezhongcheng/4898876.
[5] 曾濤.流媒體客戶端的結(jié)構(gòu)和原理淺析[J].中國多媒體視訊,2005(6):58-61.
[6]錢誠慎.SMTP電子郵件客戶端與服務(wù)器的設(shè)計與實(shí)現(xiàn)[D].大連:大連理工大學(xué),2006.
[7] 文武,譚沅軍,劉敏.ASP.NET架構(gòu)下網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)的設(shè)計[J].電視技術(shù),2014,38(5):160-163.
Imp lementation of Network Video Surveillance Alarm System Based on ONVIF
WEN Kai1,2,ZHANG Run1
(1.Research Centre for Application of New Communication Technologies,Chongqing University of Posts and Telecommunications,Chongqing 400065, China;2.Chongqing Information Technology Designing Co.,Ltd,Chongqing 400065,China)
Through analyzing the current network issues faced by video surveillance alarm system,the design of a network video surveillance alarm system based on ONVIF is put forward.Firstly,the component and working principle of the alarm system are interpreted.Then,a detailed analysis of the implementation process of three main functions is given,such as ONVIF event alarm systems,streaming media modules and SMTP client.Finally,the effect of running the system and the paper summarizes are given.
ONVIF;streaming;SMTP;alarm system
TN915
A
??健男
2014-07-02
【本文獻(xiàn)信息】文凱,張潤.基于ONVIF的網(wǎng)絡(luò)視頻監(jiān)控告警系統(tǒng)的實(shí)現(xiàn)[J].電視技術(shù),2014,38(21).
科技型中小企業(yè)技術(shù)創(chuàng)新基金項(xiàng)目(11C26215113601)