摘 要: 設(shè)計了一種基于IP Camera的網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng),系統(tǒng)通過各種不同的接入服務(wù),提供了C/S、Web、ClickOnce等多種訪問方式,實現(xiàn)了多種平臺下對視頻終端的監(jiān)控。系統(tǒng)采用類似于DNS的目錄服務(wù),將所有物理節(jié)點(diǎn)、邏輯節(jié)點(diǎn)均統(tǒng)一編碼,并存儲到本地配置數(shù)據(jù)庫或文件中,實現(xiàn)了視頻終端、客戶監(jiān)控端、視頻數(shù)據(jù)文件等信息的管理和訪問。系統(tǒng)在有線和無線兩種不同的傳輸方式下,根據(jù)不同的網(wǎng)絡(luò)傳輸特點(diǎn),分別采用了TCP和UDP兩種不同的通信方式和通信機(jī)制向外部提供視頻數(shù)據(jù)服務(wù),提高了視頻流暢性。
關(guān)鍵詞: IP camera;視頻監(jiān)控;TCP/IP;目錄服務(wù);視頻解碼
隨著網(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)程傳輸、便于自動化管理和易于大規(guī)模生產(chǎn)的優(yōu)勢,傳統(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è)計了一種基于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)控此終端。
1 系統(tǒng)架構(gòu)
1.1 系統(tǒng)邏輯架構(gòu)
各個接入服務(wù)共享同一個邏輯數(shù)據(jù)總線,本系統(tǒng)中的數(shù)據(jù)均通過UDP協(xié)議在各個服務(wù)之間發(fā)送、轉(zhuǎn)移、加工、存儲。具體的篩選、處理工作由數(shù)據(jù)消費(fèi)者進(jìn)行[3]。
系統(tǒng)邏輯架構(gòu)圖如圖1所示。

1.2 系統(tǒng)數(shù)據(jù)流向架構(gòu)
系統(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ù)器主要實現(xiàn)音視頻的錄像;音視頻轉(zhuǎn)發(fā)服務(wù)器主要實現(xiàn)音視頻數(shù)據(jù)的轉(zhuǎn)發(fā);中心管理服務(wù)器(CONS)主要實現(xiàn)對前端設(shè)備和客戶端的認(rèn)證和管理;接入服務(wù)器(CONS)主要實現(xiàn)對信令的解析;設(shè)備配置和管理服務(wù)器主要實現(xiàn)對所有設(shè)備的配置和顯示所有設(shè)備的狀態(tài)。
2 系統(tǒng)各組成部分功能
2.1 錄像服務(wù)器
錄像服務(wù)器的功能有:根據(jù)中心管理服務(wù)器的指令,向轉(zhuǎn)發(fā)服務(wù)器請求媒體數(shù)據(jù),并對媒體數(shù)據(jù)進(jìn)行錄像;當(dāng)客戶端向錄像服務(wù)器請求媒體數(shù)據(jù)時,錄像服務(wù)器把錄像文件的數(shù)據(jù)發(fā)送到客戶端。
2.2 中心管理服務(wù)器
中心管理服務(wù)器負(fù)責(zé)保存視頻服務(wù)器等設(shè)備的安裝信息及所有設(shè)備的報警信息和操作日志;根據(jù)配置信息,對需要錄像的視頻,向錄像服務(wù)器發(fā)送請求錄像信息;保存客戶端和管理平臺的用戶權(quán)限。
2.3 轉(zhuǎn)發(fā)服務(wù)器
向客戶端、管理平臺、錄像服務(wù)器轉(zhuǎn)發(fā)來自視頻服務(wù)器的媒體數(shù)據(jù)。
2.4 配置終端
配置終端對系統(tǒng)中的所有設(shè)備進(jìn)行安裝和參數(shù)配置與查詢。
2.5 接入服務(wù)器
接入服務(wù)器對系統(tǒng)中的所有設(shè)備進(jìn)行調(diào)度,解析設(shè)備之間的協(xié)議。
2.6 客戶端
客戶端功能:播放視頻圖像;對播放的視頻圖像進(jìn)行本地錄像;本地回放錄像文件;接收報警信息。
2.7 視頻服務(wù)器
對于無線視頻服務(wù)器,通過測試在無線網(wǎng)絡(luò)上用TCP傳輸媒體數(shù)據(jù)時延時太大,所以無線視頻服務(wù)器只能采用UDP進(jìn)行媒體數(shù)據(jù)傳輸。對此,需要作以下幾個方面的設(shè)計:
(1)轉(zhuǎn)發(fā)服務(wù)器
無線傳輸時采用一個線程接收UDP的數(shù)據(jù),把接收到的媒體數(shù)據(jù)放到緩沖區(qū);有線傳輸時采用一個線程接收TCP的數(shù)據(jù),把接收到的媒體數(shù)據(jù)放到緩沖區(qū)。
(2)接入服務(wù)器
系統(tǒng)設(shè)計一個UDP接收和發(fā)送模塊,為每個無線視頻服務(wù)器在UDP模塊上建立一個TCP連接,根據(jù)視頻服務(wù)器的類型,在客戶端請求數(shù)據(jù)時給客戶端不同的應(yīng)答信息。
(3)客戶端
采用視頻解碼策略、視頻參數(shù)的重發(fā)功能和云臺參數(shù)設(shè)置的重發(fā)功能。
(4)數(shù)據(jù)庫提供的樹型結(jié)構(gòu)中增加一個視頻服務(wù)器的類型。
3 系統(tǒng)主要部分工作流程
3.1 注冊流程
視頻終端向服務(wù)器注冊過程如圖3所示。

