版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 . PAGE29 / NUMPAGES33畢業(yè)設計視頻監(jiān)控系統(tǒng)的客戶端設計摘 要隨著人們對安全的需求日益強烈,視頻監(jiān)控系統(tǒng)作為一種安全防的有效手段,越來越受到各界的廣泛關注。且隨著信息、網(wǎng)絡、通信與多媒體等技術滲透到人類生活的各個領域的同時,視頻監(jiān)控也開始走進人們的生活,對視頻監(jiān)控的研究由此成為熱點?;谇度胧降木W(wǎng)絡數(shù)字視頻監(jiān)控技術與互聯(lián)網(wǎng)有機結合,且融合了信息技術、計算機技術、網(wǎng)絡技術以與流媒體技術,己成為監(jiān)控領域的一個發(fā)展趨勢。因此嵌入式網(wǎng)絡數(shù)字視頻監(jiān)控軟件的研究將有著廣闊的應用前景和巨大的社會效益與經濟效益。文章的核心容是客戶端軟件系統(tǒng)的設計與實現(xiàn)。本文基于面向對象的設計思想和模塊化的
2、軟件設計思想對客戶端軟件系統(tǒng)進行了模塊的劃分和細化,依次介紹了各子系統(tǒng)的設計和主要功能函數(shù)的設計,其中包括以下重要容:網(wǎng)絡客戶端登陸;網(wǎng)絡客戶端視頻預覽;網(wǎng)絡客戶端視頻下載;網(wǎng)絡客戶端視頻播放。文章中的視頻監(jiān)控系統(tǒng)客戶端的編程實現(xiàn)使用VC+語言開發(fā),結合視頻標準的相關知識,并且采用??低暤牟杉ê烷_發(fā)包。本文涉與的工作是對監(jiān)控中心的實現(xiàn)進行研究和實踐,它提出的設計思想和實現(xiàn)方式有一定代表性,對相關領域的設計是具有一定借鑒意義的。關鍵詞:視頻監(jiān)控,客戶端,視頻預覽,視頻下載AbstractAs people increasingly strong demand for security, Vi
3、deo Surveillance as a safe and effective means of prevention is becoming more and more public attention. With the information, network, communications and multimedia technologies permeate all areas of human life, video surveillance has also begun into peoples lives。Video Surveillance is becoming a h
4、ot spot.Based on embedded digital and network , video surveillance technology combine the Internet and the advanced information technology, computer technology, network technology and streaming media technology.Video surveillance has been becoming a trend in the monitoring field. Therefore, digital
5、video surveillance software embedded network research will have broad application prospects and enormous social and economic benefits.The core content of the article is the client software system design and implementation.Based on object-oriented design and modular software design software on the cl
6、ient system and refining division of the module, in turn, introduced the various subsystems of the design and main functions of the design function, including the following key elements: Network Client Login; Network Client main interface design; main interface of the system settings; video file pla
7、yback; video file retrieval.The video surveillance system client programming use VC+ means. Combined with knowledge of video standards, skilled use of DirectX, and using Hikvision capture card and Development Kit.This work involved monitoring center is the realization of research and practice, it ra
8、ises the design and implementation methods have some representation on the design of related fields is a certain reference significance.Keywords: Video Surveillance, Client ,Video Preview,Video Download目 錄TOC o 1-3 h z uHYPERLINK l _Toc264360170摘要 PAGEREF _Toc264360170 h IHYPERLINK l _Toc264360171Ab
9、stract PAGEREF _Toc264360171 h IIHYPERLINK l _Toc2643601721 緒論 PAGEREF _Toc264360172 h 1HYPERLINK l _Toc2643601731.1課題背景與意義 PAGEREF _Toc264360173 h 1HYPERLINK l _Toc2643601741.2監(jiān)控系統(tǒng)的發(fā)展歷程 PAGEREF _Toc264360174 h 1HYPERLINK l _Toc2643601751.3視頻監(jiān)控系統(tǒng)的現(xiàn)狀和發(fā)展方向 PAGEREF _Toc264360175 h 3HYPERLINK l _Toc2643
10、601761.4論文容 PAGEREF _Toc264360176 h 4HYPERLINK l _Toc2643601772視頻監(jiān)控系統(tǒng)介紹 PAGEREF _Toc264360177 h 5HYPERLINK l _Toc2643601782.1視頻監(jiān)控系統(tǒng)的開發(fā)環(huán)境 PAGEREF _Toc264360178 h 5HYPERLINK l _Toc2643601792.1.1視頻監(jiān)控系統(tǒng)播放器開發(fā)硬件環(huán)境 PAGEREF _Toc264360179 h 5HYPERLINK l _Toc2643601802.1.2視頻監(jiān)控系統(tǒng)播放器開發(fā)操作系統(tǒng)選擇 PAGEREF _Toc2643601
11、80 h 5HYPERLINK l _Toc2643601812.1.3視頻監(jiān)控系統(tǒng)播放器開發(fā)工具選擇 PAGEREF _Toc264360181 h 6HYPERLINK l _Toc2643601822.2視頻監(jiān)控系統(tǒng)簡介 PAGEREF _Toc264360182 h 6HYPERLINK l _Toc2643601832.3視頻監(jiān)控系統(tǒng)客戶端介紹 PAGEREF _Toc264360183 h 7HYPERLINK l _Toc2643601842.3.1用戶登錄功能 PAGEREF _Toc264360184 h 8HYPERLINK l _Toc2643601852.3.2視頻預覽
12、(實時監(jiān)控)功能 PAGEREF _Toc264360185 h 8HYPERLINK l _Toc2643601862.3.3視頻下載功能 PAGEREF _Toc264360186 h 8HYPERLINK l _Toc2643601872.3.4視頻播放功能 PAGEREF _Toc264360187 h 9HYPERLINK l _Toc2643601883視頻監(jiān)控系統(tǒng)客戶端分析與設計 PAGEREF _Toc264360188 h 10HYPERLINK l _Toc2643601893.1系統(tǒng)總體功能需求 PAGEREF _Toc264360189 h 10HYPERLINK l
13、_Toc2643601903.2系統(tǒng)客戶端函數(shù)設計 PAGEREF _Toc264360190 h 10HYPERLINK l _Toc2643601913.2.1客戶端函數(shù)說明 PAGEREF _Toc264360191 h 11HYPERLINK l _Toc2643601923.2.2客戶端函數(shù)調用順序說明 PAGEREF _Toc264360192 h 13HYPERLINK l _Toc2643601933.3客戶端關鍵技術 PAGEREF _Toc264360193 h 14HYPERLINK l _Toc2643601943.3.1基類CVideoCaptureCard的設計 P
14、AGEREF _Toc264360194 h 14HYPERLINK l _Toc2643601953.3.2關鍵類DownloadThread的設計 PAGEREF _Toc264360195 h 15HYPERLINK l _Toc2643601964視頻監(jiān)控系統(tǒng)客戶端的開發(fā)實現(xiàn) PAGEREF _Toc264360196 h 17HYPERLINK l _Toc2643601974.1客戶端登錄 PAGEREF _Toc264360197 h 17HYPERLINK l _Toc2643601984.2視頻預覽 PAGEREF _Toc264360198 h 18HYPERLINK l
15、_Toc2643601994.3視頻文件的下載 PAGEREF _Toc264360199 h 20HYPERLINK l _Toc2643602004.4視頻文件播放 PAGEREF _Toc264360200 h 26HYPERLINK l _Toc2643602015全文總結和展望 PAGEREF _Toc264360201 h 28HYPERLINK l _Toc2643602025.1全文總結 PAGEREF _Toc264360202 h 28HYPERLINK l _Toc2643602035.2下一步工作展望 PAGEREF _Toc264360203 h 29HYPERLIN
16、K l _Toc264360204參考文獻 PAGEREF _Toc264360204 h 30HYPERLINK l _Toc264360205致 PAGEREF _Toc264360205 h 311 緒論1.1課題背景與意義隨著國民經濟和科學技術的發(fā)展以與人民生活水平的提高,人們對日常工作的條件和環(huán)境的要求也在不斷增加。這種情況下,對于以往一些工作環(huán)境惡劣,地理位置較遠或者有可能危與人身健康甚至生命的場合,采用無人職守作業(yè)的需求就日益突出了。無人職守作業(yè)已經成為許多行業(yè)的迫切需要。鑒于現(xiàn)今各行業(yè)的安全要求,如果每天二十四小時派人去進行現(xiàn)場值班工作既浪費人力物力財力,也不便于管理和處理突發(fā)
17、情況,所以用于遠程的視頻監(jiān)控系統(tǒng)的設計就被提出。通過公用或者專用網(wǎng)絡,將遠程現(xiàn)場展現(xiàn)在遠端控制中心值班人員面前或者對遠程現(xiàn)場情況進行實時錄像。開發(fā)具有這樣功能的一個監(jiān)控系統(tǒng),可以大大提高系統(tǒng)的工作效率,減少開銷,確保安全。將系統(tǒng)稍作改動,也可用于其它遠程監(jiān)控現(xiàn)場的應用。這些年,隨著國民經濟的發(fā)展,視頻監(jiān)控系統(tǒng)的應用已經越來越廣泛。視頻監(jiān)控系統(tǒng)以其直觀、方便、信息容豐富等特征而被廣泛應用于工業(yè)生產、交通等場所。它正從傳統(tǒng)的安防監(jiān)控向管理、生產監(jiān)控發(fā)展,并逐步與管理信息系統(tǒng)相結合,達到資源共享,為管理者提供更直觀、更有效的決策信息。課題主要目的是開發(fā)出一套可靠性高、價格較低、使用簡便的網(wǎng)絡視頻監(jiān)控
18、系統(tǒng),適用于中小型企業(yè)應用。1.2監(jiān)控系統(tǒng)的發(fā)展歷程視頻監(jiān)控的發(fā)展經歷了三個不同階段,即第一代模擬圖像監(jiān)控,第二代基于PC機的多媒體監(jiān)控,第三代基于嵌入式網(wǎng)絡視頻服務器技術的網(wǎng)絡視頻監(jiān)控。20世紀90年代初與其以前,主要是以模擬設備為主的閉路系統(tǒng),稱為第一代視頻監(jiān)控系統(tǒng),即模擬圖像監(jiān)控系統(tǒng)。典型的模擬監(jiān)控系統(tǒng)一般由圖像攝影部分(模擬攝像機、鏡頭,云臺、麥克風等)、圖像傳輸部分(電纜、光纜、射頻)、視頻控制部分(操作鍵盤、視頻分配器、視頻矩陣切換器、云臺控制器、字符疊加器等)和顯示記錄部分(視頻矩陣,監(jiān)控器,錄像機等組成)組成。最簡單的監(jiān)控系統(tǒng)是由一架攝像機和一臺監(jiān)視器組成,中間用傳輸線連接。第
19、一代系統(tǒng)的主要優(yōu)點是實現(xiàn)方法簡單。但是,其缺點非常明顯3:它采用同軸電纜傳輸,傳輸距離近,布線復雜,設備、材料費用高,施工困難;另外,由于視頻圖像是模擬的,圖像數(shù)據(jù)量大,錄像時間短,而長時間錄像時錄像機存儲丟失的信息多、由于模擬信號很容易受到干擾,導致圖像質量差;其順序存儲的方式又使得查詢速度慢;擴展能力差,如果要新增監(jiān)控點,往往是牽一發(fā)而動全身,新的設備很難添加到原有的系統(tǒng)中。20世紀90年代中期,計算機處理能力的提高和視頻技術的發(fā)展尤其是視頻壓縮編解碼技術的出現(xiàn)和發(fā)展,使數(shù)字視頻的存儲和傳輸成為可能。人們利用計算機的高速數(shù)據(jù)處理能力進行視頻的采集、顯示、壓縮等處理,利用顯示器的高分辨率實現(xiàn)
20、圖像的多畫面顯示,采用大容量的計算機硬盤存儲視頻數(shù)據(jù),從而大大提高了圖像質量,增強了視頻監(jiān)控的功能。這類系統(tǒng)即第二代基于PC機的多媒體監(jiān)控系統(tǒng)。第二代系統(tǒng)由于需要利用專用壓縮/解壓卡對視頻信號進行壓縮和解壓處理4,所以使監(jiān)控系統(tǒng)體積較大,功耗較高;監(jiān)控現(xiàn)場需要專人職守,維護煩瑣;實時性不高和穩(wěn)定性差;成本較高;可擴展性差,采用專用的壓縮卡和解壓縮卡對視頻數(shù)據(jù)進行壓縮和解壓縮,只能支持一種編碼格式,無法提供對其他編碼方式的支持。隨著芯片、網(wǎng)絡技術的進步,現(xiàn)在出現(xiàn)了一種新型的網(wǎng)絡視頻監(jiān)控系統(tǒng),即第三代基于嵌入式網(wǎng)絡視頻服務器技術的網(wǎng)絡視頻監(jiān)控系統(tǒng)?;谇度胧骄W(wǎng)絡視頻服務器技術的網(wǎng)絡監(jiān)控系統(tǒng)主要的原
21、理是:采用嵌入式實時多任務操作系統(tǒng),高效壓縮芯片和功能強大的CPU,將視頻壓縮與傳輸處理工作全部置到芯片上。網(wǎng)絡上用戶可以通過專用軟件或者直接用瀏覽器觀看Web服務器上的攝像機圖像,授權用戶可以控制攝像機云臺鏡頭的動作和對系統(tǒng)配置進行操作。采用嵌入式操作系統(tǒng),大大提高了系統(tǒng)的穩(wěn)定性和實時性。由于這種系統(tǒng)的硬件是一個同處理器和操作系統(tǒng)捆綁較為緊密、功能專一、設計專門的獨立的設備,不像插卡系統(tǒng)那樣受通用計算機系統(tǒng)中其它軟硬件的影響,因此性能上更穩(wěn)定,且便于安裝、維護,易于實現(xiàn)系統(tǒng)的模塊化設計,便于管理維護。硬盤錄像和回放基本上可以達到實時的效果且錄像清晰度較高。把視頻壓縮和網(wǎng)絡傳輸功能集成到一個體
22、積很小的設備,可以直接連入以太網(wǎng),達到即插即用,省掉各種復雜的電纜,安裝方便,無需專人職守。在監(jiān)控終端,遠程監(jiān)控人員只需要擁有一臺安裝了監(jiān)控軟件的PC機,無需安裝特殊的硬件設備,就可以在世界任何一個可以接入Internet的地方,對監(jiān)控現(xiàn)場進行實時遠程監(jiān)控。大大降低了系統(tǒng)成本,極方便了整個監(jiān)控系統(tǒng)的操作和維護。這種架構發(fā)展較晚,但由于其顯著的優(yōu)點即將在市場上取得大規(guī)模的應用。1.3視頻監(jiān)控系統(tǒng)的現(xiàn)狀和發(fā)展方向在國外市場上,主要推出數(shù)字控制的模擬視頻監(jiān)控和數(shù)字視頻監(jiān)控兩類產品。前者經過幾十年的發(fā)展,技術已經非常成熟,其性能穩(wěn)定,在實際工程中有十分廣泛的應用,特別是在大、中型視頻監(jiān)控工程中的應用尤
23、為廣泛。但是由于對圖像的處理和傳送均采用模擬技術,不僅圖象質量低,而且系統(tǒng)資源浪費嚴重,不易組成復雜的網(wǎng)絡結構,監(jiān)控功能可擴展性差。隨著數(shù)字技術的迅猛發(fā)展,網(wǎng)絡技術的不斷發(fā)展和進步,圖像信息的數(shù)字編碼處理模式的不斷增加,使新一代數(shù)字視頻監(jiān)控系統(tǒng)日益顯示出其獨特的魅力。近年來國際標準化組織(ISO)、國際電工委員會(IEC)為數(shù)字圖像的處理和傳輸建立了一套國際統(tǒng)一的相關標準,如MPEG-1、MPEG-2、MPEG-4等數(shù)字視頻編解碼標準,為數(shù)字視頻監(jiān)控建立了國際統(tǒng)一的技術規(guī),更加促進了該類系統(tǒng)的產業(yè)化發(fā)展。數(shù)字視頻監(jiān)控系統(tǒng)解決了模擬系統(tǒng)部分弊端,但仍需進一步完善和發(fā)展。目前,視頻監(jiān)控系統(tǒng)正處在數(shù)
24、控模擬系統(tǒng)與數(shù)字系統(tǒng)混合應用并將逐漸向數(shù)字系統(tǒng)過渡的階段。 前端一體化、視頻數(shù)字化、監(jiān)控網(wǎng)絡化、系統(tǒng)集成化是視頻監(jiān)控系統(tǒng)公認的發(fā)展方向,而數(shù)字化是網(wǎng)絡化的前提,網(wǎng)絡化又是系統(tǒng)集成化的基礎,所以,視頻監(jiān)控發(fā)展的最大兩個特點就是數(shù)字化和網(wǎng)絡化。數(shù)字化:數(shù)字化是21 世紀的特征,是以信息術發(fā)展的必然,數(shù)字化是邁向成長的通行證,隨著時代的發(fā)展,我們的生存環(huán)境將變得越來越數(shù)字化。視頻監(jiān)控系統(tǒng)的數(shù)字化首先應該是系統(tǒng)息流(包括視頻、音頻、控制等)從模擬狀態(tài)轉為數(shù)字狀態(tài),這將徹底打破“經典閉路電視系統(tǒng)是以攝像機成像技術為中心”的結構,根本上改變視頻監(jiān)控系統(tǒng)從信息采集、數(shù)據(jù)處理、傳輸、系統(tǒng)控制等的方式和結構形式
25、。網(wǎng)絡化:視頻監(jiān)控系統(tǒng)的網(wǎng)絡化將意味著系統(tǒng)的結構將由集總式向集散式系統(tǒng)過渡。集散式系統(tǒng)采用多層分級的結構形式,具有微核技術的實時多任務、多用戶、分布式操作系統(tǒng),以實現(xiàn)搶先任務調度算法的快速響應。視頻監(jiān)控系統(tǒng)的網(wǎng)絡化是遠程視頻監(jiān)控系統(tǒng)今后發(fā)展的主要目標之一,系統(tǒng)網(wǎng)絡化將實現(xiàn)整個網(wǎng)絡系統(tǒng)硬件和軟件資源共享以與任務和負載共享。提高網(wǎng)絡的利用效率,這也促使視頻監(jiān)控系統(tǒng)成為新的網(wǎng)絡應用熱點。1.4論文容本文容安排如下: 第一章 緒論。了解課題開發(fā)背景與意義,并介紹了視頻監(jiān)控的發(fā)展歷程與趨勢。 第二章 視頻監(jiān)控系統(tǒng)系統(tǒng)介紹。首先了解課題的開發(fā)環(huán)境,隨后介紹課題開發(fā)的視頻監(jiān)控系統(tǒng),并詳細介紹論文有關的客戶端
26、設計。 第三章 視頻監(jiān)控系統(tǒng)客戶端分析與設計。給出了系統(tǒng)的結構方案設計,重點介紹了系統(tǒng)的基本設計思想以與視頻播放解碼CVideoCaptureCard類的設計;第四章 視頻監(jiān)控系統(tǒng)客戶端的開發(fā)實現(xiàn)。編程實現(xiàn)客戶段用戶登錄、視頻預覽、視頻下載播放三個功能;第五章 論文最后對課題進行了總結,并作了展望。2視頻監(jiān)控系統(tǒng)介紹視頻監(jiān)控中心配備一臺視頻監(jiān)控平臺,可同時支持多個遠端編碼器,在視頻監(jiān)控平臺中集成了多路視頻解碼單元,直接把管理員選擇的線路圖像傳遞到電視墻。配備一臺或多臺數(shù)字錄像服務器,作為整個監(jiān)控系統(tǒng)的錄像與點播服務器。配置一臺網(wǎng)管服務器,提供全程網(wǎng)管服務,同時提供WEB服務,桌面終端可以通過以
27、太網(wǎng)訪問任意線路的監(jiān)控圖像,并可通過授權進行遠程遙控。2.1視頻監(jiān)控系統(tǒng)的開發(fā)環(huán)境2.1.1視頻監(jiān)控系統(tǒng)播放器開發(fā)硬件環(huán)境表 2 SEQ 表格 * ARABIC s 11 開發(fā)環(huán)境基本配置類別標準配置計算機硬件CPU 英特爾酷睿雙核2.0G存 2G顯卡 支持 HDMI高清寬屏液晶顯示視頻采集卡 支持多路(16-64)視頻信號的同時采集顯示器 支持高清的液晶電視標準輸入輸出設備,如鍵盤、鼠標CD-ROM或DVD-ROM驅動器軟件操作系統(tǒng):Windows 2000/XP與以上版本網(wǎng)絡通信TCP/IP網(wǎng)絡其它視頻監(jiān)控系統(tǒng)具體配置取決與實際應用的需要。視頻監(jiān)控錄像系統(tǒng)通常均為多路輸入系統(tǒng),視頻采集卡可
28、采用多卡方式,也可采用單卡方式。一般說,單卡方式集成度高,穩(wěn)定性會優(yōu)于多卡方式。目前市場上也有為追求高幀數(shù)而設計采用多卡進行迭加的多路單卡設備,但其仍在計算機的總線上進行傳輸、處理,不可能會有質的飛躍。2.1.2視頻監(jiān)控系統(tǒng)播放器開發(fā)操作系統(tǒng)選擇視頻監(jiān)控系統(tǒng)應采用Windows 2000/XP與以上版本,該系統(tǒng)是一個32位的操作系統(tǒng),具有強大的多媒體處理能力,并且能夠很好地支持各種網(wǎng)絡協(xié)議以與硬件的即插即用、搶占式多任務功能。Windows 2000系統(tǒng)經過微軟公司地不斷改進和完善,現(xiàn)在已經是一個比較完善和穩(wěn)定的操作系統(tǒng),在PC市場上有廣泛的應用。2.1.3視頻監(jiān)控系統(tǒng)播放器開發(fā)工具選擇目前軟
29、件開發(fā)工具種類有很多,我們選擇Microsoft的Visual C+6.0作為開發(fā)工具。因為這種開發(fā)工具和操作系統(tǒng)都出自同一家軟件公司,有利于系統(tǒng)集成,有利于系統(tǒng)的穩(wěn)定;同時Visual C+具有很好的執(zhí)行效率,支持多線程,對多媒體有很強的支持能力,并能夠很好地對硬件進行各種操作。選用Visual C+一個很重要的原因就是其具備面向對象開發(fā)特征,面向對象的設計方法是近年來發(fā)展起來的一種新的程序設計技術,其基本思想是將軟件系統(tǒng)所面對的問題,按其自然屬性進行分割,按人們通常的思維方式進行描述,建立每個對象的模型和聯(lián)系,設計盡可能直接、自然地表現(xiàn)問題求解的軟件,整個軟件系統(tǒng)只由對象組成,對象間聯(lián)系通
30、過消息進行。用類和繼承描述對象,并建立求解模型,描述軟件系統(tǒng)。對象是事物的抽象單位,具有部狀態(tài)、性質、知識和處理能力,通過消息傳遞與其它對象相聯(lián)系,是構成系統(tǒng)的元素。消息是請求對象執(zhí)行某一處理或回答某些信息的指令流,用以統(tǒng)一數(shù)據(jù)層和控制層,將對象劃分為不同層次,這種層次結構具有繼承性,子類繼承其父類的全部描述。面向對象的設計方法,更接近于面向問題而不是對程序的描述,軟件設計帶有智能化的性質,這種形式更便于程序設計人員與應用人員的交流,軟件設計更具有普遍意義,尤其是在地理信息系統(tǒng)的智能化和專家系統(tǒng)技術不斷提高的形勢下,面向對象的程序設計是更有效的途徑,因此在我們的設計工作中我們主要應用了面向對象
31、的設計方法。2.2視頻監(jiān)控系統(tǒng)簡介系統(tǒng)包含顯示模塊、錄像存儲與回放模塊、網(wǎng)絡支持模塊,IP視頻信號支持模塊,硬解碼模塊,云臺控制模塊,設備管理模塊,用戶管理模塊,日志管理模塊,報警聯(lián)動模塊,矩陣級聯(lián)模塊。在目前的道路交通監(jiān)控系統(tǒng)中,對視頻監(jiān)控信號的顯示多數(shù)采用電視墻的形式。隨著監(jiān)控攝像頭數(shù)量的增加,視頻信號的路數(shù)也大幅度的增加,所以不可能將所有的視頻信號同時顯示在電視墻上,必須選擇切換信號。因此,針對目前的這種情況,對于現(xiàn)在新上的和一些需要更新的監(jiān)控系統(tǒng),更合理和經濟有效的方法是采用大屏幕的液晶或者等離子顯示器,將多路信號同時在一個大屏幕上顯示。圖2.1 視頻監(jiān)控系統(tǒng)框架要實現(xiàn)應用大屏幕對多路
32、信號的顯示,需要開發(fā)全新的軟件系統(tǒng)。軟件系統(tǒng)需要解決的一個難點問題是:目前監(jiān)控攝像頭的視頻信號的比例大都是4:3的,而大屏幕的液晶或等離子顯示器的比例是16:9的,因此當在大屏幕上顯示單個或者其他多個視屏信號時(如4個、9個、16個等)的時候,視頻信號直接鋪滿全屏顯示就會出現(xiàn)拉伸形變現(xiàn)象,所以必須對多路的輸入信號進行切分與合成處理,如圖1中所示的16路信號。2.3視頻監(jiān)控系統(tǒng)客戶端介紹客戶端可以是監(jiān)控子網(wǎng)(監(jiān)控中心所處的局域網(wǎng)稱為監(jiān)控子網(wǎng))或者企業(yè)MIS網(wǎng)甚至Internet上的任意一臺機器。本論文主要涉與視頻預覽、視頻檢索下載與視頻文件播放模塊。2.3.1用戶登錄功能用戶登錄即位系統(tǒng)權限用戶
33、為進入謀一項應用程序而進行的一項基本操作,以便該用戶在該系統(tǒng)上的相應操作。 用戶登錄功能可以有效的區(qū)分操作人是該程序的用戶還是非用戶,有利于保障雙方權益。輸入正確的用戶名和密碼。 系統(tǒng)驗證成功進入功能界面。 用戶根據(jù)自己權限進行某些操作。2.3.2視頻預覽(實時監(jiān)控)功能主要實現(xiàn)通道的視頻顯示,錄像,抓圖,云臺控制,退出,切換顯示方案等功能。畫面中最下面一行分為退出,切換顯示方案,切換畫面,全屏,錄像,抓圖。點擊不同的畫面按鈕,即可實現(xiàn)相應的畫面顯示。提供1/4/8/ /16多分屏畫面顯示。單畫面/多畫面切換、可以顯示任意畫面組合。自定義鏡頭分組或者選擇預定義鏡頭組,根據(jù)分組鏡頭數(shù)自適應畫面分
34、割。以當前分辨率手動截圖??尚薷慕貓D路徑和截圖文件名稱。本地手動錄像??尚薷氖謩愉浵衤窂胶褪謩愉浵裎募Q??芍С謴V域網(wǎng)、有路由器的網(wǎng)絡環(huán)境。2.3.3視頻下載功能首先檢索要下載的視頻文件。檢索分為檢索條件,檢索結果兩部分。檢索條件有三項,時間,通道,事件??梢栽O定檢索的起始時間,通道名稱,事件等。檢索結果顯示在檢索結果列表框中。按照時間,通道,事件等條件檢索視頻文件。執(zhí)行、停止或刪除下載任務。顯示下載任務當前狀態(tài)。設置下載文件存儲路徑。下載失敗后可多次重連。保存下載任務列表。2.3.4視頻播放功能打開視頻播放器VideoPlayer,選擇下載的視頻文件即可播放,也可對視頻文件進行剪切,操作和
35、服務端的操作一樣。打開視頻播放器VideoPlayer。選擇下載的視頻文件即可播放。3視頻監(jiān)控系統(tǒng)客戶端分析與設計3.1系統(tǒng)總體功能需求本視頻監(jiān)控系統(tǒng)是一個集實時數(shù)據(jù)傳輸處理和信息管理于一身的綜合應用系統(tǒng)。系統(tǒng)不僅需要能滿足遠程用戶瀏覽實時視頻、歷史錄像,控制云臺,處理音頻報警信息等基本要求,而且需要管理用戶登錄信息,設置不同的用戶權限,進行錄像管理,修改視頻服務器參數(shù)等。這里并不一一詳述功能需求,只做一個簡單歸納。圖3.1系統(tǒng)總體結構示意圖本文所涉與的客戶端系統(tǒng)功能有四大部分:客戶端用戶登錄、視頻預覽、視頻文件下載、視頻播放。3.2系統(tǒng)客戶端函數(shù)設計客戶端的軟件設計主要包括客戶端用戶登錄、視
36、頻預覽、視頻文件下載播放三大部分。3.2.1客戶端函數(shù)說明1. BOOL_stdcall MP4_ClientStartup(UINT nMessage,HWND hWnd); 對客戶端初始化。 返回 TRUE表示成功,返回 FALSE 表示失敗。 nMessage 表示對應接收程序的消息。 hWnd 表示應用程序窗口句柄。 注:在調用所有其他客戶端函數(shù)之前調用。2BOOL _stdcall MP4_ClientStartCapture(LONG StockHandle);開始客戶端的數(shù)據(jù)捕獲(回調方式,使用 MP4_ClientStart 中的 ReadDataCallBack函數(shù))。 St
37、ockHandle:MP4_ClientStart 成功返回的值。 返回 TRUE表示成功,返回 FALSE 表示失敗。 3BOOL _stdcall MP4_ClientStartCaptureFile(LONG StockHandle, LPTSTR FileName); 開始客戶端的數(shù)據(jù)捕獲(直接寫文件方式)。 StockHandle:MP4_ClientStart 成功返回的值。 FileName:文件名。 返回 TRUE表示成功,返回 FALSE 表示失敗。4BOOL _stdcall MP4_ClientAudioVolume(WORD wVolume); 設置當前播放器音量。返回
38、 TRUE表示成功,返回 FALSE 表示失敗。 wVolume:音量值(0-0 xffff) 5. BOOL _stdcall MP4_ClientAudioStart(LONG StockHandle); 選定某個播放器播放聲音,其他播放器靜止。 返回 TRUE表示成功,返回 FALSE 表示失敗。 StockHandle:MP4_ClientStart 成功返回的值。 6. BOOL _stdcall MP4_ClientSetBufferNum(LONG StockHandle,WORD wBufNum); 增加接收緩沖區(qū)大小。 StockHandle:MP4_ClientStart
39、成功返回的值。 wBufNum:增加緩沖區(qū)個數(shù),0-50。 返回 TRUE表示成功,返回 FALSE 表示失敗。 說明: WBufNum值每增加 1,表示接收緩沖區(qū)增加 1 幀的數(shù)據(jù)量。如果以 5 幀/秒的幀率播放,那么 WbufNum=5,表示增加了 5幀的緩沖區(qū)。 7. BOOL _stdcall MP4_ClientSetPlayDelay(LONG StockHandle,WORD DelayLen); 接收多少數(shù)據(jù)后才開始播放。 StockHandle:MP4_ClientStart 成功返回的值。 DelayLen:預先接收的數(shù)據(jù)量。單位:K。圍:0-600 返回 TRUE表示成功
40、,返回 FALSE 表示失敗。8. BOOL _stdcall MP4_ClientSetQuality(LONG StockHandle,WORD wPicQuality); 設置圖象質量。 StockHandle:MP4_ClientStart 成功返回的值。 wPicQuality:圖象質量。LOWQUALITY 表示低圖象質量,HIGHQUALITY 表示高圖象質量。 返回 TRUE表示成功,返回 FALSE 表示失敗。 說明:設置圖像質量,當設置成高質量時畫面效果好,但 CPU 利用率高。在支持多路播放時,可以設為低質量(LOWQUALITY),以降低 CPU利用率;當某路放大播放時
41、將該路設置成高質量(HIGHQUALITY),以達到好的畫面效果。9. BOOL _stdcall MP4_ClientSetCapPicCallBack(LONG StockHandle, void (CALLBACK* CapPicFun)(long StockHandle, char * pBuf, long nSize, long nWidth, long nHeight, long nStamp, long nType, long nReceaved); 設置抓圖回調函數(shù)。 StockHandle:MP4_ClientStart 成功返回的值。10.BOOL _stdcall MP4
42、_ClientSavePicFile(char * pBuf,long nSize,long nWidth,long nHeight,long nType,char *sFileName); 將抓圖得到的圖像數(shù)據(jù)保存成 BMP文件。 pBuf, nSize,nWidth,nHeight, nType 同抓圖回調函數(shù)中的參數(shù)。 sFileName 要保存的文件名。最好以 BMP 作為文件擴展名。 返回 TRUE表示成功,返回 FALSE 表示失敗。 說明: 保存函數(shù)需要占用的較多 cpu 資源,如果不需要保存圖片,則不要調用。3.2.2客戶端函數(shù)調用順序說明客戶端必須開始使用網(wǎng)絡開發(fā)包時,調用
43、MP4_ClientSetNetPort,之后調用 MP4_ClientStartup; 在結束使用網(wǎng)絡開發(fā)包時,調用 MP4_ClientCleanup。 以下函數(shù)在只能 MP4_ClientStart 之前調用: MP4_ClientSetShowMode; MP4_ClientSetTTL; 以下函數(shù)在只能 MP4_ClientStart 之后調用: MP4_ClientStartCapture; MP4_ClientStartCaptureFile; MP4_ClientAudioStart; MP4_ClientAudioVolume; MP4_ClientSetBufferNum;
44、 MP4_ClientSetPlayDelay; MP4_ClientSetQuality; MP4_ClientSetCapPicCallBack; MP4_ClientSavePicFile; 其他函數(shù)可以在 MP4_ClientStartup之后,MP4_ClientCleanup 之前的任何地方調用。3.3客戶端關鍵技術 圖3.2解碼流程圖3.3.1基類CVideoCaptureCard的設計class CVideoCaptureCard public:virtualint InitDSPs() = 0;virtualint DeInitDSPs()=0;virtualint GetT
45、otalChannels()=0;virtualint GetDecodeChannelCount()=0;virtual HANDLE ChannelOpen(int iChannel)=0;virtualint ChannelClose(int iChannel)=0;virtualint StartVideoPreview(int iChannel,HWND WndHandle, RECT *rect, int FrameRate, VideoPreviwMode iPreviwMode)=0;virtualint StopVideoPreview(int iChannel)=0;vir
46、tualint CaptureOriginalImage()=0;virtualint SetVideoFileTimeLength(float fTimeLength)=0;virtualint SetVideoQuality(int iChannel,VideoQuality videoQuality)=0;virtualint StartVideoCapture(int iChannel, CString strFilename)=0;virtualint StopVideoCapture(int iChannel)=0;virtualint SetVideoPreviewDatetim
47、e(int iChannel,bool bShowDatetime)=0;virtualint SetVideoPreviewDisplayInfo(int iChannel,CString strDisplayName,bool bShowDatetime,VideoPreviwMode iPreviwMode)=0;virtualintSetInputVideoPosition(int iChannel,UINT x,UINT y)=0;virtualint SetPreviewOverlayMode(bool bTrue)=0;virtualint SetOverlayColorKey(
48、COLORREF DestColorKey)=0;virtualvoid StartServer()=0;virtualvoid StopServer()=0;3.3.2關鍵類DownloadThread的設計class CDownloadThread : public CWinThreadDECLARE_DYNCREATE(CDownloadThread)protected:CInternetSession m_InternetSession;CFtpConnection *m_pFtpConnection;CFile m_File;CString m_strResult;void Down
49、loadFile(CString & source, CString & dest);/ Attributespublic:CDownloadThread(); / protected constructor used by dynamic creationvirtual CDownloadThread();CWnd m_wndDummy;/ Operationspublic:BOOL m_bTransferFailed;DWORD m_dwTransferType;BOOL CreateLocalDirectory(LPCTSTR lpszDirectory);void WaitForPro
50、gressDialog();CWnd *m_pTransferManager;CString m_strCurrentDirectory;CString GetLastError();CStringArray m_strLocalNames;CStringArray m_strRemoteNames;CString m_strLocalName;CString m_strRemoteName;CString m_strPassword;CString m_strUserName;CString m_strServerName;intm_nRetries;intm_nRetryDelay;int
51、m_nPort;intm_bUsePASVMode;DWORD m_nConnectionTimeout;DWORD m_dwFileLength;virtualvoid Delete();HANDLE m_hEventDead;HANDLE m_hEventKill;void KillThread();CProgressDlg m_ProgressDlg;char m_szStatus1024;/ Overrides/ ClassWizard generated virtual function overrides/AFX_VIRTUAL(CDownloadThread)public:vir
52、tual BOOL InitInstance();virtualint ExitInstance();/AFX_VIRTUAL/ Implementationprotected:BOOL m_bDirectoryCreated;void PostDownloadStatus(LPCTSTR lpszStatus);DECLARE_MESSAGE_MAP();4視頻監(jiān)控系統(tǒng)客戶端的開發(fā)實現(xiàn)4.1客戶端登錄填寫正確的用戶名,密碼。點擊確定,即可進入客戶端。如果用戶名或者密碼不正確,則彈出提示對話框。intnResponse=0;CDlgLogindlgLogin;boolbLogin=false;
53、while (!bLogin)nResponse = dlgLogin.DoModal();if (nResponse = IDOK)if (!ConnectDatabase(dlgLogin.m_strServer,sa,dlgLogin.m_strDBPWD,db_supervision)AfxMessageBox(Error Open Database!);returnfalse;/Check UserName and PasswordCStringstrRS=_T(select * from tblUser where user_name=);strRS+=dlgLogin.m_str
54、User;strRS+= and password=;strRS+=dlgLogin.m_strPWD;strRS+=;CADORecordsetadoRS(m_pAdoDB);adoRS.SetQuery(strRS);adoRS.Open();CStringstrName;if (adoRS.GetRecordCount()=0)AfxMessageBox(UserName or Password Incorrect!);elsebLogin=true;elseif (nResponse = IDCANCEL)returnFALSE;登錄界面設計:圖 4.1網(wǎng)絡客戶端登錄界面4.2視頻預覽
55、主要實現(xiàn)代碼:CLiveVideoDisplayWindow:CLiveVideoDisplayWindow(CVideoCaptureCard *pVideoCaptureCard, CLiveVideoDisplayScheme *pLiveVideoDisplayScheme ,CRect m_rectTotalDiplayRegion, MultiWindow iSubRectsNumber) :CMultiDisplayRect(m_rectTotalDiplayRegion,iSubRectsNumber)m_pVideoCaptureCard=pVideoCaptureCard;
56、m_pLiveVideoDisplayScheme=pLiveVideoDisplayScheme; m_iTotalChannels=m_pVideoCaptureCard-InitDSPs(); m_iTotalChannels=m_pVideoCaptureCard-GetTotalChannels(); m_iTotalChannels=16; m_iFisrtDisplayChannel=0;CLiveVideoDisplayWindow:CLiveVideoDisplayWindow()m_pVideoCaptureCard-DeInitDSPs();void CLiveVideo
57、DisplayWindow:StartVideoPreview(HWND hwnd)for (int i=0;i1.4)iVideoPreviwMode=VPM_SOURCE_RATIO; m_pVideoCaptureCard-StartVideoPreview(iChannel,m_pHandlei,GetSubWindowRect(i),30,iVideoPreviwMode);void CLiveVideoDisplayWindow:StopVideoPreview()for (int i=0;iStopVideoPreview(iChannel);void CLiveVideoDis
58、playWindow:SetFisrtDisplayChannel(int iFisrtDisplayChannel)m_iFisrtDisplayChannel=iFisrtDisplayChannel;void CLiveVideoDisplayWindow:SetHandle(int iSubWin, HWND handle)m_pHandleiSubWin=handle;客戶端主界面設計如下圖:圖4.2網(wǎng)絡客戶端主界面視頻顯示區(qū)域為圖4.2中的紅色方框的區(qū)域。 視頻顯示控制區(qū)域為。點擊相應的按鈕,視頻顯示區(qū)域分別顯示1,4畫面。點擊相應的按鈕,可以進行上下翻頁。4.3視頻文件的下載vo
59、id CClientSourceDlg:DoFileDownload(BOOL bShowFileDialog)/reload settingCString strPath;GetSettingFile(strPath); ReadSettingFromFile(strPath);CListBox *pListBox;CString strFile,strFileWithPath,strPlayer;pListBox=(CListBox*)GetDlgItem(IDC_LIST_SEARCH_RESULT);int index=pListBox-GetCurSel();if (LB_ERR=i
60、ndex)return;/ get selected itemsint nIndex = pListBox-GetCurSel();int nCount = 1; / not multi-selection BOOL bYesToAll = FALSE;/ download itemsif (nIndex != -1)/ get filename pListBox-GetText(index,strFile);CString strLocalName;if (bShowFileDialog)CFileDialog dlg(FALSE, 264, StringOrderDisplay2File(
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 大班健康預防疾病有妙招
- 2024模具加工與綠色制造技術合同3篇
- 第七章第一節(jié)認識有機化合物 說課稿 2024-2025學年高一下學期化學人教版(2019)必修第二冊001
- 2025海南建筑安全員-A證考試題庫及答案
- 2024年簡易倉儲租賃協(xié)議(工程用途)
- 員工奮斗培訓課件
- 二零二五年度地板打蠟與環(huán)保工藝合同3篇
- 2024投資基金風險控制管理合同書3篇
- 2021年高考語文考點總動員專題67-鑒賞文學作品的形象、語言和表達技巧之表現(xiàn)手法(解析版)
- 2024年甲乙雙方關于跨境電商平臺運營合作協(xié)議
- 高一期末家長會課件
- 2024年航空職業(yè)技能鑒定考試-航空乘務員危險品歷年考試高頻考點試題附帶答案
- 醫(yī)院禁毒行動方案
- 設立影視服務公司商業(yè)計劃書
- 《流行性腦脊髓膜炎》課件
- 《工程地質勘察 》課件
- 學生公寓物業(yè)服務方案投標方案(技術方案)
- 水上交通安全生產培訓
- 超聲影像學基礎
- 基礎會計(第六版) 課件 第6-9章 會計賬簿-會計核算程序
- 原有建筑保護施工方案范本
評論
0/150
提交評論