怎樣用VC實(shí)現(xiàn)視頻監(jiān)控_第1頁
怎樣用VC實(shí)現(xiàn)視頻監(jiān)控_第2頁
怎樣用VC實(shí)現(xiàn)視頻監(jiān)控_第3頁
怎樣用VC實(shí)現(xiàn)視頻監(jiān)控_第4頁
怎樣用VC實(shí)現(xiàn)視頻監(jiān)控_第5頁
已閱讀5頁,還剩9頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、用VC實(shí)現(xiàn)視頻監(jiān)控摘要:視頻監(jiān)控系統(tǒng)是以計(jì)算機(jī)為核心,結(jié)合多媒體技術(shù)、計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的一種監(jiān)控主機(jī)系統(tǒng)。本文介紹了數(shù)字視頻監(jiān)控錄像系統(tǒng),對其主機(jī)軟件部分多路監(jiān)視、動態(tài)監(jiān)測和視頻壓縮、傳輸?shù)葞讉€模塊的編程實(shí)現(xiàn)進(jìn)行詳細(xì)的討論。關(guān)鍵字: 視頻 監(jiān)控 多媒體 H.263中圖分類號:TP311.52文獻(xiàn)標(biāo)識碼:BDevelopment of Digital Video Surveillance Kinescope System with Visual C+Tian Guoguang 1 Ma Junying2 Luo Yuanhao 3 Pan Lideng 4(1,2,3,4 BeiJing Univ

2、ersity of Chemical Technology,BeiJing 100029)ABSTRACT:Video surveillance system, based on computer and combined with multimedia, network, is a kind of surveillance system. This paper introduces one video surveillance system, named Digital Video Surveillance Kinescope System, and gives tips to progra

3、m main function modules of the software on the system host computer.KEYWORDS:video, surveillance, multimedia,H.263引言近年來,隨著技術(shù)的進(jìn)步和社會經(jīng)濟(jì)的不斷進(jìn)展,客觀上對監(jiān)控系統(tǒng)的準(zhǔn)確性、有效性和方便性提出了更高要求。具體地講,要緊體現(xiàn)在以下兩個方面:一是需要實(shí)施視頻監(jiān)控的范圍更加寬敞,由傳統(tǒng)的安防監(jiān)控向治理監(jiān)控和生產(chǎn)經(jīng)營監(jiān)控進(jìn)展,而且對同一套系統(tǒng)的覆蓋面和實(shí)施距離也提出了更高的要求,通俗地講確實(shí)是要達(dá)到點(diǎn)多面廣。二是要求監(jiān)控系統(tǒng)與治理信息系統(tǒng)、網(wǎng)絡(luò)系統(tǒng)結(jié)合,實(shí)現(xiàn)對大量視頻數(shù)據(jù)的壓

4、縮存儲、傳輸和自動處理,從而達(dá)到資源共享,為各級治理人員和決策者提供方便、快捷、有效的服務(wù)。數(shù)字視頻監(jiān)控系統(tǒng)(以下簡稱監(jiān)控系統(tǒng))不僅符合信息產(chǎn)業(yè)的以后進(jìn)展趨勢,而且代表了監(jiān)控行業(yè)的以后進(jìn)展方向。監(jiān)控系統(tǒng)的分站設(shè)備要緊由前端設(shè)備和視頻編解碼器組成。前端設(shè)備,如監(jiān)控?cái)z象機(jī)(彩色或黑白、固定或活動云臺、定焦或變焦)、各類報(bào)警輸入/輸出裝置與傳統(tǒng)工業(yè)電視所使用的設(shè)備完全一致。監(jiān)控系統(tǒng)的主站設(shè)備由基于DS-1002視頻卡的軟件和硬件來實(shí)現(xiàn),支持PAL制式(25幀/秒)和NTSC制式(30幀/秒)的視頻采集,要緊實(shí)現(xiàn)對登錄用戶、分站設(shè)備的集中治理和視頻圖像壓縮/解壓,存儲等功能。 簡單的主站可一個或數(shù)個監(jiān)

5、控終端組成,它們往往以分時形式完成一對一或一對多的遙視監(jiān)控任務(wù)。假如需要實(shí)現(xiàn)報(bào)警、錄像等監(jiān)控任務(wù),主站設(shè)備可添加報(bào)警數(shù)據(jù)庫服務(wù)器、數(shù)字錄像數(shù)據(jù)庫服務(wù)器以及多個監(jiān)控終端和大量的輔助監(jiān)控終端。二、關(guān)鍵技術(shù)的編程實(shí)現(xiàn)本監(jiān)控系統(tǒng)主機(jī)軟件部分包括許多模塊,那個地點(diǎn)只介紹以下幾個功能模塊:多路監(jiān)視,動態(tài)監(jiān)測和網(wǎng)絡(luò)傳輸。多路監(jiān)視此模塊要緊運(yùn)用使用CSpillterWnd類來實(shí)現(xiàn)多視。(見圖1-1)在建立工程的第四步時,進(jìn)入高級設(shè)置(Advanced)對話框,選擇 Use split Window 選項(xiàng),其余設(shè)置參數(shù)默認(rèn)即可。假如在建立工程時未選擇上述設(shè)置,能夠在生成工程后,用類向?qū)?Class_Wizard

