包軍衛(wèi)
(江陰職業(yè)技術(shù)學(xué)院,江蘇 江陰214405)
隨著網(wǎng)絡(luò)技術(shù)的發(fā)展和網(wǎng)絡(luò)建設(shè)的普及,與傳統(tǒng)的模擬監(jiān)控比較 ,基于網(wǎng)絡(luò)技術(shù)的數(shù)字化監(jiān)控系統(tǒng)具有結(jié)構(gòu)靈活、抗干擾性能強(qiáng)、支持遠(yuǎn)程傳輸、便于自動(dòng)化管理和易于大規(guī)模生產(chǎn)的優(yōu)勢(shì),傳統(tǒng)的模擬監(jiān)控系統(tǒng)的監(jiān)控和調(diào)度功能將逐漸被基于IP Camera的網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)所替代[1]。基于當(dāng)前的應(yīng)用背景和技術(shù)支持,本文設(shè)計(jì)了一種基于IP Camera的網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng),通過這種帶有以太網(wǎng)接口、TCP/IP協(xié)議棧[2]、Web Server的智能網(wǎng)絡(luò)視頻監(jiān)控終端,授權(quán)客戶端在Internet上可以使用多種訪問方式來監(jiān)控此終端。
各個(gè)接入服務(wù)共享同一個(gè)邏輯數(shù)據(jù)總線,本系統(tǒng)中的數(shù)據(jù)均通過UDP協(xié)議在各個(gè)服務(wù)之間發(fā)送、轉(zhuǎn)移、加工、存儲(chǔ)。具體的篩選、處理工作由數(shù)據(jù)消費(fèi)者進(jìn)行[3]。
系統(tǒng)邏輯架構(gòu)圖如圖1所示。
系統(tǒng)數(shù)據(jù)流向架構(gòu)如圖2所示。
本視頻監(jiān)控系統(tǒng)主要由網(wǎng)絡(luò)錄像服務(wù)器(NRU)、視頻音頻轉(zhuǎn)發(fā)服務(wù)器(VTDU)、中心管理服務(wù)器(CONS)、設(shè)備配置和管理服務(wù)器(DMS)幾部分構(gòu)成。其中,網(wǎng)絡(luò)錄像服務(wù)器主要實(shí)現(xiàn)音視頻的錄像;音視頻轉(zhuǎn)發(fā)服務(wù)器主要實(shí)現(xiàn)音視頻數(shù)據(jù)的轉(zhuǎn)發(fā);中心管理服務(wù)器(CONS)主要實(shí)現(xiàn)對(duì)前端設(shè)備和客戶端的認(rèn)證和管理;接入服務(wù)器(CONS)主要實(shí)現(xiàn)對(duì)信令的解析;設(shè)備配置和管理服務(wù)器主要實(shí)現(xiàn)對(duì)所有設(shè)備的配置和顯示所有設(shè)備的狀態(tài)。
錄像服務(wù)器的功能有:根據(jù)中心管理服務(wù)器的指令,向轉(zhuǎn)發(fā)服務(wù)器請(qǐng)求媒體數(shù)據(jù),并對(duì)媒體數(shù)據(jù)進(jìn)行錄像;當(dāng)客戶端向錄像服務(wù)器請(qǐng)求媒體數(shù)據(jù)時(shí),錄像服務(wù)器把錄像文件的數(shù)據(jù)發(fā)送到客戶端。
中心管理服務(wù)器負(fù)責(zé)保存視頻服務(wù)器等設(shè)備的安裝信息及所有設(shè)備的報(bào)警信息和操作日志;根據(jù)配置信息,對(duì)需要錄像的視頻,向錄像服務(wù)器發(fā)送請(qǐng)求錄像信息;保存客戶端和管理平臺(tái)的用戶權(quán)限。
向客戶端、管理平臺(tái)、錄像服務(wù)器轉(zhuǎn)發(fā)來自視頻服務(wù)器的媒體數(shù)據(jù)。
配置終端對(duì)系統(tǒng)中的所有設(shè)備進(jìn)行安裝和參數(shù)配置與查詢。
接入服務(wù)器對(duì)系統(tǒng)中的所有設(shè)備進(jìn)行調(diào)度,解析設(shè)備之間的協(xié)議。
客戶端功能:播放視頻圖像;對(duì)播放的視頻圖像進(jìn)行本地錄像;本地回放錄像文件;接收?qǐng)?bào)警信息。
對(duì)于無線視頻服務(wù)器,通過測(cè)試在無線網(wǎng)絡(luò)上用TCP傳輸媒體數(shù)據(jù)時(shí)延時(shí)太大,所以無線視頻服務(wù)器只能采用UDP進(jìn)行媒體數(shù)據(jù)傳輸。對(duì)此,需要作以下幾個(gè)方面的設(shè)計(jì):
(1)轉(zhuǎn)發(fā)服務(wù)器
無線傳輸時(shí)采用一個(gè)線程接收UDP的數(shù)據(jù),把接收到的媒體數(shù)據(jù)放到緩沖區(qū);有線傳輸時(shí)采用一個(gè)線程接收TCP的數(shù)據(jù),把接收到的媒體數(shù)據(jù)放到緩沖區(qū)。
(2)接入服務(wù)器
系統(tǒng)設(shè)計(jì)一個(gè)UDP接收和發(fā)送模塊,為每個(gè)無線視頻服務(wù)器在UDP模塊上建立一個(gè)TCP連接,根據(jù)視頻服務(wù)器的類型,在客戶端請(qǐng)求數(shù)據(jù)時(shí)給客戶端不同的應(yīng)答信息。
(3)客戶端
采用視頻解碼策略、視頻參數(shù)的重發(fā)功能和云臺(tái)參數(shù)設(shè)置的重發(fā)功能。
(4)數(shù)據(jù)庫提供的樹型結(jié)構(gòu)中增加一個(gè)視頻服務(wù)器的類型。
視頻終端向服務(wù)器注冊(cè)過程如圖3所示。
圖3 視頻終端注冊(cè)流程圖
客戶端連接指定視頻終端后,向視頻終端請(qǐng)求媒體數(shù)據(jù),接入服務(wù)器將信息進(jìn)行轉(zhuǎn)發(fā)到視頻終端。視頻終端收到命令后將媒體數(shù)據(jù)發(fā)送到接入服務(wù)器并轉(zhuǎn)發(fā)到客戶端,也可以直接將媒體數(shù)據(jù)發(fā)送到客戶端??刂泼钊匀煌ㄟ^接入服務(wù)器轉(zhuǎn)發(fā),從而提高網(wǎng)絡(luò)視頻效率。具體數(shù)據(jù)流程如圖4所示。
圖4 客戶端請(qǐng)求媒體數(shù)據(jù)流程圖
客戶端訪問視頻終端時(shí)通過接入服務(wù)器的數(shù)據(jù)轉(zhuǎn)發(fā)完成對(duì)視頻終端連接的云臺(tái)進(jìn)行控制。具體數(shù)據(jù)流程如圖5所示。
圖5 客戶端控制終端云臺(tái)流程圖
管理平臺(tái)可以對(duì)指定的視頻終端進(jìn)行遠(yuǎn)程配置,通過接入服務(wù)器的數(shù)據(jù)轉(zhuǎn)發(fā)完成各種參數(shù)的配置。具體數(shù)據(jù)流程與圖5所示類似。
在網(wǎng)絡(luò)帶寬不穩(wěn)定或者較差的情況下為了盡量保證網(wǎng)絡(luò)視頻服務(wù)器傳輸?shù)椒?wù)器的視頻數(shù)據(jù)的完整性和實(shí)時(shí)性[4],采用了雙重處理機(jī)制:
(1)單位時(shí)間內(nèi)比較視頻歷史緩沖中的數(shù)據(jù)包個(gè)數(shù),如果發(fā)現(xiàn)數(shù)據(jù)包個(gè)數(shù)大于500包,則執(zhí)行清除歷史緩沖操作,并重新關(guān)閉打開編碼器來編碼出一個(gè)新的IDR幀用于傳輸[4];
(2)定時(shí)比較當(dāng)前編碼幀的時(shí)間與待發(fā)送的數(shù)據(jù)包的時(shí)間差值,如果大于5 s,則執(zhí)行清除歷史緩沖的操作,并重新關(guān)閉打開編碼器來編碼出一個(gè)新的IDR幀用于傳輸[5];
(3)另外為了保證對(duì)帶寬的充分利用以及傳輸?shù)椒?wù)器端的碼流可以正常播放,在清除歷史緩沖時(shí)增加了1幀的完整性判斷,即必須保證當(dāng)前傳輸?shù)囊曨l數(shù)據(jù)非1幀才執(zhí)行清除歷史緩沖的操作[6]。
目錄服務(wù)具有配置終端和中心管理服務(wù)器的功能,主要用于保存系統(tǒng)中所有設(shè)備的安裝和參數(shù)配置,并提供查詢、修改服務(wù);保存系統(tǒng)中所有硬件服務(wù)器、軟件服務(wù)的安裝和配置信息,并提供查詢、修改;視頻文件的目錄管理服務(wù);客戶端的配置、權(quán)限等信息維護(hù);權(quán)限的保存、查詢、管理接口;體現(xiàn)系統(tǒng)一定的拓?fù)浣Y(jié)構(gòu)。
目錄服務(wù)功能實(shí)現(xiàn):
(1)類似于DNS服務(wù),采用UDP通信向外部提供服務(wù)[7]。
(2)目錄服務(wù)之間也可互相訪問,從而提供目錄冗余,它需通過管理人員設(shè)置,以免形成回路。
(3)所有物理節(jié)點(diǎn)、邏輯節(jié)點(diǎn)均統(tǒng)一編碼,并存儲(chǔ)到本地配置數(shù)據(jù)庫或文件中[8]:①服務(wù)器采用網(wǎng)卡“MAC地址”編碼,計(jì)算機(jī)名作為默認(rèn)摘要信息;②運(yùn)行在服務(wù)器上的服務(wù)程序,采用“MAC地址.服務(wù)編碼.端口號(hào)”形式編碼,例如“1234567890AB.MS1:8080”;③C/S客戶端計(jì)算機(jī)采用“MAC地址:端口號(hào)”唯一編碼;④攝像頭采用內(nèi)部物理地址編碼;⑤企業(yè)組織的層級(jí)采用ASCII方式編碼;⑥訪問用戶采用字符串編碼。
(4)目錄內(nèi)容淘汰方法[9]包括:靜態(tài)內(nèi)容長期保留和動(dòng)態(tài)內(nèi)容按約定超時(shí)周期淘汰。
本文闡述了IP Camera的網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)的系統(tǒng)設(shè)計(jì)以及主要部分的實(shí)現(xiàn)原理。著重介紹了視頻數(shù)據(jù)傳輸以及目錄服務(wù)的設(shè)計(jì)方案和實(shí)現(xiàn)方法,并對(duì)其中的一些關(guān)鍵技術(shù)的實(shí)現(xiàn)作了詳細(xì)的描述。系統(tǒng)服務(wù)器端采用Visual C++編程語言實(shí)現(xiàn)各種服務(wù)[10]。該系統(tǒng)支持多種平臺(tái)的客戶端訪問,并具有良好的交互性和流暢的視頻效果。
[1]徐力,孔巖.視頻監(jiān)控系統(tǒng)的現(xiàn)狀和發(fā)展趨勢(shì)[J].信息技術(shù)與信息化,2005(4):60-62.
[2]任泰明.TCP/IP協(xié)議與網(wǎng)絡(luò)編程[M].西安:西安電子科技大學(xué)出版社,2004.
[3]顧尚杰,薛質(zhì).計(jì)算機(jī)通信網(wǎng)基礎(chǔ)[M].北京:電子工業(yè)出版社,2000.
[4]畢厚杰,汪濤.寬帶 IP(數(shù)據(jù))和視頻接入技術(shù)(第1版)[M].北京:北京郵電大學(xué)出版社,2002.
[5]精英科技.視頻壓縮與音頻編碼技術(shù)[M].北京:中國電力出版社,2001.
[6]黎洪松.數(shù)字視頻技術(shù)及其應(yīng)用(第 1版)[M].北京:清華大學(xué)出版社,1997.
[7]蔣東興.Windows Sockets網(wǎng)絡(luò)程序設(shè)計(jì)大全[M].北京:清華出版社,1999.
[8]PURI A,CHEN Xue Min,LUTHRA A.Video coding using the H.264/MPEG-4 AVC compression standard[J].Signal Processing Image Communication,2004(19):793-849.
[9]吳樂南.數(shù)據(jù)壓縮[M].北京:電子工業(yè)出版社,2000.
[10]陳光明.實(shí)用 Visual C++編程大全[M].西安:西安電子科技大學(xué)出版社,2000.