技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國傳動網(wǎng) > 技術(shù)頻道 > 應(yīng)用方案 > 智能樓宇系統(tǒng)中的軟件化網(wǎng)絡(luò)視頻監(jiān)控服務(wù)器

智能樓宇系統(tǒng)中的軟件化網(wǎng)絡(luò)視頻監(jiān)控服務(wù)器

時間:2006-04-21 19:54:00來源:0

導(dǎo)語:?本文配合智能樓宇系統(tǒng)集成軟件的開發(fā),針對具體應(yīng)用系統(tǒng)的特點,開發(fā)了基于軟件的網(wǎng)絡(luò)化視頻監(jiān)控
摘要: 本文配合智能樓宇系統(tǒng)集成軟件的開發(fā),針對具體應(yīng)用系統(tǒng)的特點,開發(fā)了基于軟件的網(wǎng)絡(luò)化視頻監(jiān)控服務(wù)器服務(wù)程序和客戶端軟件,文中詳細論述了基于程序的軟視頻服務(wù)器的基本原理,并給出了具體的軟件實現(xiàn)。 關(guān)鍵詞:視頻監(jiān)控 視頻服務(wù)器 TCP/IP協(xié)議 組播 1、引言 視頻監(jiān)控是智能樓宇系統(tǒng)中的重要組成部分,對于加強內(nèi)部和外部人員的管理,應(yīng)付突發(fā)事件、安全防盜和事故追蹤等方面都有著重要的作用[1]。隨著Intertnet的飛速發(fā)展,視頻監(jiān)控的網(wǎng)絡(luò)化也成為主要的技術(shù)發(fā)展趨勢。實現(xiàn)網(wǎng)絡(luò)監(jiān)控,可以使用戶不受地點的限制而方便地進行遠程監(jiān)控。實現(xiàn)監(jiān)控網(wǎng)絡(luò)化后,用戶機只需安裝普通的瀏覽器即可實現(xiàn)遠程監(jiān)控,而無須安裝客戶端程序,大大簡化系統(tǒng)的安裝和實現(xiàn)。目前實現(xiàn)網(wǎng)絡(luò)化視頻監(jiān)控的方案主要有兩種:第一種,使用專用的嵌入式的視頻服務(wù)器,比如荷蘭的AXIS2400[2](四通道MpegI格式)、臺灣一碩產(chǎn)的(單/雙/四通道,Mpeg4格式)[3]等。第二種就是使用程序?qū)崿F(xiàn)的軟件視頻服務(wù)器[4]。兩種方案各有千秋,前一種需用專門硬件設(shè)備,開發(fā)周期短,畫面質(zhì)量高,但成本費用高,靈活性低,尤其是與不同視頻監(jiān)控主機的通信連接仍然需要軟件配合;相比之下采用程序?qū)崿F(xiàn)的軟件化視頻服務(wù)器成本低,靈活性高,可以方便滿足用戶提出的各種需求,但同時開發(fā)周期相對要長。本文配合智能樓宇系統(tǒng)集成軟件的開發(fā)[5],針對具體應(yīng)用系統(tǒng)的特點,開發(fā)了基于軟件的網(wǎng)絡(luò)化視頻監(jiān)控服務(wù)器服務(wù)程序和客戶端軟件,文中詳細論述基于程序的軟視頻服務(wù)器的基本原理,并給出了具體的軟件實現(xiàn)。 2、系統(tǒng)結(jié)構(gòu)及功能概述 應(yīng)用系統(tǒng)硬件結(jié)構(gòu)如圖1所示。網(wǎng)絡(luò)化視頻監(jiān)控系統(tǒng)是在傳統(tǒng)視頻監(jiān)控的基礎(chǔ)上,通過串口通信控制視頻監(jiān)控矩陣主機進行通道切換,選擇指定的監(jiān)控畫面,再經(jīng)視頻捕捉卡捕捉、軟件壓縮,再通過web服務(wù)傳送到網(wǎng)絡(luò)上的遠程客戶程序,遠程客戶端瀏覽器借助下載的Java小程序?qū)崿F(xiàn)解壓、回放。 圖1 應(yīng)用系統(tǒng)硬件結(jié)構(gòu)圖 應(yīng)用系統(tǒng)軟件結(jié)構(gòu)如圖2所示。視頻服務(wù)程序調(diào)用圖像卡供應(yīng)商提供的的DLL庫采集視頻流數(shù)據(jù),然后調(diào)用JPEG庫將采集到的DIB圖像壓縮為JPEG圖像,再通過UDP協(xié)議的WinSocket套接字發(fā)送給客戶。視頻服務(wù)程序與客戶端的交互是借助于運行在客戶端的JavaApplet小程序?qū)崿F(xiàn)的。JavaApplet內(nèi)嵌在網(wǎng)頁中,當(dāng)用戶訪問系統(tǒng)時,JavaApplet小程序隨同html文件下載到客戶端并由IE瀏覽器解釋執(zhí)行。當(dāng)用戶在切換攝像頭時,JavaApplet將選中的攝像頭位號提交給視頻服務(wù)程序。視頻服務(wù)程序通過RS-232串口通信將切換報文發(fā)送給AD196矩陣切換機,由AD196進行視頻通道的切換。 在應(yīng)用系統(tǒng)中使用的矩陣切換機為AD196,該機有8個RS-232控制端口。操作內(nèi)容包括:攝像機監(jiān)視器的切換、巡視、序列控制、PTZ(云臺)控制和報警接口等。RS-232端口接收的控制命令均為ASCII碼。為了保證云臺運動的連續(xù)實時性,指定動作的ASCII碼及緊隨的終止符最少必須發(fā)送5次,重復(fù)發(fā)送直到動作取消,為了確保動作的連續(xù)平滑,必須以每秒鐘15次的速率發(fā)送。 圖2 系統(tǒng)軟件結(jié)構(gòu)框圖 另外,在系統(tǒng)的實現(xiàn)中使用JPEG標(biāo)準(zhǔn)進行圖像壓縮而不采用MPEG標(biāo)準(zhǔn)是基于如下原因考慮的。由于系統(tǒng)使用基于TCP/IP協(xié)議進行網(wǎng)絡(luò)傳輸,并且采用基于UDP協(xié)議的組播方式。而TCP/IP的網(wǎng)絡(luò)傳輸存在網(wǎng)絡(luò)阻塞、數(shù)據(jù)丟失等隱患。由于MPEG壓縮標(biāo)準(zhǔn)進行幀間壓縮,發(fā)送的只是幀間的差值。若網(wǎng)絡(luò)發(fā)生阻塞,丟失了一幀信息,后面的幀將無法正確恢復(fù),只有重新傳輸上一幀。這無疑會產(chǎn)生很大延時,無法滿足監(jiān)控系統(tǒng)實時性的要求。JPEG標(biāo)準(zhǔn)只對每一幀圖像進行壓縮,各幀之間不進行幀間壓縮。這種方式的數(shù)據(jù)量較MPEG方式有所增加但是增加的數(shù)據(jù)對系統(tǒng)性能的影響不是很大,如:圖像卡采集的圖像為320×240、RGB24位的DIB圖像,經(jīng)過壓縮每幀圖像的數(shù)據(jù)大概為5Kb,發(fā)送的幀率按15幀/s計算,每秒的數(shù)據(jù)量為75kb/s,從結(jié)果可以知道并不會占用太多的帶寬。另外,更重要的一點是,采用JPEG進行網(wǎng)絡(luò)傳輸時,如果出現(xiàn)網(wǎng)絡(luò)短暫阻塞,可將當(dāng)前的幀拋棄而不影響下一幀的圖像恢復(fù),因而能夠保證監(jiān)控系統(tǒng)實時性的要求,而對于監(jiān)控系統(tǒng)的圖像傳輸來說,實時性是第一位的。 3、TCP/IP協(xié)議及IP組播 網(wǎng)絡(luò)通信的方法主要有:基于TCP或UDP協(xié)議的點對點式、基于UDP協(xié)議的廣播和組播。其中TCP協(xié)議是面向連接的,在交換數(shù)據(jù)前,通信主機和客戶機間必須建立連接。另外,TCP協(xié)議提供差錯校驗、丟幀重發(fā)等傳輸機制,這些特性使得TCP協(xié)議可以提供高可靠性的數(shù)據(jù)傳輸。同時,這些特點又帶來一些負面影響:占用較多的系統(tǒng)資源,特別是面向多連接的應(yīng)用時,頻繁的建立連接會占用大量的系統(tǒng)資源,在遇到網(wǎng)絡(luò)阻塞時,數(shù)據(jù)幀的丟失會導(dǎo)使不斷地重發(fā)丟失數(shù)據(jù),使得數(shù)據(jù)傳輸?shù)膶崟r性大大降低。所以,TCP協(xié)議一般應(yīng)用于對數(shù)據(jù)可靠性要求很高,而對實時性的要求相對不高的情況下。UDP協(xié)議與TCP協(xié)議不同,是不面向連接的。由于取消了差錯校驗、丟幀重發(fā)機制,因而提供的服務(wù)是不可靠的,但是其快速性則提高。還有一點重要的是,UDP協(xié)議支持IP組播,這就為單點對多點或多點對多點實時數(shù)據(jù)傳送提供了可能。 圖 3單播和多播 在本系統(tǒng)中,由于監(jiān)控系統(tǒng)對實時性的要求高,需要連續(xù)傳送的圖像信息量很大。如果采用點對點的方式,對每幀圖像服務(wù)器都必須向每個連接的客戶機發(fā)送一次,數(shù)據(jù)的發(fā)送量和響應(yīng)時間都與客戶的數(shù)目成正比,使得服務(wù)器不能及時響應(yīng)客戶端的請求,同時占用了網(wǎng)絡(luò)帶寬,使系統(tǒng)整體效能將大大降低了。而采用基于UDP協(xié)議的IP組播方式可以很好的解決這個問題。IP組播是指在互聯(lián)網(wǎng)上對一組IP站點同時進行數(shù)據(jù)傳送,發(fā)送方只需發(fā)一次數(shù)據(jù),加入組播組的客戶機都能接收到數(shù)據(jù)報。每一個站點都可以動態(tài)的加入或退出該組播組。IP組播允許一點對多點或多點對多點通信。單播和組播的比較如圖3所示。在IPv4中使用D類IP地址,它動態(tài)分配和恢復(fù)地址范圍是224.0.0到239.255.255.255。其中224.0.0.0到224.0.0.255為局部聯(lián)接多播地址。當(dāng)需要將多播范圍擴展到廣域網(wǎng)時,需要有路由器轉(zhuǎn)發(fā)多播數(shù)據(jù)。同時需要使用Inernet組管理協(xié)議(IGMP)。WINSOCK2系統(tǒng)中提供了對IP多播的支持,它是一個與協(xié)議無關(guān)的、具有實時網(wǎng)絡(luò)傳輸能力的網(wǎng)絡(luò)接口。WINSOCK多播模型中定義了數(shù)據(jù)面和控制面的概念??刂泼鏇Q定一個多播組建立通信的方式,數(shù)據(jù)面決定通信成員間數(shù)據(jù)傳輸?shù)姆绞?。兩平面均采用“無”根模式,任一用戶所發(fā)送的數(shù)據(jù)都將被傳送到組中所有的成員。數(shù)據(jù)報的發(fā)送者需指定一個多播地址為目的地址,向該多播地址發(fā)送數(shù)據(jù)即可。數(shù)據(jù)的接收者可以通過分組原地址端口來區(qū)別發(fā)送源。 在系統(tǒng)實現(xiàn)時,采取了一些有效的措施以提高系統(tǒng)整體的效率和效能。為了保證服務(wù)器端和客戶端傳遞握手信號和控制命令的可靠性,采用可靠的TCP協(xié)議,以確??蛻舳说恼埱竽軌驕?zhǔn)確地到達服務(wù)器端并得到響應(yīng)。在實現(xiàn)時,為了提高系統(tǒng)資源的使用效率,采用請求——應(yīng)答的方式:每當(dāng)新客戶欲查看監(jiān)控圖像時,必須向服務(wù)器發(fā)出請求,服務(wù)器將該客戶加入用戶使用紀(jì)錄表里;在客戶端離開多播組時也必須發(fā)出離開信息,服務(wù)器實時更改用戶使用紀(jì)錄表,以便能夠準(zhǔn)確地了解當(dāng)前客戶的情況,合理分配系統(tǒng)資源。為了減少客戶間的沖突,視頻服務(wù)程序為每個視頻通道分配一個組播地址,查看同一通道的客戶加入到同一組播組,如果切換到其它通道,則必須先離開當(dāng)前的多播組,然后加入新的多播組。 4、軟件實現(xiàn) 系統(tǒng)的網(wǎng)絡(luò)服務(wù)部分的程序框圖如圖4所示。其中,主線程始終在偵聽客戶端的請求,為每一個新的聯(lián)接請求創(chuàng)建一個接受線程。接受線程負責(zé)與其對應(yīng)的客戶端進行數(shù)據(jù)通信。 與AD196通信的部分代碼如下: 1)切換攝像機圖像到當(dāng)前的視頻通道。發(fā)送切換視頻通道報文“*Ma”,“*”號代表所選定的視頻通道;發(fā)送切換攝像機報文“*#a”,“*”號代表選定的攝像機。 … … // 發(fā)送切換Camera報文 // 1. select channel DataSnd = strMonNum + "Ma"; m_SASComm.SetOutput(COleVariant(DataSnd)); //將Cstring型賦給COleVariant, //以文本形式發(fā)送數(shù)據(jù) // 2. select camera DataSnd = strCamNum + "#a"; m_SASComm.SetOutput(COleVariant(DataSnd)); … …. 2)控制云臺運動。串口發(fā)送云臺運動報文,例如云臺向左轉(zhuǎn)報文“2La”。 // 控制云臺向左 void CAVDlg::OnPanleft() { // TODO: Add your control notification handler code here m_BPanLeft.flag = 1; //向左轉(zhuǎn)的標(biāo)志 CString DataSnd; if (m_SASComm.GetPortOpen()) { DataSnd = "2La"; //以2級的速度向左轉(zhuǎn) m_SASComm.SetOutput(COleVariant(DataSnd)); } if (m_BPanLeft.flag = 0) { DataSnd = "0La"; //發(fā)送停止向左轉(zhuǎn)的命令 m_SASComm.SetOutput(COleVariant(DataSnd)); } } 圖4 網(wǎng)絡(luò)服務(wù)程序框圖 5、結(jié)束語 本文所介紹的視頻服務(wù)器系統(tǒng)已成功用于某供電公司調(diào)度大樓的智能樓宇集成系統(tǒng)中,并取得了較好的效果??蛻魹g覽器顯示的圖像較流暢,局域網(wǎng)條件下圖像幀率可達到10-15幀/秒,而且可以同時滿足多個客戶的連接請求。本系統(tǒng)開發(fā)環(huán)境為Visual C++6.0,運行的平臺為windows2000professial /天敏SDK2000圖像采集卡。由于本系統(tǒng)的靈活性高,系統(tǒng)的可擴展性高,如可方便地增加圖像監(jiān)視報警等功能。 參考文獻 1、劉富強著. 數(shù)字視頻監(jiān)控系統(tǒng)的開發(fā)及應(yīng)用 機械工業(yè)出版社 2003. 2、《AXIS 視頻服務(wù)器管理手冊》,瑞典AXIS公司。 3、《臺灣一碩PIXORD系列視頻服務(wù)器手冊》,南京數(shù)怡通科技有限公司 4、張有為. 多組IP組播在視頻監(jiān)控系統(tǒng)中的應(yīng)用. 計算機應(yīng)用 2003.5 5、王選龍等. 智能建筑物信息管理系統(tǒng)中的系統(tǒng)集成軟件開發(fā) 工業(yè)控制計算機 2003.11 6、美]Beau Williamson 著 顧金星等譯. IP組播網(wǎng)絡(luò)設(shè)計開發(fā)(第一卷)[電子工業(yè)出版社 7、(美) Douglas E. Comer著 .用TCP/IP進行網(wǎng)際互聯(lián) -電子工業(yè)出版社 8、王險峰, 劉寶宏編著 .Windows環(huán)境下的多線程編程原理與應(yīng)用 清華大學(xué)出版社

標(biāo)簽:

點贊

分享到:

上一篇:基于C8051F的SMBus實現(xiàn)智能測...

下一篇:微能WIN-V63矢量控制變頻器在...

中國傳動網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動網(wǎng)(www.wangxinlc.cn)獨家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉(zhuǎn)載使用時須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負版權(quán)法律責(zé)任。

相關(guān)資訊

網(wǎng)站簡介|會員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見反饋|sitemap

傳動網(wǎng)-工業(yè)自動化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺

網(wǎng)站客服服務(wù)咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2025 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權(quán)所有
粵ICP備 14004826號 | 營業(yè)執(zhí)照證書 | 不良信息舉報中心 | 粵公網(wǎng)安備 44030402000946號