6、)生成函數(shù)OnCreateClient()。/分割視圖為44BOOL CChildFrame:OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)if(!(m_wndSplitter-CreateStatic( this, 4, 4)return FALSE;/4*4/確定每個視圖的大小CRect rectWnd;GetClientRect(rectWnd);GetParent()-GetClientRect(rectWnd);int row=(rectWnd.right-20)/4;/row 為視圖的列寬int col=(

7、rectWnd.bottom-40)/4;/col 為視圖的行寬/初始化每個視圖for(int i=0; i4; i+)for(int j=0; jCreateView( i, j,/靜態(tài)分割視圖RUNTIME_CLASS(CPortView), /CPortView為派生類CSize( row, col), /視圖的大小pContext);其中定義:CSplitterWnd *m_wndSplitter;CView CPortView; 圖1-1 監(jiān)控系統(tǒng)的主界面2. 顯示/播放函數(shù)StartOverlayVideo(HWND hParentWnd, /為Overlay窗口的窗口指針DWOR

8、D nPort, /通道號RECT WinRect, /為預(yù)覽窗口的區(qū)域ULONG FrameRate);/保留StartDirectVideo(DWORD nPort, /通道號RECT ScreenRect,/為預(yù)覽窗口的區(qū)域ULONG FrameRate);/保留是視頻卡的SDK提供預(yù)覽功能的兩個不同API函數(shù),在Overlay模式下整個界面只能支持一個OVERLAY表面,因此所有的預(yù)覽窗口(不一定是一個CWin的派生類,也能夠是一個區(qū)域)必須共享一個OVERLAY表面。DirectDraw模式預(yù)覽(Primary Surface)直接將視頻流寫到Primary Surface上。視頻畫

9、面將永久在最上層,可不能被其他窗口覆蓋,這種模式對顯卡的要求比較低。實(shí)現(xiàn)如下:if(m_bOpenPortportnum)/假如該通道差不多打開if(!m_bStartViewportnum)/假如該通道現(xiàn)在沒有預(yù)覽if(m_PreviewMode=OVERLAY_MODE)/ OVERLAY模式預(yù)覽m_pPortViewListportnum-GetParent()-ScreenToClient(&rectportnum);m_bStartViewportnum = StartOverlayVideo(m_pPortViewListportnum-GetParent()-m_hWnd,por

10、tnum,rectportnum,FRAME_RATE_DEFAULT);else/DirectDraw模式預(yù)覽m_bStartViewportnum = StartDirectVideo(portnum,rectportnum,FRAME_RATE_DEFAULT);3. 動態(tài)檢測動態(tài)檢測通過視頻卡來監(jiān)測圖象的運(yùn)動,節(jié)約了主機(jī)資源;其次,它不需要預(yù)覽畫面。每個通道能夠設(shè)定多達(dá)99個區(qū)域。當(dāng)某個區(qū)域發(fā)生變化時,通過CALLBACK機(jī)制或消息機(jī)制通知用戶程序。兩種方法的比較:消息機(jī)制下層(動態(tài)庫)將數(shù)據(jù)依照用戶傳遞的信息發(fā)送一個Windows消息,用戶截獲消息并分配空間,由下層負(fù)責(zé)將數(shù)據(jù)拷貝到用

11、戶空間,任由用戶處理,這種方法的優(yōu)點(diǎn)是系統(tǒng)可靠可不能堵塞下層線程的運(yùn)行,缺點(diǎn)是多了一次數(shù)據(jù)拷貝;回調(diào)(CALLBACK)機(jī)制當(dāng)有數(shù)據(jù)時,下層調(diào)用用戶的函數(shù),將下層存儲數(shù)據(jù)的內(nèi)存地址和大小傳遞給用戶,用戶在自己的函數(shù)中處理數(shù)據(jù),但用戶不能釋放掉這部分空間,同時要及時返回,這種方法的優(yōu)點(diǎn)是用戶不用再分配空間,少了一次內(nèi)存拷貝,節(jié)約了系統(tǒng)資源,同時不用自定義Windows消息,比較方便,缺點(diǎn)是,假如用戶不及時返回將會堵塞下層的線程,造成數(shù)據(jù)丟失。假如用戶釋放了由下層傳遞上來的地址空間,將產(chǎn)生不可預(yù)料的錯誤。實(shí)現(xiàn)如下:void CWatchDlg:StartStopMotion(DWORD nWind

12、ow)UpdateData(TRUE);DWORD nPort=m_nWindownWindow;if(m_bMotionnPort)/需要動態(tài)監(jiān)視的通道MOTION_RECT MotionRect;MotionRect.DetectRect=CRect(0,0,352,288);/監(jiān)測整個區(qū)域,PAL制。N制應(yīng)該是352*240;MotionRect.DetectSensitive=5;/靈敏度if(m_bMotionType)/消息機(jī)制StartMotionDetect_MSG(nPort,&MotionRect,1,WM_MOTION,m_hWnd);else/CALLBACK機(jī)制Sta

13、rtMotionDetect(nPort,&MotionRect,1,MotionDetectCallBack);/回調(diào)函數(shù)體;void CALLBACK MotionDetectCallBack(DWORD nPort,/通道號DWORD* pChange,/是否變化DWORD nRectNum)/監(jiān)測區(qū)域的個數(shù)/每個通道能夠設(shè)定多達(dá)99個區(qū)域if(m_nWindow0=(int)nPort)bChange0=1;/only one rect per port;elsebChange1=1;/消息響應(yīng)void CWatchDlg:OnMotionDetect(WPARAM wParam, L

14、PARAM lParam)/wParam是通道號,lParam是該通道的第幾個檢測區(qū)域。if(m_nWindow0=(int)wParam)bChange0=1;/only one rect per port;elsebChange1=1;視頻壓縮、傳輸視頻流采納H.263壓縮編碼。H.263是低碼率壓縮算法,以低于28.8Kbps的碼率對單幀或者活動視頻進(jìn)行壓縮解壓縮,能夠完成對圖像序列和活動視頻的實(shí)時H263采集、壓縮、解壓、回放以及視頻廣播。視頻流的傳輸過程(包括發(fā)送和接收)由程序的輔線程完成。采納異步傳輸和多緩沖的方式解決了本地播放和網(wǎng)絡(luò)播放的時刻差,專門好地抵消了網(wǎng)絡(luò)傳輸?shù)臅r刻滯后,

15、取得了良好的同步效果。視頻流數(shù)據(jù)時能夠依照帶寬和實(shí)時性選擇不同的網(wǎng)絡(luò)協(xié)議。對實(shí)時性要求較高的情況能夠選用RTP協(xié)議。在實(shí)時性要求不高的情況下采納UDP協(xié)議,在局域網(wǎng)中延遲可限制在500毫秒以內(nèi)。三、 結(jié)論本監(jiān)控系統(tǒng)針對LAN/WAN網(wǎng)絡(luò),集成了當(dāng)今代信息領(lǐng)域中的計(jì)算機(jī)網(wǎng)絡(luò)、遠(yuǎn)程通訊、數(shù)字化音視頻壓縮等高新技術(shù),以計(jì)算機(jī)網(wǎng)絡(luò)為平臺,一方面以更高質(zhì)量實(shí)現(xiàn)了傳統(tǒng)監(jiān)控系統(tǒng)的畫面分割、本地監(jiān)控、本地視頻錄像、本地視頻回放等功能,另一方面擴(kuò)充實(shí)現(xiàn)了本地多點(diǎn)分控、遠(yuǎn)程分控、音頻資料治理等功能,系統(tǒng)易于治理和維護(hù),滿足了企業(yè)內(nèi)部現(xiàn)代化治理的需求。本文提供的程序在Visual C+ 6.0下調(diào)試通過,在LAN環(huán)

16、境中運(yùn)行正常。參考文獻(xiàn)DOUGLAS E.COMER、DAVID L.STEVENS著,趙剛、林瑤、蔣慧等譯.用TCP/IP進(jìn)行網(wǎng)際互連第3卷:客戶機(jī)-服務(wù)器編程和應(yīng)用.電子工業(yè)出版社1998.06鐘玉琢,蔡蓮紅,史元春. 1999. 多媒體計(jì)算機(jī)技術(shù)基礎(chǔ)及應(yīng)用. 北京:高等教育出版社作者簡介:1. 田國光(1978.9-):男,漢族,山東濰坊人,北京化工大學(xué)信息學(xué)院在讀碩士,專業(yè):操縱理論與操縱工程,研究方向:模糊操縱。2. 馬俊英(1940-),女, 漢族,遼寧北寧人,1965年畢業(yè)于北京化工大學(xué)自動化專業(yè),現(xiàn)為北京化工大學(xué)自動化研究所教授,,從事建模、先進(jìn)操縱和在線優(yōu)化工作,已發(fā)表論文20多篇,合編著1本,合譯著2本。3. 羅元浩(1976.5

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論