




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、視頻監(jiān)控系統(tǒng)的客戶端設(shè)計(jì)視頻監(jiān)控系統(tǒng)的客戶端設(shè)計(jì)摘 要 隨著人們對安全的需求日益強(qiáng)烈,視頻監(jiān)控系統(tǒng)作為一種安全防范的有效手段,越來越受到各界的廣泛關(guān)注。且隨著信息、網(wǎng)絡(luò)、通信及多媒體等技術(shù)滲透到人類生活的各個領(lǐng)域的同時,視頻監(jiān)控也開始走進(jìn)人們的生活,對視頻監(jiān)控的研究由此成為熱點(diǎn)。基于嵌入式的網(wǎng)絡(luò)數(shù)字視頻監(jiān)控技術(shù)與互聯(lián)網(wǎng)有機(jī)結(jié)合,且融合了信息技術(shù)、計(jì)算機(jī)技術(shù)、網(wǎng)絡(luò)技術(shù)以及流媒體技術(shù),己成為監(jiān)控領(lǐng)域的一個發(fā)展趨勢。因此嵌入式網(wǎng)絡(luò)數(shù)字視頻監(jiān)控軟件的研究將有著廣闊的應(yīng)用前景和巨大的社會效益及經(jīng)濟(jì)效益。文章的核心內(nèi)容是客戶端軟件系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)。本文基于面向?qū)ο蟮脑O(shè)計(jì)思想和模塊化的軟件設(shè)計(jì)思想對客戶端軟
2、件系統(tǒng)進(jìn)行了模塊的劃分和細(xì)化,依次介紹了各子系統(tǒng)的設(shè)計(jì)和主要功能函數(shù)的設(shè)計(jì),其中包括以下重要內(nèi)容:網(wǎng)絡(luò)客戶端登陸;網(wǎng)絡(luò)客戶端視頻預(yù)覽;網(wǎng)絡(luò)客戶端視頻下載;網(wǎng)絡(luò)客戶端視頻播放。文章中的視頻監(jiān)控系統(tǒng)客戶端的編程實(shí)現(xiàn)使用VC+語言開發(fā),結(jié)合視頻標(biāo)準(zhǔn)的相關(guān)知識,并且采用海康威視的采集卡和開發(fā)包。本文涉及的工作是對監(jiān)控中心的實(shí)現(xiàn)進(jìn)行研究和實(shí)踐,它提出的設(shè)計(jì)思想和實(shí)現(xiàn)方式有一定代表性,對相關(guān)領(lǐng)域的設(shè)計(jì)是具有一定借鑒意義的。關(guān)鍵詞:視頻監(jiān)控,客戶端,視頻預(yù)覽,視頻下載 AbstractAs people increasingly strong demand for security, Video Surve
3、illance 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 people's lives。 Video Surveillance is becoming a hot
4、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 vi
5、deo 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 cli
6、ent 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 play
7、back; 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 rai
8、ses 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目 錄摘 要IAbstractII1 緒論11.1課題背景及意義11.2監(jiān)控系統(tǒng)的發(fā)展歷程11.3視頻監(jiān)控系統(tǒng)的現(xiàn)狀和發(fā)展方向31.4論文內(nèi)容42視頻監(jiān)控系統(tǒng)介紹52.1視頻監(jiān)控系統(tǒng)的開發(fā)環(huán)境52.
9、1.1視頻監(jiān)控系統(tǒng)播放器開發(fā)硬件環(huán)境52.1.2視頻監(jiān)控系統(tǒng)播放器開發(fā)操作系統(tǒng)選擇52.1.3視頻監(jiān)控系統(tǒng)播放器開發(fā)工具選擇62.2視頻監(jiān)控系統(tǒng)簡介62.3視頻監(jiān)控系統(tǒng)客戶端介紹72.3.1用戶登錄功能82.3.2視頻預(yù)覽(實(shí)時監(jiān)控)功能82.3.3視頻下載功能82.3.4視頻播放功能93視頻監(jiān)控系統(tǒng)客戶端分析與設(shè)計(jì)103.1系統(tǒng)總體功能需求103.2系統(tǒng)客戶端函數(shù)設(shè)計(jì)103.2.1客戶端函數(shù)說明113.2.2客戶端函數(shù)調(diào)用順序說明133.3客戶端關(guān)鍵技術(shù)143.3.1基類CVideoCaptureCard的設(shè)計(jì)143.3.2關(guān)鍵類DownloadThread的設(shè)計(jì)154視頻監(jiān)控系統(tǒng)客戶端的開
10、發(fā)實(shí)現(xiàn)174.1客戶端登錄174.2視頻預(yù)覽184.3視頻文件的下載204.4視頻文件播放265全文總結(jié)和展望285.1全文總結(jié)285.2下一步工作展望29參考文獻(xiàn)30致謝31291 緒論1.1課題背景及意義隨著國民經(jīng)濟(jì)和科學(xué)技術(shù)的發(fā)展以及人民生活水平的提高,人們對日常工作的條件和環(huán)境的要求也在不斷增加。這種情況下,對于以往一些工作環(huán)境惡劣,地理位置較遠(yuǎn)或者有可能危及人身健康甚至生命的場合,采用無人職守作業(yè)的需求就日益突出了。無人職守作業(yè)已經(jīng)成為許多行業(yè)的迫切需要。鑒于現(xiàn)今各行業(yè)的安全要求,如果每天二十四小時派人去進(jìn)行現(xiàn)場值班工作既浪費(fèi)人力物力財(cái)力,也不便于管理和處理突發(fā)情況,所以用于遠(yuǎn)程的視
11、頻監(jiān)控系統(tǒng)的設(shè)計(jì)就被提出。通過公用或者專用網(wǎng)絡(luò),將遠(yuǎn)程現(xiàn)場展現(xiàn)在遠(yuǎn)端控制中心值班人員面前或者對遠(yuǎn)程現(xiàn)場情況進(jìn)行實(shí)時錄像。開發(fā)具有這樣功能的一個監(jiān)控系統(tǒng),可以大大提高系統(tǒng)的工作效率,減少開銷,確保安全。將系統(tǒng)稍作改動,也可用于其它遠(yuǎn)程監(jiān)控現(xiàn)場的應(yīng)用。這些年,隨著國民經(jīng)濟(jì)的發(fā)展,視頻監(jiān)控系統(tǒng)的應(yīng)用已經(jīng)越來越廣泛。視頻監(jiān)控系統(tǒng)以其直觀、方便、信息內(nèi)容豐富等特征而被廣泛應(yīng)用于工業(yè)生產(chǎn)、交通等場所。它正從傳統(tǒng)的安防監(jiān)控向管理、生產(chǎn)監(jiān)控發(fā)展,并逐步與管理信息系統(tǒng)相結(jié)合,達(dá)到資源共享,為管理者提供更直觀、更有效的決策信息。課題主要目的是開發(fā)出一套可靠性高、價格較低、使用簡便的網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng),適用于中小型企
12、業(yè)應(yīng)用。1.2監(jiān)控系統(tǒng)的發(fā)展歷程視頻監(jiān)控的發(fā)展經(jīng)歷了三個不同階段,即第一代模擬圖像監(jiān)控,第二代基于PC機(jī)的多媒體監(jiān)控,第三代基于嵌入式網(wǎng)絡(luò)視頻服務(wù)器技術(shù)的網(wǎng)絡(luò)視頻監(jiān)控。20世紀(jì)90年代初及其以前,主要是以模擬設(shè)備為主的閉路系統(tǒng),稱為第一代視頻監(jiān)控系統(tǒng),即模擬圖像監(jiān)控系統(tǒng)。典型的模擬監(jiān)控系統(tǒng)一般由圖像攝影部分(模擬攝像機(jī)、鏡頭,云臺、麥克風(fēng)等)、圖像傳輸部分(電纜、光纜、射頻)、視頻控制部分(操作鍵盤、視頻分配器、視頻矩陣切換器、云臺控制器、字符疊加器等)和顯示記錄部分(視頻矩陣,監(jiān)控器,錄像機(jī)等組成)組成。最簡單的監(jiān)控系統(tǒng)是由一架攝像機(jī)和一臺監(jiān)視器組成,中間用傳輸線連接。第一代系統(tǒng)的主要優(yōu)點(diǎn)是
13、實(shí)現(xiàn)方法簡單。但是,其缺點(diǎn)非常明顯3:它采用同軸電纜傳輸,傳輸距離近,布線復(fù)雜,設(shè)備、材料費(fèi)用高,施工困難;另外,由于視頻圖像是模擬的,圖像數(shù)據(jù)量大,錄像時間短,而長時間錄像時錄像機(jī)存儲丟失的信息多、由于模擬信號很容易受到干擾,導(dǎo)致圖像質(zhì)量差;其順序存儲的方式又使得查詢速度慢;擴(kuò)展能力差,如果要新增監(jiān)控點(diǎn),往往是牽一發(fā)而動全身,新的設(shè)備很難添加到原有的系統(tǒng)中。20世紀(jì)90年代中期,計(jì)算機(jī)處理能力的提高和視頻技術(shù)的發(fā)展尤其是視頻壓縮編解碼技術(shù)的出現(xiàn)和發(fā)展,使數(shù)字視頻的存儲和傳輸成為可能。人們利用計(jì)算機(jī)的高速數(shù)據(jù)處理能力進(jìn)行視頻的采集、顯示、壓縮等處理,利用顯示器的高分辨率實(shí)現(xiàn)圖像的多畫面顯示,采
14、用大容量的計(jì)算機(jī)硬盤存儲視頻數(shù)據(jù),從而大大提高了圖像質(zhì)量,增強(qiáng)了視頻監(jiān)控的功能。這類系統(tǒng)即第二代基于PC機(jī)的多媒體監(jiān)控系統(tǒng)。第二代系統(tǒng)由于需要利用專用壓縮/解壓卡對視頻信號進(jìn)行壓縮和解壓處理4,所以使監(jiān)控系統(tǒng)體積較大,功耗較高;監(jiān)控現(xiàn)場需要專人職守,維護(hù)煩瑣;實(shí)時性不高和穩(wěn)定性差;成本較高;可擴(kuò)展性差,采用專用的壓縮卡和解壓縮卡對視頻數(shù)據(jù)進(jìn)行壓縮和解壓縮,只能支持一種編碼格式,無法提供對其他編碼方式的支持。隨著芯片、網(wǎng)絡(luò)技術(shù)的進(jìn)步,現(xiàn)在出現(xiàn)了一種新型的網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng),即第三代基于嵌入式網(wǎng)絡(luò)視頻服務(wù)器技術(shù)的網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)?;谇度胧骄W(wǎng)絡(luò)視頻服務(wù)器技術(shù)的網(wǎng)絡(luò)監(jiān)控系統(tǒng)主要的原理是:采用嵌入式實(shí)時
15、多任務(wù)操作系統(tǒng),高效壓縮芯片和功能強(qiáng)大的CPU,將視頻壓縮與傳輸處理工作全部內(nèi)置到芯片上。網(wǎng)絡(luò)上用戶可以通過專用軟件或者直接用瀏覽器觀看Web服務(wù)器上的攝像機(jī)圖像,授權(quán)用戶可以控制攝像機(jī)云臺鏡頭的動作和對系統(tǒng)配置進(jìn)行操作。采用嵌入式操作系統(tǒng),大大提高了系統(tǒng)的穩(wěn)定性和實(shí)時性。由于這種系統(tǒng)的硬件是一個同處理器和操作系統(tǒng)捆綁較為緊密、功能專一、設(shè)計(jì)專門的獨(dú)立的設(shè)備,不像插卡系統(tǒng)那樣受通用計(jì)算機(jī)系統(tǒng)中其它軟硬件的影響,因此性能上更穩(wěn)定,且便于安裝、維護(hù),易于實(shí)現(xiàn)系統(tǒng)的模塊化設(shè)計(jì),便于管理維護(hù)。硬盤錄像和回放基本上可以達(dá)到實(shí)時的效果且錄像清晰度較高。把視頻壓縮和網(wǎng)絡(luò)傳輸功能集成到一個體積很小的設(shè)備內(nèi),可
16、以直接連入以太網(wǎng),達(dá)到即插即用,省掉各種復(fù)雜的電纜,安裝方便,無需專人職守。在監(jiān)控終端,遠(yuǎn)程監(jiān)控人員只需要擁有一臺安裝了監(jiān)控軟件的PC機(jī),無需安裝特殊的硬件設(shè)備,就可以在世界任何一個可以接入Internet的地方,對監(jiān)控現(xiàn)場進(jìn)行實(shí)時遠(yuǎn)程監(jiān)控。大大降低了系統(tǒng)成本,極大地方便了整個監(jiān)控系統(tǒng)的操作和維護(hù)。這種架構(gòu)發(fā)展較晚,但由于其顯著的優(yōu)點(diǎn)即將在市場上取得大規(guī)模的應(yīng)用。1.3視頻監(jiān)控系統(tǒng)的現(xiàn)狀和發(fā)展方向在國內(nèi)外市場上,主要推出數(shù)字控制的模擬視頻監(jiān)控和數(shù)字視頻監(jiān)控兩類產(chǎn)品。前者經(jīng)過幾十年的發(fā)展,技術(shù)已經(jīng)非常成熟,其性能穩(wěn)定,在實(shí)際工程中有十分廣泛的應(yīng)用,特別是在大、中型視頻監(jiān)控工程中的應(yīng)用尤為廣泛。但
17、是由于對圖像的處理和傳送均采用模擬技術(shù),不僅圖象質(zhì)量低,而且系統(tǒng)資源浪費(fèi)嚴(yán)重,不易組成復(fù)雜的網(wǎng)絡(luò)結(jié)構(gòu),監(jiān)控功能可擴(kuò)展性差。隨著數(shù)字技術(shù)的迅猛發(fā)展,網(wǎng)絡(luò)技術(shù)的不斷發(fā)展和進(jìn)步,圖像信息的數(shù)字編碼處理模式的不斷增加,使新一代數(shù)字視頻監(jiān)控系統(tǒng)日益顯示出其獨(dú)特的魅力。近年來國際標(biāo)準(zhǔn)化組織(ISO)、國際電工委員會(IEC)為數(shù)字圖像的處理和傳輸建立了一套國際統(tǒng)一的相關(guān)標(biāo)準(zhǔn),如MPEG-1、MPEG-2、MPEG-4等數(shù)字視頻編解碼標(biāo)準(zhǔn),為數(shù)字視頻監(jiān)控建立了國際統(tǒng)一的技術(shù)規(guī)范,更加促進(jìn)了該類系統(tǒng)的產(chǎn)業(yè)化發(fā)展。數(shù)字視頻監(jiān)控系統(tǒng)解決了模擬系統(tǒng)部分弊端,但仍需進(jìn)一步完善和發(fā)展。目前,視頻監(jiān)控系統(tǒng)正處在數(shù)控模擬系
18、統(tǒng)與數(shù)字系統(tǒng)混合應(yīng)用并將逐漸向數(shù)字系統(tǒng)過渡的階段。 前端一體化、視頻數(shù)字化、監(jiān)控網(wǎng)絡(luò)化、系統(tǒng)集成化是視頻監(jiān)控系統(tǒng)公認(rèn)的發(fā)展方向,而數(shù)字化是網(wǎng)絡(luò)化的前提,網(wǎng)絡(luò)化又是系統(tǒng)集成化的基礎(chǔ),所以,視頻監(jiān)控發(fā)展的最大兩個特點(diǎn)就是數(shù)字化和網(wǎng)絡(luò)化。數(shù)字化:數(shù)字化是21 世紀(jì)的特征,是以信息術(shù)發(fā)展的必然,數(shù)字化是邁向成長的通行證,隨著時代的發(fā)展,我們的生存環(huán)境將變得越來越數(shù)字化。視頻監(jiān)控系統(tǒng)的數(shù)字化首先應(yīng)該是系統(tǒng)中信息流(包括視頻、音頻、控制等)從模擬狀態(tài)轉(zhuǎn)為數(shù)字狀態(tài),這將徹底打破“經(jīng)典閉路電視系統(tǒng)是以攝像機(jī)成像技術(shù)為中心”的結(jié)構(gòu),根本上改變視頻監(jiān)控系統(tǒng)從信息采集、數(shù)據(jù)處理、傳輸、系統(tǒng)控制等的方式和結(jié)構(gòu)形式。網(wǎng)
19、絡(luò)化:視頻監(jiān)控系統(tǒng)的網(wǎng)絡(luò)化將意味著系統(tǒng)的結(jié)構(gòu)將由集總式向集散式系統(tǒng)過渡。集散式系統(tǒng)采用多層分級的結(jié)構(gòu)形式,具有微內(nèi)核技術(shù)的實(shí)時多任務(wù)、多用戶、分布式操作系統(tǒng),以實(shí)現(xiàn)搶先任務(wù)調(diào)度算法的快速響應(yīng)。視頻監(jiān)控系統(tǒng)的網(wǎng)絡(luò)化是遠(yuǎn)程視頻監(jiān)控系統(tǒng)今后發(fā)展的主要目標(biāo)之一,系統(tǒng)網(wǎng)絡(luò)化將實(shí)現(xiàn)整個網(wǎng)絡(luò)系統(tǒng)硬件和軟件資源共享以及任務(wù)和負(fù)載共享。提高網(wǎng)絡(luò)的利用效率,這也促使視頻監(jiān)控系統(tǒng)成為新的網(wǎng)絡(luò)應(yīng)用熱點(diǎn)。1.4論文內(nèi)容本文內(nèi)容安排如下: 第一章 緒論。了解課題開發(fā)背景及意義,并介紹了視頻監(jiān)控的發(fā)展歷程及趨勢。 第二章 視頻監(jiān)控系統(tǒng)系統(tǒng)介紹。首先了解課題的開發(fā)環(huán)境,隨后介紹課題開發(fā)的視頻監(jiān)控系統(tǒng),并詳細(xì)介紹論文有關(guān)的客戶
20、端設(shè)計(jì)。 第三章 視頻監(jiān)控系統(tǒng)客戶端分析與設(shè)計(jì)。給出了系統(tǒng)的結(jié)構(gòu)方案設(shè)計(jì),重點(diǎn)介紹了系統(tǒng)的基本設(shè)計(jì)思想以及視頻播放解碼CVideoCaptureCard類的設(shè)計(jì);第四章 視頻監(jiān)控系統(tǒng)客戶端的開發(fā)實(shí)現(xiàn)。編程實(shí)現(xiàn)客戶段用戶登錄、視頻預(yù)覽、視頻下載播放三個功能;第五章 論文最后對課題進(jìn)行了總結(jié),并作了展望。2視頻監(jiān)控系統(tǒng)介紹視頻監(jiān)控中心配備一臺視頻監(jiān)控平臺,可同時支持多個遠(yuǎn)端編碼器,在視頻監(jiān)控平臺中集成了多路視頻解碼單元,直接把管理員選擇的線路圖像傳遞到電視墻。配備一臺或多臺數(shù)字錄像服務(wù)器,作為整個監(jiān)控系統(tǒng)的錄像及點(diǎn)播服務(wù)器。配置一臺網(wǎng)管服務(wù)器,提供全程網(wǎng)管服務(wù),同時提供WEB服務(wù),桌面終端可以通過
21、以太網(wǎng)訪問任意線路的監(jiān)控圖像,并可通過授權(quán)進(jìn)行遠(yuǎn)程遙控。2.1視頻監(jiān)控系統(tǒng)的開發(fā)環(huán)境2.1.1視頻監(jiān)控系統(tǒng)播放器開發(fā)硬件環(huán)境表 21 開發(fā)環(huán)境基本配置類別標(biāo)準(zhǔn)配置計(jì)算機(jī)硬件CPU 英特爾®酷睿雙核 2.0G內(nèi)存 2G顯卡 支持 HDMI高清寬屏液晶顯示視頻采集卡 支持多路(16-64)視頻信號的同時采集顯示器 支持高清的液晶電視標(biāo)準(zhǔn)輸入輸出設(shè)備,如鍵盤、鼠標(biāo)CD-ROM或DVD-ROM驅(qū)動器軟件操作系統(tǒng):Windows 2000/XP及以上版本網(wǎng)絡(luò)通信TCP/IP網(wǎng)絡(luò)其它視頻監(jiān)控系統(tǒng)具體配置取決與實(shí)際應(yīng)用的需要。視頻監(jiān)控錄像系統(tǒng)通常均為多路輸入系統(tǒng),視頻采集卡可采用多卡方式,也可采用
22、單卡方式。一般說,單卡方式集成度高,穩(wěn)定性會優(yōu)于多卡方式。目前市場上也有為追求高幀數(shù)而設(shè)計(jì)采用多卡進(jìn)行迭加的多路單卡設(shè)備,但其仍在計(jì)算機(jī)的總線上進(jìn)行傳輸、處理,不可能會有質(zhì)的飛躍。2.1.2視頻監(jiān)控系統(tǒng)播放器開發(fā)操作系統(tǒng)選擇視頻監(jiān)控系統(tǒng)應(yīng)采用Windows 2000/XP及以上版本,該系統(tǒng)是一個32位的操作系統(tǒng),具有強(qiáng)大的多媒體處理能力,并且能夠很好地支持各種網(wǎng)絡(luò)協(xié)議以及硬件的即插即用、搶占式多任務(wù)功能。Windows 2000系統(tǒng)經(jīng)過微軟公司地不斷改進(jìn)和完善,現(xiàn)在已經(jīng)是一個比較完善和穩(wěn)定的操作系統(tǒng),在PC市場上有廣泛的應(yīng)用。2.1.3視頻監(jiān)控系統(tǒng)播放器開發(fā)工具選擇目前軟件開發(fā)工具種類有很多,
23、我們選擇Microsoft的Visual C+6.0作為開發(fā)工具。因?yàn)檫@種開發(fā)工具和操作系統(tǒng)都出自同一家軟件公司,有利于系統(tǒng)集成,有利于系統(tǒng)的穩(wěn)定;同時Visual C+具有很好的執(zhí)行效率,支持多線程,對多媒體有很強(qiáng)的支持能力,并能夠很好地對硬件進(jìn)行各種操作。選用Visual C+一個很重要的原因就是其具備面向?qū)ο箝_發(fā)特征,面向?qū)ο蟮脑O(shè)計(jì)方法是近年來發(fā)展起來的一種新的程序設(shè)計(jì)技術(shù),其基本思想是將軟件系統(tǒng)所面對的問題,按其自然屬性進(jìn)行分割,按人們通常的思維方式進(jìn)行描述,建立每個對象的模型和聯(lián)系,設(shè)計(jì)盡可能直接、自然地表現(xiàn)問題求解的軟件,整個軟件系統(tǒng)只由對象組成,對象間聯(lián)系通過消息進(jìn)行。用類和繼承
24、描述對象,并建立求解模型,描述軟件系統(tǒng)。對象是事物的抽象單位,具有內(nèi)部狀態(tài)、性質(zhì)、知識和處理能力,通過消息傳遞與其它對象相聯(lián)系,是構(gòu)成系統(tǒng)的元素。消息是請求對象執(zhí)行某一處理或回答某些信息的指令流,用以統(tǒng)一數(shù)據(jù)層和控制層,將對象劃分為不同層次,這種層次結(jié)構(gòu)具有繼承性,子類繼承其父類的全部描述。面向?qū)ο蟮脑O(shè)計(jì)方法,更接近于面向問題而不是對程序的描述,軟件設(shè)計(jì)帶有智能化的性質(zhì),這種形式更便于程序設(shè)計(jì)人員與應(yīng)用人員的交流,軟件設(shè)計(jì)更具有普遍意義,尤其是在地理信息系統(tǒng)的智能化和專家系統(tǒng)技術(shù)不斷提高的形勢下,面向?qū)ο蟮某绦蛟O(shè)計(jì)是更有效的途徑,因此在我們的設(shè)計(jì)工作中我們主要應(yīng)用了面向?qū)ο蟮脑O(shè)計(jì)方法。2.2視
25、頻監(jiān)控系統(tǒng)簡介系統(tǒng)包含顯示模塊、錄像存儲及回放模塊、網(wǎng)絡(luò)支持模塊,IP視頻信號支持模塊,硬解碼模塊,云臺控制模塊,設(shè)備管理模塊,用戶管理模塊,日志管理模塊,報(bào)警聯(lián)動模塊,矩陣級聯(lián)模塊。在目前的道路交通監(jiān)控系統(tǒng)中,對視頻監(jiān)控信號的顯示多數(shù)采用電視墻的形式。隨著監(jiān)控?cái)z像頭數(shù)量的增加,視頻信號的路數(shù)也大幅度的增加,所以不可能將所有的視頻信號同時顯示在電視墻上,必須選擇切換信號。因此,針對目前的這種情況,對于現(xiàn)在新上的和一些需要更新的監(jiān)控系統(tǒng),更合理和經(jīng)濟(jì)有效的方法是采用大屏幕的液晶或者等離子顯示器,將多路信號同時在一個大屏幕上顯示。圖2.1 視頻監(jiān)控系統(tǒng)框架要實(shí)現(xiàn)應(yīng)用大屏幕對多路信號的顯示,需要開發(fā)
26、全新的軟件系統(tǒng)。軟件系統(tǒng)需要解決的一個難點(diǎn)問題是:目前監(jiān)控?cái)z像頭的視頻信號的比例大都是4:3的,而大屏幕的液晶或等離子顯示器的比例是16:9的,因此當(dāng)在大屏幕上顯示單個或者其他多個視屏信號時(如4個、9個、16個等)的時候,視頻信號直接鋪滿全屏顯示就會出現(xiàn)拉伸形變現(xiàn)象,所以必須對多路的輸入信號進(jì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上的任意一臺機(jī)器。本論文主要涉及視頻預(yù)覽、視頻檢索下載及視頻文件播放模塊。2.3.1用戶登錄功能用戶登錄即位系統(tǒng)權(quán)限用戶為進(jìn)入謀一項(xiàng)應(yīng)用程序
27、而進(jìn)行的一項(xiàng)基本操作,以便該用戶在該系統(tǒng)上的相應(yīng)操作。 用戶登錄功能可以有效的區(qū)分操作人是該程序的用戶還是非用戶,有利于保障雙方權(quán)益。輸入正確的用戶名和密碼。 系統(tǒng)驗(yàn)證成功進(jìn)入功能界面。 用戶根據(jù)自己權(quán)限進(jìn)行某些操作。 2.3.2視頻預(yù)覽(實(shí)時監(jiān)控)功能主要實(shí)現(xiàn)通道的視頻顯示,錄像,抓圖,云臺控制,退出,切換顯示方案等功能。畫面中最下面一行分為退出,切換顯示方案,切換畫面,全屏,錄像,抓圖。點(diǎn)擊不同的畫面按鈕,即可實(shí)現(xiàn)相應(yīng)的畫面顯示。提供1/4/8/ /16多分屏畫面顯示。單畫面/多畫面切換、可以顯示任意畫面組合。自定義鏡頭分組或者選擇預(yù)定義鏡頭組,根據(jù)分組鏡頭數(shù)自適應(yīng)畫面分割。以當(dāng)前分辨率手
28、動截圖??尚薷慕貓D路徑和截圖文件名稱。本地手動錄像??尚薷氖謩愉浵衤窂胶褪謩愉浵裎募Q??芍С謴V域網(wǎng)、有路由器的網(wǎng)絡(luò)環(huán)境。2.3.3視頻下載功能首先檢索要下載的視頻文件。檢索分為檢索條件,檢索結(jié)果兩部分。檢索條件有三項(xiàng),時間,通道,事件??梢栽O(shè)定檢索的起始時間,通道名稱,事件等。檢索結(jié)果顯示在檢索結(jié)果列表框中。按照時間,通道,事件等條件檢索視頻文件。執(zhí)行、停止或刪除下載任務(wù)。顯示下載任務(wù)當(dāng)前狀態(tài)。設(shè)置下載文件存儲路徑。下載失敗后可多次重連。保存下載任務(wù)列表。2.3.4視頻播放功能打開視頻播放器VideoPlayer,選擇下載的視頻文件即可播放,也可對視頻文件進(jìn)行剪切,操作和服務(wù)端的操作一樣。
29、打開視頻播放器VideoPlayer。選擇下載的視頻文件即可播放。3視頻監(jiān)控系統(tǒng)客戶端分析與設(shè)計(jì)3.1系統(tǒng)總體功能需求本視頻監(jiān)控系統(tǒng)是一個集實(shí)時數(shù)據(jù)傳輸處理和信息管理于一身的綜合應(yīng)用系統(tǒng)。系統(tǒng)不僅需要能滿足遠(yuǎn)程用戶瀏覽實(shí)時視頻、歷史錄像,控制云臺,處理音頻報(bào)警信息等基本要求,而且需要管理用戶登錄信息,設(shè)置不同的用戶權(quán)限,進(jìn)行錄像管理,修改視頻服務(wù)器參數(shù)等。這里并不一一詳述功能需求,只做一個簡單歸納。圖3.1系統(tǒng)總體結(jié)構(gòu)示意圖本文所涉及的客戶端系統(tǒng)功能有四大部分:客戶端用戶登錄、視頻預(yù)覽、視頻文件下載、視頻播放。3.2系統(tǒng)客戶端函數(shù)設(shè)計(jì)客戶端的軟件設(shè)計(jì)主要包括客戶端用戶登錄、視頻預(yù)覽、視頻文件下
30、載播放三大部分。3.2.1客戶端函數(shù)說明1. BOOL_stdcall MP4_ClientStartup(UINT nMessage,HWND hWnd); 對客戶端初始化。 返回 TRUE表示成功,返回 FALSE 表示失敗。 nMessage 表示對應(yīng)接收程序的消息。 hWnd 表示應(yīng)用程序窗口句柄。 注:在調(diào)用所有其他客戶端函數(shù)之前調(diào)用。2BOOL _stdcall MP4_ClientStartCapture(LONG StockHandle);開始客戶端的數(shù)據(jù)捕獲(回調(diào)方式,使用 MP4_ClientStart 中的 ReadDataCallBack函數(shù))。 StockHandle
31、: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); 設(shè)置當(dāng)前播放器音量。返回 TRUE表示成功
32、,返回 FALSE 表示失敗。 wVolume:音量值(0-0xffff) 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 成功返回的值。 wB
33、ufNum:增加緩沖區(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:預(yù)先接收的數(shù)據(jù)量。單位:K。范圍:0-600 返回 TRUE表示成功,返回 FALSE
34、 表示失敗。8. BOOL _stdcall MP4_ClientSetQuality(LONG StockHandle,WORD wPicQuality); 設(shè)置圖象質(zhì)量。 StockHandle:MP4_ClientStart 成功返回的值。 wPicQuality:圖象質(zhì)量。LOWQUALITY 表示低圖象質(zhì)量,HIGHQUALITY 表示高圖象質(zhì)量。 返回 TRUE表示成功,返回 FALSE 表示失敗。 說明:設(shè)置圖像質(zhì)量,當(dāng)設(shè)置成高質(zhì)量時畫面效果好,但 CPU 利用率高。在支持多路播放時,可以設(shè)為低質(zhì)量(LOWQUALITY),以降低 CPU利用率;當(dāng)某路放大播放時將該路設(shè)置成高質(zhì)量
35、(HIGHQUALITY),以達(dá)到好的畫面效果。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è)置抓圖回調(diào)函數(shù)。 StockHandle:MP4_ClientStart 成功返回的值。10.BOOL _stdcall MP4_ClientSa
36、vePicFile(char * pBuf,long nSize,long nWidth,long nHeight,long nType,char *sFileName); 將抓圖得到的圖像數(shù)據(jù)保存成 BMP文件。 pBuf, nSize,nWidth,nHeight, nType 同抓圖回調(diào)函數(shù)中的參數(shù)。 sFileName 要保存的文件名。最好以 BMP 作為文件擴(kuò)展名。 返回 TRUE表示成功,返回 FALSE 表示失敗。 說明: 保存函數(shù)需要占用的較多 cpu 資源,如果不需要保存圖片,則不要調(diào)用。3.2.2客戶端函數(shù)調(diào)用順序說明客戶端必須開始使用網(wǎng)絡(luò)開發(fā)包時,調(diào)用 MP4_Clien
37、tSetNetPort,之后調(diào)用 MP4_ClientStartup; 在結(jié)束使用網(wǎng)絡(luò)開發(fā)包時,調(diào)用 MP4_ClientCleanup。 以下函數(shù)在只能 MP4_ClientStart 之前調(diào)用: MP4_ClientSetShowMode; MP4_ClientSetTTL; 以下函數(shù)在只能 MP4_ClientStart 之后調(diào)用: MP4_ClientStartCapture; MP4_ClientStartCaptureFile; MP4_ClientAudioStart; MP4_ClientAudioVolume; MP4_ClientSetBufferNum; MP4_Clie
38、ntSetPlayDelay; MP4_ClientSetQuality; MP4_ClientSetCapPicCallBack; MP4_ClientSavePicFile; 其他函數(shù)可以在 MP4_ClientStartup之后,MP4_ClientCleanup 之前的任何地方調(diào)用。3.3客戶端關(guān)鍵技術(shù) 圖3.2解碼流程圖3.3.1基類CVideoCaptureCard的設(shè)計(jì)class CVideoCaptureCard public:virtual int InitDSPs() = 0;virtual int DeInitDSPs()=0;virtual int GetTotalCh
39、annels()=0;virtual int GetDecodeChannelCount()=0;virtual HANDLE ChannelOpen(int iChannel)=0;virtual int ChannelClose(int iChannel)=0;virtual int StartVideoPreview(int iChannel,HWND WndHandle, RECT *rect, int FrameRate, VideoPreviwMode iPreviwMode)=0;virtual int StopVideoPreview(int iChannel)=0;virtu
40、al int CaptureOriginalImage()=0;virtual int SetVideoFileTimeLength(float fTimeLength)=0;virtual int SetVideoQuality(int iChannel,VideoQuality videoQuality)=0;virtual int StartVideoCapture(int iChannel, CString strFilename)=0;virtual int StopVideoCapture(int iChannel)=0; virtual int SetVideoPreviewDa
41、tetime(int iChannel,bool bShowDatetime)=0;virtual int SetVideoPreviewDisplayInfo(int iChannel,CString strDisplayName,bool bShowDatetime,VideoPreviwMode iPreviwMode)=0; virtual intSetInputVideoPosition(int iChannel,UINT x,UINT y)=0;virtual int SetPreviewOverlayMode(bool bTrue)=0; virtual int SetOverl
42、ayColorKey(COLORREF DestColorKey)=0;virtual void StartServer()=0;virtual void StopServer()=0;3.3.2關(guān)鍵類DownloadThread的設(shè)計(jì)class CDownloadThread : public CWinThreadDECLARE_DYNCREATE(CDownloadThread)protected:CInternetSession m_InternetSession;CFtpConnection *m_pFtpConnection;CFile m_File;CString m_strRes
43、ult;void DownloadFile(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 lpszDirec
44、tory);void WaitForProgressDialog();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
45、;intm_nRetryDelay;intm_nPort;intm_bUsePASVMode;DWORD m_nConnectionTimeout;DWORD m_dwFileLength;virtual void Delete();HANDLE m_hEventDead;HANDLE m_hEventKill;void KillThread();CProgressDlg m_ProgressDlg;char m_szStatus1024;/ Overrides/ ClassWizard generated virtual function overrides/AFX_VIRTUAL(CDow
46、nloadThread)public:virtual BOOL InitInstance();virtual int ExitInstance();/AFX_VIRTUAL/ Implementationprotected:BOOL m_bDirectoryCreated;void PostDownloadStatus(LPCTSTR lpszStatus);DECLARE_MESSAGE_MAP();4視頻監(jiān)控系統(tǒng)客戶端的開發(fā)實(shí)現(xiàn)4.1客戶端登錄填寫正確的用戶名,密碼。點(diǎn)擊【確定】,即可進(jìn)入客戶端。如果用戶名或者密碼不正確,則彈出提示對話框。int nResponse=0; CDlgLogi
47、n dlgLogin;bool bLogin=false;while (!bLogin)nResponse = dlgLogin.DoModal();if (nResponse = IDOK)if (!ConnectDatabase(dlgLogin.m_strServer,"sa",dlgLogin.m_strDBPWD,"db_supervision")AfxMessageBox("Error Open Database!");return false;/Check UserName and PasswordCString str
48、RS=_T("select * from tblUser where user_name='");strRS+=dlgLogin.m_strUser;strRS+="' and password='"strRS+=dlgLogin.m_strPWD;strRS+="'"CADORecordset adoRS(m_pAdoDB);adoRS.SetQuery(strRS);adoRS.Open();CString strName;if (adoRS.GetRecordCount()=0)AfxMessag
49、eBox("UserName or Password Incorrect!");elsebLogin=true;else if (nResponse = IDCANCEL)return FALSE;登錄界面設(shè)計(jì):圖 4.1網(wǎng)絡(luò)客戶端登錄界面4.2視頻預(yù)覽主要實(shí)現(xiàn)代碼:CLiveVideoDisplayWindow:CLiveVideoDisplayWindow(CVideoCaptureCard *pVideoCaptureCard, CLiveVideoDisplayScheme *pLiveVideoDisplayScheme ,CRect m_rectTotalDip
50、layRegion, MultiWindow iSubRectsNumber) :CMultiDisplayRect(m_rectTotalDiplayRegion,iSubRectsNumber)m_pVideoCaptureCard=pVideoCaptureCard;m_pLiveVideoDisplayScheme=pLiveVideoDisplayScheme; m_iTotalChannels=m_pVideoCaptureCard->InitDSPs(); m_iTotalChannels=m_pVideoCaptureCard->GetTotalChannels()
51、; m_iTotalChannels=16; m_iFisrtDisplayChannel=0;CLiveVideoDisplayWindow:CLiveVideoDisplayWindow()m_pVideoCaptureCard->DeInitDSPs();void CLiveVideoDisplayWindow:StartVideoPreview(HWND hwnd)for (int i=0;i<GetSubRectsNumber();i+)int iChannel=(m_iFisrtDisplayChannel+i)% m_iTotalChannels;CRect rect
52、=GetSubWindowRect(i);float iRatio=1.0*rect.Width()/rect.Height();VideoPreviwMode iVideoPreviwMode=VPM_STRETCH;if (iRatio>1.4)iVideoPreviwMode=VPM_SOURCE_RATIO; m_pVideoCaptureCard->StartVideoPreview(iChannel,m_pHandlei,GetSubWindowRect(i),30,iVideoPreviwMode);void CLiveVideoDisplayWindow:StopV
53、ideoPreview()for (int i=0;i<GetSubRectsNumber();i+) int iChannel=(m_iFisrtDisplayChannel+i)% m_iTotalChannels; m_pVideoCaptureCard->StopVideoPreview(iChannel);void CLiveVideoDisplayWindow:SetFisrtDisplayChannel(int iFisrtDisplayChannel)m_iFisrtDisplayChannel=iFisrtDisplayChannel;void CLiveVide
54、oDisplayWindow:SetHandle(int iSubWin, HWND handle)m_pHandleiSubWin=handle;客戶端主界面設(shè)計(jì)如下圖:圖4.2網(wǎng)絡(luò)客戶端主界面視頻顯示區(qū)域?yàn)閳D4.2中的紅色方框的區(qū)域。 視頻顯示控制區(qū)域?yàn)椤|c(diǎn)擊相應(yīng)的按鈕,視頻顯示區(qū)域分別顯示1,4畫面。點(diǎn)擊相應(yīng)的按鈕,可以進(jìn)行上下翻頁。4.3視頻文件的下載void CClientSourceDlg:DoFileDownload(BOOL bShowFileDialog)/reload settingCString strPath;GetSettingFile(strPath); ReadS
55、ettingFromFile(strPath);CListBox *pListBox;CString strFile,strFileWithPath,strPlayer;pListBox=(CListBox*)GetDlgItem(IDC_LIST_SEARCH_RESULT);int index=pListBox->GetCurSel();if (LB_ERR=index)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 strLoc
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 文具零售述職報(bào)告
- 光伏電站施工進(jìn)度計(jì)劃制定措施
- 2025年度砂石料行業(yè)節(jié)能減排合作協(xié)議
- 初二物理教師培訓(xùn)與發(fā)展計(jì)劃
- 二零二五年度科技創(chuàng)新園區(qū)土地使用權(quán)與科研樓轉(zhuǎn)讓協(xié)議
- 二零二五年度科技扶貧財(cái)產(chǎn)贈與合作協(xié)議
- 2025年度智慧城市建設(shè)委托貸款合同
- 2025年度施工安全協(xié)議個人責(zé)任承諾書范本解析
- 二零二五年度二手房交易附贈地下車庫租賃協(xié)議
- 幕墻施工中的設(shè)備選型與計(jì)劃
- 綠野仙蹤(導(dǎo)讀課)課件
- 小學(xué)生防溺水安全教育主題班會ppt市公開課一等獎省名師優(yōu)質(zhì)課賽課一等獎?wù)n件
- 中國近代海關(guān)史課件
- 《人衛(wèi)版第九版內(nèi)科學(xué)心力衰竭》課件PPT
- 中藥熱鹽包熱熨講稿
- 目視檢測VT報(bào)告
- 四川省中小流域暴雨洪水計(jì)算
- 水泥熟料巖相分析
- 雜詩十二首其二陶淵明
- 第五屆大廣賽獲獎作品
- 《廣告攝影》課件第五講 食品廣告拍攝與后期制作
評論
0/150
提交評論