3.2 請求媒體數(shù)據(jù)
客戶端連接指定視頻終端后,向視頻終端請求媒體數(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所示。

3.3 云臺控制
客戶端訪問視頻終端時通過接入服務(wù)器的數(shù)據(jù)轉(zhuǎn)發(fā)完成對視頻終端連接的云臺進(jìn)行控制。具體數(shù)據(jù)流程如圖5所示。

3.4 配置終端
管理平臺可以對指定的視頻終端進(jìn)行遠(yuǎn)程配置,通過接入服務(wù)器的數(shù)據(jù)轉(zhuǎn)發(fā)完成各種參數(shù)的配置。具體數(shù)據(jù)流程與圖5所示類似。
4 軟件實現(xiàn)原理
4.1 網(wǎng)絡(luò)視頻傳輸策略
在網(wǎng)絡(luò)帶寬不穩(wěn)定或者較差的情況下為了盡量保證網(wǎng)絡(luò)視頻服務(wù)器傳輸?shù)椒?wù)器的視頻數(shù)據(jù)的完整性和實時性[4],采用了雙重處理機(jī)制:
(1)單位時間內(nèi)比較視頻歷史緩沖中的數(shù)據(jù)包個數(shù),如果發(fā)現(xiàn)數(shù)據(jù)包個數(shù)大于500包,則執(zhí)行清除歷史緩沖操作,并重新關(guān)閉打開編碼器來編碼出一個新的IDR幀用于傳輸[4];
(2)定時比較當(dāng)前編碼幀的時間與待發(fā)送的數(shù)據(jù)包的時間差值,如果大于5 s,則執(zhí)行清除歷史緩沖的操作,并重新關(guān)閉打開編碼器來編碼出一個新的IDR幀用于傳輸[5];
(3)另外為了保證對帶寬的充分利用以及傳輸?shù)椒?wù)器端的碼流可以正常播放,在清除歷史緩沖時增加了1幀的完整性判斷,即必須保證當(dāng)前傳輸?shù)囊曨l數(shù)據(jù)非1幀才執(zhí)行清除歷史緩沖的操作[6]。
4.2 目錄服務(wù)功能設(shè)計
目錄服務(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ù)功能實現(xiàn):
(1)類似于DNS服務(wù),采用UDP通信向外部提供服務(wù)[7]。
(2)目錄服務(wù)之間也可互相訪問,從而提供目錄冗余,它需通過管理人員設(shè)置,以免形成回路。
(3)所有物理節(jié)點(diǎn)、邏輯節(jié)點(diǎn)均統(tǒng)一編碼,并存儲到本地配置數(shù)據(jù)庫或文件中[8]:①服務(wù)器采用網(wǎng)卡“MAC地址”編碼,計算機(jī)名作為默認(rèn)摘要信息;②運(yùn)行在服務(wù)器上的服務(wù)程序,采用“MAC地址.服務(wù)編碼.端口號”形式編碼,例如“1234567890AB.MS1:8080”;③C/S客戶端計算機(jī)采用“MAC地址:端口號”唯一編碼;④攝像頭采用內(nèi)部物理地址編碼;⑤企業(yè)組織的層級采用ASCII方式編碼;⑥訪問用戶采用字符串編碼。
(4)目錄內(nèi)容淘汰方法[9]包括:靜態(tài)內(nèi)容長期保留和動態(tài)內(nèi)容按約定超時周期淘汰。
本文闡述了IP Camera的網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)的系統(tǒng)設(shè)計以及主要部分的實現(xiàn)原理。著重介紹了視頻數(shù)據(jù)傳輸以及目錄服務(wù)的設(shè)計方案和實現(xiàn)方法,并對其中的一些關(guān)鍵技術(shù)的實現(xiàn)作了詳細(xì)的描述。系統(tǒng)服務(wù)器端采用Visual C++編程語言實現(xiàn)各種服務(wù)[10]。該系統(tǒng)支持多種平臺的客戶端訪問,并具有良好的交互性和流暢的視頻效果。
參考文獻(xiàn)
[1] 徐力,孔巖.視頻監(jiān)控系統(tǒng)的現(xiàn)狀和發(fā)展趨勢[J].信息技術(shù)與信息化,2005(4):60-62.
[2] 任泰明.TCP/IP協(xié)議與網(wǎng)絡(luò)編程[M].西安:西安電子科技大學(xué)出版社,2004.
[3] 顧尚杰,薛質(zhì).計算機(jī)通信網(wǎng)基礎(chǔ)[M].北京:電子工業(yè)出版社,2000.
[4] 畢厚杰,汪濤.寬帶IP(數(shù)據(jù))和視頻接入技術(shù)(第1版)[M].北京:北京郵電大學(xué)出版社,2002.
[5] 精英科技.視頻壓縮與音頻編碼技術(shù)[M].北京:中國電力出版社,2001.
[6] 黎洪松.?dāng)?shù)字視頻技術(shù)及其應(yīng)用(第1版)[M].北京:清華大學(xué)出版社,1997.
[7] 蔣東興.Windows Sockets網(wǎng)絡(luò)程序設(shè)計大全[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] 吳樂南.?dāng)?shù)據(jù)壓縮[M].北京:電子工業(yè)出版社,2000.
[10] 陳光明.實用Visual C++編程大全[M].西安:西安電子科技大學(xué)出版社,2000.
