遠程視頻監(jiān)控系統(tǒng)畢業(yè)設計_第1頁
已閱讀1頁,還剩49頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p>  基于WEB的遠程視頻監(jiān)控系統(tǒng)的研究與設計</p><p>  The design of remote video surveillance system based on WEB</p><p>  基于WEB的遠程視頻監(jiān)控系統(tǒng)的研究與設計</p><p>  摘 要 隨著網絡通信技術和嵌入式技術的發(fā)展,基于嵌入式Web服務器的視頻監(jiān)控系統(tǒng)已

2、成為監(jiān)控領域的發(fā)展趨勢,采用B/S架構的嵌入式Web服務器,監(jiān)控者無需到現(xiàn)場操作,系統(tǒng)成本低廉,設備體積小巧,安裝方便,故障維護升級簡單,安全可靠,滿足了現(xiàn)代消費者的需求。</p><p>  本文針對視頻監(jiān)控設備前端一體化、小型化和便攜等相關需求,以動態(tài)數(shù)據(jù)交互技術和移動通信技術為基礎,借助嵌入式系統(tǒng)的網絡支持,設計了一種基于Web服務器的B/S方式的遠程視頻監(jiān)控系統(tǒng)。設計中以ARM7芯片和Linux系統(tǒng)為軟硬

3、件開發(fā)平臺,結合嵌入式Web技術,給出了視頻監(jiān)控系統(tǒng)的總體設計方案,深入研究了各個功能模塊。目前3G無線通信網絡正在普及,為了滿足未來移動監(jiān)控的需要,本系統(tǒng)數(shù)據(jù)傳輸引入了3G無線模塊的方案,為后續(xù)研究奠定了基礎。</p><p>  本文主要研究的嵌入式Web服務器的遠程視頻監(jiān)控系統(tǒng)的軟件設計,對現(xiàn)代視頻監(jiān)控的研究具有一定的參考價值。</p><p>  關鍵詞: 視頻監(jiān)控 嵌入式We

4、b ARM Linux 3G無線通信</p><p>  The design of remote video surveillance system based on WEB</p><p>  Abstract With the development of the communication and network technology and embedded techno

5、logy, the video surveillance system based on the embedded Web server has been the development tendency in the monitoring field. Because an embedded Web server based on B/S is usually adopted by remote monitoring system,i

6、t needn’t be operated at a special physical position.This design method can reduce the cost as well as the size of the entire system.The device is more convenient to be installed,easier </p><p>  This paper

7、aiming at satisfying the needs of the front-end integration, compact,portable in current video surveillance systems,a Web-based the B/S mode remote video monitoring system is designed.We adopt the ARM7 and Linux systems

8、as soft hardware development platform in our design.Combining with embedded Web technology. We are mainly engaged in following work. 3G wireless communication networks are currently popular, in order to meet the needs of

9、 future motion monitor,the data transmission of t</p><p>  An embedded Web server for remote video monitoring system described in this paper has a certain reference value for vehicle video motion monitoring.

10、</p><p>  Key words: Video monitoring embedded Web ARM Linux 3Gwireless communication </p><p><b>  目 錄</b></p><p><b>  第一章 緒論1</b></p>

11、<p>  1.1課題研究的背景和意義1</p><p>  1.1.1模擬視頻監(jiān)控系統(tǒng)1</p><p>  1.1.2本地數(shù)字視額監(jiān)控系統(tǒng)2</p><p>  1.1.3遠程網絡視頻監(jiān)控系統(tǒng)2</p><p>  1.2視頻監(jiān)控系統(tǒng)的發(fā)展趨勢3</p><p>  1.3嵌入式視頻監(jiān)控系統(tǒng)

12、常見設計方案4</p><p>  1.4本文的主要研究工作6</p><p>  第二章總體方案設計及平臺搭建7</p><p>  2.1 遠程視頻監(jiān)控系統(tǒng)方案設計7</p><p>  2.1.1 監(jiān)控系統(tǒng)整體網絡結構設計7</p><p>  2.1.2視頻監(jiān)控系統(tǒng)硬件方案設計10</p>

13、;<p>  2.1.3視頻監(jiān)控系統(tǒng)的系統(tǒng)軟件選擇11</p><p>  2.2系統(tǒng)開發(fā)平臺的搭建12</p><p>  2.3嵌入式Linux的移植13</p><p>  2.4本章小結14</p><p>  第三章視頻采集模塊的設計與實現(xiàn)15</p><p>  3.1 基于V4L2

14、的視頻采集模塊設計15</p><p>  3.1.1 V4L2視頻采集的數(shù)據(jù)結構15</p><p>  3.1.2 V4L2視頻采集的流程16</p><p>  3.1.3視頻數(shù)據(jù)的存儲23</p><p>  3.2視頻編碼23</p><p>  3.2.1視頻編碼技術的選擇24</p>

15、;<p>  3.2.2基于FFmpeg的H.264編碼25</p><p>  3.3視頻數(shù)據(jù)庫27</p><p>  3.3.1 SQLite數(shù)據(jù)庫的設計27</p><p>  3.3.2 SQLite的編譯與移植29</p><p>  3.4本章小結30</p><p>  第四章W

16、eb服務器的搭建與數(shù)據(jù)的傳輸31</p><p>  4.1嵌入式Web服務器的構建31</p><p>  4.1.1嵌入式Web服務器的選擇31</p><p>  4.1.2 Boa的移植和配置33</p><p>  4.1.3公共網關接口(CGI)技術34</p><p>  4.2 3G無線網絡

17、視頻傳輸36</p><p>  4.3本章小結39</p><p>  第五章總結與展望40</p><p><b>  5.1 總結40</b></p><p><b>  5.2展望41</b></p><p><b>  致謝42</b&g

18、t;</p><p><b>  參考文獻43</b></p><p><b>  第一章 緒論 </b></p><p>  網絡通信和微電子技術的快速發(fā)展和人民物質生活水平的提高,使得人們的生產行為,生活方式發(fā)生了重大的變化,視頻監(jiān)控以其直觀,方面和內容豐富等特點日益受到人們的重視。安防監(jiān)控從銀行到交通路口,從連鎖超

19、市到小區(qū)范圍,都會看到監(jiān)控產品的存在,大量犯罪案件在安防監(jiān)控產品的幫助下破獲。人們意識到視頻監(jiān)控對生產生活的安全非常重要,而網絡視頻監(jiān)控憑借其先進的技術和貼近用戶習慣的使用方式,逐步走進人們的生活當中。</p><p>  視頻監(jiān)控系統(tǒng)在保護安全,預防犯罪方面起到不可低估的作用,監(jiān)控市場領域不斷擴大。據(jù)權威部門統(tǒng)計,1998年全國圖像監(jiān)控系統(tǒng)的市場總額為650億元,今年來一直保持15﹪至30﹪的速度快速增長。隨著

20、攝像設備價格逐漸下降,計算機計算能力增強和網絡速度的提高,視頻監(jiān)控技術得到了快速的發(fā)展。</p><p>  1.1課題研究的背景和意義 </p><p>  視頻監(jiān)控系統(tǒng)的產生和發(fā)展有兩個方面的原因:一方面,隨著人們安全防范觀念的加強,人們迫切希望通過監(jiān)控的方式來預防和減少公共場所的破壞及犯罪活動。另一方面,視頻技術和網絡通信技術日益成熟,為它的實現(xiàn)和應用奠定了基礎;而計算機技術和

21、多媒體技術的迅速發(fā)展,將自動控制和多媒體技術融入到視頻監(jiān)控系統(tǒng)中來,促進了它的普及和應用。視頻監(jiān)控系統(tǒng)的發(fā)展大致經歷了三個階段:a、模擬視頻監(jiān)控系統(tǒng);b、本地數(shù)字視頻監(jiān)控系統(tǒng);c、遠程網絡視頻監(jiān)控系統(tǒng)。</p><p>  1.1.1模擬視頻監(jiān)控系統(tǒng)</p><p>  采用模擬方式傳輸,最簡單的就是將圖像信號直接送入視頻電纜進行傳輸。每一監(jiān)控點的視頻信號都通過一條電纜線連接到中心控制室的

22、多路切換器上,以手動切換方式選擇監(jiān)控點圖像,使之顯示在監(jiān)視器上。模擬視頻監(jiān)控有以下弊端:運行及維護成本高;視頻圖像的質量不能在任意時刻調整;無法聯(lián)網,只能以點對點的方式監(jiān)控現(xiàn)場,使得布線工程量極大;檢索困難;難以做到無人值守。</p><p>  1.1.2本地數(shù)字視額監(jiān)控系統(tǒng)</p><p>  進入20世紀80年代,隨著數(shù)字化技術的發(fā)展,人們從過去的模擬處理方式轉向數(shù)字處理方式,開始使

23、用計算機處理圖像信號。利用計算機的數(shù)據(jù)處理能力與顯示器的高清晰度,將視頻信號通過視頻采集卡采集到計算機中,顯示在顯示器上,大大提高了圖像的畫質,但是控制與切換仍采用傳統(tǒng)的單片機方式,只是計算機串口與之相連,完成控制工作。盡管它有良好的人機界面,較好的穩(wěn)定性,但它不能稱為真正的數(shù)字圖像監(jiān)控系統(tǒng)。其根本原因在于系統(tǒng)設計的出發(fā)點不是基于計算機,而是基于傳統(tǒng)模式。大部分時間里,計算機只是充當一個外部監(jiān)視器的角色,并且傳統(tǒng)單片機系統(tǒng)固有的弊端并沒

24、有克服,通信協(xié)議的多樣化與專用化很難統(tǒng)一,導致現(xiàn)有的計算機資源遠遠滿足不了多種設備的要求。另外計算機的運行速度較低,而數(shù)字視頻的數(shù)據(jù)量又很大,這樣就限制了利用一臺計算機同時處理更多數(shù)字視頻信號的能力。很難組建大型監(jiān)控系統(tǒng)。</p><p>  1.1.3遠程網絡視頻監(jiān)控系統(tǒng)</p><p>  第三代視頻監(jiān)控系統(tǒng)——遠程網絡視頻監(jiān)控系統(tǒng)。遠程網絡視頻監(jiān)控系統(tǒng)的關鍵設備是網絡視頻信號采集終端

25、(也被稱為視頻服務器),網絡視頻信號采集終端采用嵌入式實時多任務操作系統(tǒng)。攝像機送來的視頻信號在網絡視頻信號采集終端數(shù)字化后由高效壓縮芯片壓縮,通過內部總線送到網絡接口發(fā)送到網絡上,網絡上用戶可以直接用在PC機上用瀏覽器觀看網絡視頻信號采集終端傳送過來的攝像機所拍攝的圖像,授權用戶還可以通過計算機網絡透過網絡視頻信號采集終端控制攝像機鏡頭和云臺的動作或對系統(tǒng)進行配置操作。由于把視頻壓縮和網絡功能集中到一個體積很小的設備內,可以直接連入局

26、域網,達到即插即用,省掉多種復雜的電纜,安裝方便,僅需設置一個IP地址,用戶也無需安裝任何硬件設備,僅通過PC機用瀏覽器即可觀看。數(shù)字網絡視頻監(jiān)控系統(tǒng)與其它監(jiān)控系統(tǒng)的比較:布控區(qū)域廣闊。數(shù)字網絡視頻監(jiān)控系統(tǒng)的網絡視頻信號采集終端直接連入網絡,沒有線纜長度和信號衰減的限制,同時網絡是沒有距離概念的,徹底拋棄了地域的概念,擴展布控區(qū)域;系統(tǒng)具有幾乎無限的無縫擴展能力。所有設備都以IP地址進行標識,增加設備只是意味著IP地址的擴充;可組成非常

27、復雜的監(jiān)控網絡。采用基于</p><p>  1.2視頻監(jiān)控系統(tǒng)的發(fā)展趨勢</p><p>  將嵌入式系統(tǒng)技術、無線通信技術和基于TCP/IP的Internet就技術結合在一起的視頻監(jiān)控系統(tǒng)將成為監(jiān)控系統(tǒng)的未來發(fā)展方向。利用嵌入式技術采集并對現(xiàn)場信息進行相應處理,再通過無線通信方式傳輸?shù)絀nternet上,用戶通過internet來管理和使用信息。由于采用了3G等無線數(shù)據(jù)通信方式,可省去

28、有線方式下必須采用的物理布線,并且無線方式有利于對監(jiān)視點的合理安排,克服了傳統(tǒng)系統(tǒng)只能用于固定現(xiàn)場的監(jiān)視。因此,這種監(jiān)視方式在工農業(yè)生產、移動通信、家用電器自動化等領域都具有相當廣闊的應用前景。</p><p>  目前,視頻監(jiān)控系統(tǒng)的發(fā)展趨勢可以概括為:</p><p>  1)視頻監(jiān)控數(shù)字化。</p><p>  視頻監(jiān)控發(fā)展經歷了模擬視頻監(jiān)控、半數(shù)字監(jiān)控、數(shù)字

29、監(jiān)控三個階段。對于視頻監(jiān)控,數(shù)字化存儲帶來的是一場革命性的變化。數(shù)字化是21世紀的時代特征,視頻監(jiān)控的數(shù)字化是監(jiān)控技術的必然趨勢。</p><p>  2)視頻監(jiān)控智能化。</p><p>  智能化是視頻監(jiān)控技術發(fā)展比較高級的層次。由于視頻監(jiān)控的數(shù)據(jù)量非常大,而用戶真正需要的信息只是少部分,真正需要監(jiān)視的只是發(fā)生概率很小的某些事件,如何通過海量數(shù)據(jù)獲取有價值的信息,如何從目視解釋變?yōu)闄C器

30、自動解釋是視頻監(jiān)控技術發(fā)展的一個新方向。因為能把視頻監(jiān)控從靜態(tài)的、事后取證變成動態(tài)的、實時預防和告警對用戶來說明顯更加重要。實際上現(xiàn)有的大型監(jiān)控系統(tǒng)都配置自動位移偵測、晝夜自適應切換存儲、預警設置(如可疑人物照片、指紋等)等一些基本的智能化功能。</p><p>  3)視頻監(jiān)控IP化。</p><p>  視頻網絡、PTV等都是網絡快速發(fā)展的重要應用。隨著Internet技術的發(fā)展,基于

31、IP的視頻監(jiān)控更能為人們所接受,網絡攝像機把壓縮的視頻信息通過TCP/IP協(xié)議,采用流媒體技術實現(xiàn)視頻在網上的多路復用傳輸,擁有授權的用戶可以隨時訪問互聯(lián)網,實現(xiàn)對整個監(jiān)控系統(tǒng)的指揮、調度、存儲、授權控制等功能。因此,基于IP的視頻監(jiān)控將會成為主流。</p><p>  4)視頻監(jiān)控無線化。</p><p>  隨著無線寬帶網絡的發(fā)展,基于3G的無線視頻應用備受關注。當監(jiān)控點分散且與監(jiān)控中

32、心距離較遠,或被監(jiān)控對象不固定(如出租車、運鈔車等)時,利用傳統(tǒng)有線網絡的視頻監(jiān)控往往成本高且難以實現(xiàn),而基于多種無線傳輸手段的移動視頻監(jiān)控具有不可替代的優(yōu)勢。</p><p>  根據(jù)視頻網絡傳輸方式,遠程視頻監(jiān)控系統(tǒng)可分為有線網絡遠程監(jiān)控和無線網絡遠程監(jiān)控兩種方式。無線視頻監(jiān)控系統(tǒng)克服有線網絡鋪設上投資成本高、距離受限的弊端,使遠程視頻監(jiān)控系統(tǒng)的無線化逐漸成為近年來的發(fā)展趨勢。遠程視頻監(jiān)控的無線化包括兩個方面

33、:</p><p>  1)監(jiān)控中心(監(jiān)控者)和被監(jiān)控對象都是可以移動的,不受有線網絡束縛,監(jiān)控地點靈活,即監(jiān)控者和被監(jiān)控對象都可以是動態(tài)的。</p><p>  2)視頻監(jiān)控網絡的無線化。</p><p>  無線網絡遠程監(jiān)控又分為兩種:一種單獨構建無線網絡,基于WLAN(無線局域網)、無線城域網的WiMAX技術的視頻監(jiān)控系統(tǒng)技術已經成熟,但自己構建網絡需要傳輸設

34、備、中繼站等,工作量大。另一種基于移動通信網絡,依托遍布全球的2G和3G無線通信網絡,打破了距離的限制,可以實現(xiàn)全球漫游監(jiān)控。2G通信網絡主要是利用GPRS/CDMA/EDGE數(shù)據(jù)業(yè)務通過Internet進行通信,GPRS/CDMA/EDGE數(shù)據(jù)傳輸理論最大值為171.2kbps/144kbps/473.6kbps。中國國產3G標準TD-SCDMA的通信網絡,網絡數(shù)據(jù)傳輸帶寬將達到2Mbps。H.264格式的壓縮編碼視頻幀率為30fps

35、/25fpS/15fps所占用的碼率為384Kbps/256Kbps/128Kbps因此,基于3G通信網絡的遠程視頻監(jiān)控系統(tǒng)有望實現(xiàn)實時監(jiān)控流暢視頻。</p><p>  1.3嵌入式視頻監(jiān)控系統(tǒng)常見設計方案</p><p>  目前,國內外基于嵌入式網絡視頻監(jiān)控系統(tǒng)的研究,一般集中于嵌入式視頻監(jiān)控系統(tǒng)的設計、嵌入式操作系統(tǒng)的研究、視頻圖像處理以及視頻圖像的網絡傳輸?shù)葞讉€方面。</p

36、><p>  在嵌入式視頻監(jiān)控系統(tǒng)設計方面,一般考慮系統(tǒng)的整體結構和功能,基于B/S(瀏覽器和服務器)或者C/S(客戶端和服務器)架構,具體功能模塊采用軟件或硬件技術等。例如小型網絡攝像機,系統(tǒng)由圖像傳感器、嵌入式處理器、圖像處理器、網絡接口組成,通過壓縮優(yōu)化算法和背景差分算法,可以使攝像機實現(xiàn)實時的圖像壓縮、傳輸,并能跟蹤目標,該系統(tǒng)的主要特點是實時性的提高;在嵌入式操作系統(tǒng)方面,除對系統(tǒng)進行一些剪裁和移植外,一般

37、集中于嵌入式系統(tǒng)驅動程序的研究,例如在嵌入式Linux下對視頻采集設備驅動程序的研究等;關于視頻圖像處理的研究,一般是通過一定的圖形分析算法,實現(xiàn)目標識別,目標跟蹤,以及報警等功能。例如利用背景差分算法,在圖像處理中控制運動模塊,使攝像機可以跟蹤信息庫中的目標網等;對于視頻圖像網絡傳輸?shù)难芯糠矫妫?,有在IP組播方式下的網絡視頻傳輸方案,可以大大的節(jié)約網絡帶寬,提高視頻的播放效率。或者采用流媒體的格式傳送視頻圖像數(shù)據(jù),可以更好的實現(xiàn)視

38、頻的傳輸及播放等。</p><p>  現(xiàn)階段,嵌入式網絡視頻監(jiān)控系統(tǒng)的解決方案主要有以下幾種:</p><p>  1)視頻采集芯片+DSP處理器</p><p>  該方案中由視頻采集芯片完成圖像的預處理,由DSP完成圖像的編碼,基于</p><p>  MPEG-4、H.264或MJPEG標準的壓縮,經以太網網絡傳輸。方案的主要缺點是控

39、制不夠靈活,不適合作系統(tǒng)控制,另外,DSP通常沒有強大的操作系統(tǒng)支持。</p><p>  2)DSP處理器+嵌入式處理器</p><p>  該方案采用由DSP完成基于MPEG-4、H.264或MJPEG標準的圖像壓縮,在嵌</p><p>  入式處理器ARM/FPGA上運行嵌入式操作系統(tǒng)進行系統(tǒng)控制和網絡傳輸。方案的主要缺點是:由于有兩個主要的芯片,設計、調試

40、、使用等方面具有一定難度,且系統(tǒng)成本偏高。</p><p>  3)圖像采集芯片+嵌入式處理器</p><p>  該方案中,在嵌入式處理器上運行嵌入式操作系統(tǒng)進行系統(tǒng)控制和網絡傳輸。方案的主要缺點是:其應用主要針對某一類產品,如數(shù)碼攝像機,所以具有一定的局限性;缺乏強大的圖像處理能力,很難滿足高實時性要求。</p><p><b>  4)其他方案<

41、;/b></p><p>  可以采用DSP中央處理器完成圖像壓縮編碼、編碼數(shù)據(jù)網絡傳輸和本地存儲,</p><p>  CPLD完成圖像采集的控制邏輯的脫機遠程視頻監(jiān)控方案。</p><p>  1.4本文的主要研究工作</p><p>  1、課題研究背景和意義;</p><p>  2、嵌入式網絡視頻監(jiān)控系

42、統(tǒng)中的關鍵技術介紹:</p><p>  3、系統(tǒng)的硬件結構設計,包括:</p><p>  1、硬件系統(tǒng)整體結構的設計; </p><p>  2、以微處理器S3C4510B為核心的主控電路及其外圍電路的設計;</p><p>  4、宿主機上硬件開發(fā)平臺的搭建。</p><p>  5、系統(tǒng)的軟件設計,包括:<

43、;/p><p>  1、嵌入式Linux系統(tǒng)uCLinux的來源、特點以及結構介紹:</p><p>  2、宿主機上Linux開發(fā)環(huán)境的建立與使用;</p><p>  3、uCLinux內核的升級、編譯方法和詳細過程:</p><p>  4、在uCLinux上添加用戶應用程序的步驟;</p><p>  5、嵌入式W

44、EB服務器的介紹以及與其相關的各項技術簡介;</p><p>  6、嵌入式WEB服務器各個功能模塊的實現(xiàn),包括主程序、用戶管理模塊、設備管理模塊、網絡管理模塊的實現(xiàn)。</p><p>  第二章總體方案設計及平臺搭建</p><p>  隨著壓縮編碼技術、計算機網絡技術和嵌入式系統(tǒng)的發(fā)展以及芯片成本的下降,以嵌入式視頻服務器為核心的視頻監(jiān)測系統(tǒng)在市場上嶄露頭角。通

45、用的Web服務器通常用于有大量用戶并發(fā)訪問的普通網站,以強有力的數(shù)據(jù)庫為用戶提供商業(yè)服務,而嵌入式處理器能力和存儲容量有限,通用大型服務器無法在嵌入式設備上運行。因此,采用功能相對簡單、體積更小、消耗資源更少的嵌入式Web服務器,是近年來出現(xiàn)的一種較為先進的方案。目前,嵌入式Web服務器的實現(xiàn)方法可以分成自主實現(xiàn)和修改移植兩種。自主設計需要自己開發(fā)網絡協(xié)議,難度及工作量較大。由于Linux的開放源碼思想和優(yōu)良的網絡功能,使它非常適合于嵌

46、入式Web服務器應用中,并能為開發(fā)者縮短開發(fā)周期和成本,這種開發(fā)方式是現(xiàn)在以至今后流行的開發(fā)方法。</p><p>  2.1 遠程視頻監(jiān)控系統(tǒng)方案設計</p><p>  比較前面給出的幾種嵌入式網絡視頻監(jiān)測系統(tǒng)的解決方案,對于網絡視頻監(jiān)控系統(tǒng)來說,視頻采集卡+DSP方案沒有強大的操作系統(tǒng)和網絡協(xié)議棧,不太適合做網絡視頻監(jiān)控系統(tǒng);DSP+ARM方案中,DSP進行圖像處理,刪進行指令控制,

47、設</p><p>  計得當效果不錯,但該方案采用了兩個處理器,成本提高,開發(fā)周期長,設計、調試上也具有一定困難;視頻采集卡+ARM方案缺乏強大的圖像處理能力,不能滿足實時性要求。</p><p>  目前,嵌入式微處理器性能大大提高,3G無線通信技術日趨成熟普及,因此,</p><p>  本文方案只采用ARM核心處理器,軟件方式壓縮視頻圖像,成本低廉,適合家庭

48、應用。</p><p>  2.1.1 監(jiān)控系統(tǒng)整體網絡結構設計</p><p>  嵌入式網絡監(jiān)控系統(tǒng)是以嵌入式設備作為Web服務器接入Internet網絡的.嵌入式設備連接到網絡后,以何種網絡結構構成系統(tǒng),就涉及到了網絡體系結構的選擇問題。網絡體系結構對整個網絡監(jiān)控系統(tǒng)來說是處于基礎地位的,合理選擇網絡體系結構對系統(tǒng)運行效率、系統(tǒng)應用的廣泛性和可維護性都有至關重要的作用。C/S和B/S

49、結構是當今世界開發(fā)模式技術架構的兩大主流技術。C/S是美國Borland公司最早研發(fā),B/S是美國微軟公司研發(fā)。目前,這兩項技術已被世界各國所掌握,國內公司以C/S和B/S技術開發(fā)出的產品也很多,這兩種技術都有自己一定的市場份額和客戶群。</p><p>  C/S(Clien/Server)結構即客戶機和服務器結構。它是軟件系統(tǒng)體系結構,C/S結構充分利用兩端硬件環(huán)境的優(yōu)勢,將任務合理地分配到Client端和S

50、erver端,降低了系統(tǒng)的通訊開銷。目前大多數(shù)應用軟件系統(tǒng)都是Client/Server形式的兩層結構,由于現(xiàn)在的軟件應用系統(tǒng)正在向分布式的Web應用發(fā)展,Web和Client Server應用都可以進行同樣的業(yè)務處理,應用不同的模塊共享邏輯組件。因此,內部的和外部的用戶都可以訪問新的和現(xiàn)有的應用系統(tǒng),通過現(xiàn)有應用系統(tǒng)中的邏輯可以擴展出新的應用系統(tǒng)。這也就是目前應用系統(tǒng)的發(fā)展方向。</p><p>  B/S(B

51、rowser/Server)結構即瀏覽器和服務器結構。它是隨著Internet技術的興起,對C/S結構的一種變化或者改進的結構。在這種結構下,用戶工作界面是通過WWW瀏覽器來實現(xiàn),極少部分事務邏輯在客戶端(Browser)實現(xiàn),但是主要事務邏輯在服務器端(Server)實現(xiàn),形成所謂三層3-tier結構。這樣就大大簡化了客戶端電腦載荷,減輕了系統(tǒng)維護與升級的成本和工作量,降低了用戶的總體成本(TCO)【14】。</p>&

52、lt;p>  Client/Server結構是建立在局域網的基礎上的,Browser/Server結構是建立在廣域網的基礎上的。總結它們主要的區(qū)別如下:</p><p><b>  (1)硬件環(huán)境不同</b></p><p>  C/S一般建立在專用的網絡上,小范圍里的網絡環(huán)境,局域網之間再通過專門服務器提供連接和數(shù)據(jù)交換服務。</p><p

53、>  B/S建立在廣域網之上的,不必是專門的網絡硬件環(huán)境,例如電話上網,租用設備,信息自己管理,有比C/S更強的適應范圍,一般只要有操作系統(tǒng)和瀏覽器就行。</p><p>  (2)對安全要求不同</p><p>  C/S通常面向相對固定的用戶群,對信息安全的控制能力很強。一些高度機密的信息系統(tǒng)采用C/S結構比較適宜,通過B/S發(fā)布部分可公開的信息。</p><

54、p>  由于B/S建立在廣域網基礎上,對安全的控制能力相對弱,面向的是不可知的用戶群。</p><p>  (3)對程序架構不同</p><p>  C/S程序更加注重流程,也可對權限多層次校驗,對系統(tǒng)運行速度可以較少考慮。</p><p>  B/S對安全以及訪問速度的多重考慮,建立在需要更加優(yōu)化的基礎之上。比C/S有更高的要求,B/S結構的程序架構是發(fā)展的

55、趨勢,從微軟的.Net系列,全面支持網絡的構件搭建的系統(tǒng),到SUN和IBM推的JavaBean構件技術等,使B/S更加成熟。</p><p><b>  (4)軟件重用不同</b></p><p>  C/S程序從整體性方面考慮,構件的重用性不如在B/S要求下的構件的重用性好。</p><p>  B/S的多重結構,具有構件相對獨立的功能。&l

56、t;/p><p><b>  (5)系統(tǒng)維護不同</b></p><p>  系統(tǒng)維護是軟件生存周期中開銷大、相當重要的環(huán)節(jié)。</p><p>  C/S程序必須從整體考察,處理出現(xiàn)的問題以及系統(tǒng)升級難,通常是再做一個全新的系統(tǒng)。</p><p>  B/S構件組成方面,構件可個別的更換,實現(xiàn)系統(tǒng)的無縫升級。系統(tǒng)維護開銷減到

57、最小,用戶從網上自己下載安裝就可以實現(xiàn)升級。</p><p><b>  (6)處理問題不同</b></p><p>  C/S程序可以處理用戶面固定,并且在相同區(qū)域,安全要求高的需求,與操作系統(tǒng)相關,應該都是相同的系統(tǒng)。</p><p>  B/S建立在廣域網上,面向不同的用戶群,分散地域,這是C/S無法做到的,與操作系統(tǒng)平臺關系最小。<

58、;/p><p><b>  (7)用戶接口不同</b></p><p>  C/S多是建立在windows平臺上,表現(xiàn)方法有限,對程序員普遍要求較高。</p><p>  B/S建立在瀏覽器上,有更加豐富和生動的表現(xiàn)方式與用戶交流,并且大部分難度減低,降低開發(fā)成本。</p><p><b>  (8)信息流不同&l

59、t;/b></p><p>  C/S程序一般是典型的中央集權的機械式處理,交互性相對低。</p><p>  B/S信息流向可變化。</p><p>  綜上所述,根據(jù)C/S和B/S結構的不同點,比較出C/S結構具有應用服務器運行數(shù)據(jù)負荷較輕、數(shù)據(jù)的儲存管理功能較為透明的優(yōu)點,C/S結構的劣勢是高昂的維護成本且投資大。B/S結構維護和升級方式簡單,成本低廉、

60、操作系統(tǒng)選擇更多,但有應用服務器運行數(shù)據(jù)負荷較重的缺點。本文監(jiān)控系統(tǒng)具有家庭小型應用的特點,數(shù)據(jù)量不大,需要成本低廉、簡單易用、維護方便,因此,本文的視頻監(jiān)控系統(tǒng)采用B/S結構。</p><p>  2.1.2視頻監(jiān)控系統(tǒng)硬件方案設計</p><p><b>  1)開發(fā)環(huán)境的簡圖</b></p><p>  嵌入式系統(tǒng)通常為一個資源受限的系統(tǒng)

61、。直接在嵌入式系統(tǒng)的硬件平臺上編寫軟件比較困難,有時甚至是不可能的。目前,一般采用的辦法是,先在通用計算機上編寫程序,然后,通過交叉編譯,生成目標平臺上可運行的二進制代碼格式,最后下載到目標平臺上的特定位置上運行。具體的硬件平臺連接如2.1圖所示。</p><p>  圖2.1系統(tǒng)的硬件結構原理圖</p><p>  2.1.3視頻監(jiān)控系統(tǒng)的系統(tǒng)軟件選擇</p><p&

62、gt;  嵌入式操作系統(tǒng)已經被廣泛應用到大量以嵌入式處理器為硬件基礎的系統(tǒng)中,常見的嵌入式操作系統(tǒng)有:Linux、VxWorks、Windows CE、Symbian、Palm等。這些操作系統(tǒng)都各有自己強勁的優(yōu)勢,Linux以其開源的經濟優(yōu)勢得到中小型企業(yè)的青睞;VxWorkS具有優(yōu)良的可靠性和卓越的實時性,系統(tǒng)和開發(fā)環(huán)境都是專用的,開發(fā)成本高、支持硬件數(shù)量有限,使得其多數(shù)應用在高精尖技術領域中;Windows CE有著全球最大的操作系

63、統(tǒng)廠商Microsoft強大的技術后盾,市場份額越來越多:Symbian操作系統(tǒng)是全球最大的手機開發(fā)制造商NOKIA的手機操作系統(tǒng),廣泛應用于高端智能手機上:Palm是專門為掌上電腦開發(fā)的OS,占用內存少,具有極強的開放性【9】。</p><p>  本系統(tǒng)的嵌入式設備考慮到源代碼的學習性和家用設備成本問題,采用了開放源代碼、高性能可剪裁內核、網絡功能優(yōu)秀的Linux系統(tǒng)。本系統(tǒng)Linux內核采用了2.6.12版

64、本,與2.4.x版本相比,Linux2.6內核對系統(tǒng)的穩(wěn)定性、統(tǒng)一的設備模型、即插即用支持、大數(shù)量的蝴支持、擴展性、文件系統(tǒng)等方面進行了改進,尤其是搶占式內核、I/O性能的改進提高了系統(tǒng)的實時性。這將顯著提高交互式和多媒體應用程序的性能。</p><p>  因此,本文的嵌入式視頻監(jiān)控系統(tǒng)的總體架構圖如圖2.2所示。</p><p>  圖2.2基于嵌入式Web服務器視頻監(jiān)控系統(tǒng)總體架構圖

65、</p><p>  2.2系統(tǒng)開發(fā)平臺的搭建</p><p>  有的嵌入式操作系統(tǒng)的處理能力和存儲能力較弱,不能在它上面安裝開發(fā)軟件;有的嵌入式操作系統(tǒng)的處理器結構特殊,沒有可以在上面運行的開發(fā)工具。所以,在嵌入式系統(tǒng)開發(fā)時,通常需要采取交叉開發(fā)的方式進行。交叉開發(fā)環(huán)境的模型如圖2.3所示。</p><p>  圖2.3交叉編譯環(huán)境模型</p>&

66、lt;p>  TARGET是嵌入式系統(tǒng),HOST是開發(fā)主機。在開發(fā)主機上可以安裝開發(fā)工具,編輯、編譯目標系統(tǒng),然后在目標板上運行。這種在主機環(huán)境下開發(fā),在目標板上運行的開發(fā)模式稱為交叉開發(fā)。</p><p>  2.3嵌入式Linux的移植</p><p>  從軟件的角度來看,一個嵌入式Linux的系統(tǒng)通常可分為四個層次,如圖2.4</p><p><

67、b>  所示:</b></p><p>  圖2.4嵌入式系統(tǒng)的軟件體系結構</p><p>  這四個層次自下而上為:</p><p>  1)引導加載程序。包括固化在固件(firmware)中的Boot代碼(可選)和Boot Loader兩大部分。</p><p>  2)操作系統(tǒng)內核。如Linux內核,通常包含內核的啟

68、動參數(shù)。</p><p>  3)文件系統(tǒng)。包括根文件系統(tǒng)和建立于Flash內存設備之上的文件系統(tǒng)。在嵌</p><p>  入式系統(tǒng)中,通常用Ramdisk來作為文件系統(tǒng)。</p><p>  4)用戶應用程序。針對特定用戶的專用應用程序。有時在用戶應用程序和內核</p><p>  層之間可能還會包括一個嵌入式圖形用戶界面。</p&

69、gt;<p><b>  2.4本章小結</b></p><p>  本章對遠程視頻監(jiān)控系統(tǒng)總體方案進行了設計,搭建了主機開發(fā)環(huán)境和嵌入式開發(fā)環(huán)境,對嵌入式Linux系統(tǒng)的Bootloader、kemel和根文件系統(tǒng)進行修改和移植。</p><p>  第三章視頻采集模塊的設計與實現(xiàn)</p><p>  視頻數(shù)據(jù)的采集是視頻監(jiān)控系

70、統(tǒng)實現(xiàn)的第一步,也是視頻壓縮和視頻傳輸?shù)幕A。本監(jiān)控系統(tǒng)由多個功能模塊構成,視頻服務器主要涉及到三部分功能,一部分是基于V4L2的圖像采集,一部分是建立嵌入式Web服務器,設計CGI程序,實現(xiàn)用戶遠程通過Web頁面控制視頻采集傳輸?shù)墓δ?,另外部分是建立視頻數(shù)據(jù)庫。本章主要對Linux下采用V4L2標準的USB攝像頭驅動程序的圖像采集過程進行介紹,并采用FFmpeg對視頻圖像進行H.264格式的壓縮編碼,同時建立視頻數(shù)據(jù)庫,以便瀏覽器端對

71、圖像數(shù)據(jù)操作。</p><p>  3.1 基于V4L2的視頻采集模塊設計</p><p>  V4L(Video for Linux)是在linux內核中關于視頻設備的API接口,涉及開關視頻設備、采集并處理視頻圖像信息。V4L從2.1.x版本的內核中開始出現(xiàn)。V4L2(Video for Linux Two)是V4L接口標準的改進版本,修復了第一代的部分設計bug。從2.5.x開始,V

72、4L2就被集成到了內核里。V4L2是音頻、視頻和其他輸出設備的內核接口。與V4L相比,它的擴展性和靈活性都得到了極大的提高,并且支持的硬件設備也更多,但由于它對V4L做了徹底的改造,使得它與V4L并不兼容.</p><p>  USB攝像頭在Linux中屬于字符設備,成功加載了USB攝像頭驅動程序后,插</p><p>  入攝像頭就會生成設備文件“/dev/video()”。因此,在應用

73、程序中通過讀寫該文件取得攝像頭采集的圖像數(shù)據(jù)。</p><p>  對于USB口攝像頭,其驅動程序中需要提供基本的I/O操作接口函數(shù)open()、</p><p>  read()、write()、close()的實現(xiàn),對中斷的處理實現(xiàn),內存映射功能以及對I/O通道的控制接口函數(shù)ioctl()的實現(xiàn)等,并把它們定義在struct file_operations中。這樣當應用程序對設備文件進

74、行諸如open()等系統(tǒng)調用操作時,Linux內核將通過file operations結構訪問驅動程序提供的函數(shù)。</p><p>  3.1.1 V4L2視頻采集的數(shù)據(jù)結構</p><p>  在Linux系統(tǒng)的/usr/include/linux/videodev2.h中定義了v412常用的數(shù)據(jù)結構:</p><p>  struct v4l2_requestb

75、uffers reqbufs; //向驅動申請幀緩沖的請求,里面包含申請的個數(shù)</p><p>  struct v4l2-capability cap; //這個設備的功能,比如是否是視頻輸入設備</p><p>  struct v4l2_input input; //視頻輸入</p><p>  struct v4l2_standard; //視頻的制

76、式,比如PAL,NTSC</p><p>  struct v4l2_format fmt: //幀的格式,比如寬度,高度等</p><p>  struct v412_buffer buf; //代表驅動中的一幀</p><p>  v4l2_std_id stdid; //視頻制式,例如:V4L2_STD_PAI_B</p><p

77、>  struct v4l2_querytrl; //查詢的控制</p><p>  struct v4l2_control control; //具體控制的值</p><p>  3.1.2 V4L2視頻采集的流程</p><p>  Linux下基于V4L2 API接口進行圖像采集的程序實現(xiàn)流程圖如圖3.1.2所示:</p><

78、p>  圖3.1視頻圖像采集流程圖</p><p>  具體的視頻采集主要步驟為:</p><p><b>  1)打開視頻設備</b></p><p>  在Linux中,把視頻設備看作設備文件,即/dev,video0。通過調用open()函數(shù)來實現(xiàn),open()函數(shù)帶有三個參數(shù),第一個為設備文件名,第二個則是打開的類型。</p

79、><p>  用非阻塞模式打開攝像頭設備:</p><p>  int cameraFd;</p><p>  cameraFd=open(“/dev/video0”,O_RDWR |O_NONBLOCK,O);</p><p>  如果用阻塞模式打開攝像頭設備,則:</p><p>  cameraFd=open(“/d

80、ev/video0”,O_RDWR,0);</p><p>  應用程序能夠使用阻塞模式或非阻塞模式打開視頻設備,如果使用非阻塞模式調用視頻設備,即使尚未捕獲到信息,驅動依舊會把緩存(DQBUFF)里的東西返回給應用程序。</p><p>  2)設定屬性及采集方式</p><p>  打開視頻設備后,可以設置該視頻設備的屬性,例如裁剪、縮放等。這一步是可選的。在L

81、inux編程中,一般使用ioctl函數(shù)來對設備的I/O通道進行管理:</p><p>  Extem int ioctl(int_fd,unsigned long int_requst,...)_THROW;</p><p>  _fd:設備的ID,例如剛才用open函數(shù)打開視頻通道后返回的camer Fd;</p><p>  _request:具體的命令標志符

82、。</p><p>  在進行V4L2開發(fā)中,一般會用到以下的命令標志符:</p><p>  VIDIOC_REQBUFS:分配內存</p><p>  VIDIOC_QUERYBUF:把VIDIOC_REQBUFS中分配的數(shù)據(jù)緩存轉換成物理地</p><p><b>  址</b></p><p&

83、gt;  VIDIOC_QUERYCAP:查詢驅動功能</p><p>  VIDIOC_ENUM_FMT:獲取當前驅動支持的視頻格式</p><p>  VIDIOC_S_FMT:設置當前驅動的頻捕獲格式</p><p>  VIDIOC_DQBUF:把數(shù)據(jù)放回緩存隊列</p><p>  VIDIOC_STREAMON:開始視頻顯示函數(shù)&

84、lt;/p><p>  VIDIOC_STREAMOFF:結束視頻顯示函數(shù)</p><p>  VIDIOC_QUERYSTD:檢查當前視頻設備支持的標準,例如PAL或NTSC。</p><p>  這些IO調用,有些是必須的,有些是可選擇的。</p><p>  ①查當前視頻設備支持的標準</p><p>  在亞洲,一

85、般使用PAL(720x576)制式的攝像頭,而歐洲一般使用NTSC(720x480),使用VIDIOC_QUERYSTD來檢測:</p><p>  v412_std_id std;</p><p><b>  do{</b></p><p>  ret=ioctl(fd,VIDl0C_QUERYSTD,&std);</p>

86、<p>  }wllile(ret==-1&&errno==EAGAIN);</p><p>  switch(std){</p><p>  case V4L2_STD_NYSC:</p><p>  case V4L2_STD_PAL:</p><p><b>  }</b></p

87、><p><b> ?、诓东@格式</b></p><p>  當檢測完視頻設備支持的標準后,還需要設定視頻捕獲格式:</p><p>  struct v4l2_format fmt;</p><p>  memset(&fmt,0,sizeof(fmt));</p><p>  fmt.ty

88、pe=V4L2_BUF_TYPE_VIDEO_CAPTURE;</p><p>  fmt.fmt.pix.width=720;</p><p>  fmt.fmt.pix.height=576;</p><p>  fmt.fmt.pix.pixelformat=V4L2_PIX_FMT_YUYV;</p><p>  fmt.fmt.pi

89、x.field=V4L2_FIELD_INTERLACED;</p><p>  if(ioctl(fd,VIDIOC_S_FMT,&fmt)==-1){</p><p><b>  return-l;</b></p><p><b>  }</b></p><p>  v4l2_forma

90、t結構體定義如下:</p><p>  struct v4l2_format </p><p><b>  {</b></p><p>  enum v412_buf_type ; ∥數(shù)據(jù)流類型,必須永遠是</p><p>  ∥v4L2_BUF_VIDEO_CAPTURE</p><p><

91、;b>  union</b></p><p><b>  {</b></p><p>  struct V412_pix_format pix;</p><p>  struct V412_window win;</p><p>  struct V412_vbi_format vbi;</p&g

92、t;<p>  _u8 raw_data[200];</p><p><b>  }fmt;</b></p><p><b>  };</b></p><p>  struct v412_pix_format</p><p><b>  {</b></p&g

93、t;<p>  _u32 width; //寬,必須是16的倍數(shù)</p><p>  _u32 height; //高,必須是16的倍數(shù)</p><p>  _u322 pixelformat;//視頻數(shù)據(jù)存儲類型,例如是YUV4:2:2還是I沁B</p><p>  enum v412_field field;</p><p>

94、;  _u32 bytesperline;</p><p>  _u32 sizeimage;</p><p>  enum v4l2_colorspace colorspace;</p><p>  _u32 priv;</p><p><b>  };</b></p><p><b>

95、; ?、鄯峙鋬却?lt;/b></p><p><b>  視頻捕獲分配內存:</b></p><p>  struct v412_requestbuffers req;</p><p>  if(ioctl(fd,VIDIOC_REQBUFS,&req)==- 1){</p><p>  return -

96、1;</p><p><b>  }</b></p><p>  v412_requestbuffers定義如下:</p><p>  struct V412_requestbuffers</p><p><b>  {</b></p><p>  _u32 count;

97、//緩存數(shù)量,也就是說在緩存隊列里保持多少張照片</p><p>  enum v412_buf_type type; //數(shù)據(jù)流類型,必須永遠是</p><p>  //V4L2_BUF_TYPE_VIDEO_CAPTURE</p><p>  enum v412_memory memory; //V4L2_MEMORY_MMAP或</p><

98、p>  //V4L2 MEMORY_USERPTR</p><p>  _u32 reserved[2];</p><p><b>  };</b></p><p>  ④獲取并記錄緩存的物理空間</p><p>  使用VIDIOC_REQBUFS,我們獲取了req.count個緩存,下一步通過調用VIDIOC_

99、QUERYBUF命令來獲取這些緩存的地址,然后使用mmap函數(shù)轉換成應用</p><p>  程序中的絕對地址,如圖3.2所示,最后把這段緩存放入緩存隊列:</p><p>  圖3.2mmap函數(shù)地址傳喚</p><p><b> ?、菀曨l采集方式</b></p><p>  操作系統(tǒng)一般把系統(tǒng)使用的內存劃分成用戶空間

100、和內核空間,分別由應用程序管理和操作系統(tǒng)管理。應用程序可以直接訪問內存的地址,而內核空間存放的是供內核訪問的代碼和數(shù)據(jù),用戶不能直接訪問。v412捕獲的數(shù)據(jù),最初是存放在內核空間的,這意味著用戶不能直接訪問該段內存,必須通過某些手段來轉換地址。</p><p>  Linux系統(tǒng)下有三種視頻采集方式:使用read、write方式,mmap內存映射</p><p>  方式和用戶指針模式。&

101、lt;/p><p>  read、write方式: 通過內核緩沖區(qū)來讀取數(shù)據(jù),在用戶空間和內核空間不斷拷貝數(shù)據(jù),占用了大量用戶內存空間,效率不高。</p><p>  mmap內存映射方式:mmap系統(tǒng)調用使得進程之間通過映射同一文件實現(xiàn)內存共享,訪問時只需要指針而不用調用文件操作函數(shù)。通過把設備文件映射到內存中,加速了I/o訪問。這是一種有效的方式。上面的mmap函數(shù)就是使用這種方式。<

102、;/p><p>  用戶指針模式:內存片段由應用程序自己分配。這點需要在v412_ requestbuffers里將memory字段設置成V4L2_MEMORY_USERPTR.</p><p>  因此,本文在程序實現(xiàn)中采用了內存映射方式截取視頻圖像樣,捕獲到的視頻數(shù)據(jù)被映射到內存區(qū)域,該映射內容區(qū)可讀寫并且可供不同進程共享。要對視頻數(shù)據(jù)進行壓縮等處理工作則可通過訪問內存映射區(qū)域進行。<

103、;/p><p><b>  3)處理采集數(shù)據(jù)</b></p><p>  V4L2有一個數(shù)據(jù)緩存,存放req.count數(shù)量的緩存數(shù)據(jù)。數(shù)據(jù)緩存采用FIFO的方式,當應用程序調用緩存數(shù)據(jù)時,緩存隊列將最先采集到的視頻數(shù)據(jù)緩存送出,并重新采集一張視頻數(shù)據(jù)。這個過程需要用到兩個ioctl命令,VIDIOC_DQBUF和VIDIOC_QBUF:</p><p

104、>  struct v412_buffer buf;</p><p>  memset(&buf,O,sizeof(buf));</p><p>  buf.type=V4L2_BUF_TYPE_VIDEO_CAPATURE;</p><p>  buf.memory=V4L2_MEMORY_MMAP;</p><p>  bu

105、f.index=0:</p><p><b>  //讀取緩存</b></p><p>  if(ioctl(cameraFd,VIDIOC_dqbuf, &buf)== -1)</p><p><b>  {</b></p><p><b>  return-1;</b&g

106、t;</p><p><b>  }</b></p><p>  //????視頻處理算法</p><p>  //重新放入緩存隊列</p><p>  if(ioctl(cameraFd,VIDIOC_QBUF,&buf)==-1){</p><p><b>  return-

107、l;</b></p><p><b>  }</b></p><p><b>  4)關閉視頻設備</b></p><p>  使用close函數(shù)關閉一個視頻設備:</p><p>  close(cameraFd);</p><p>  本課題的視頻采集圖像效果

108、,如圖3.3示。</p><p>  3.1.3視頻數(shù)據(jù)的存儲</p><p>  由于保存文件是保存在USB硬盤上,也就是需要不停的讀寫I/O設備,這樣的操作需要耗費大量的時間和資源,因此保存視頻文件模塊也是利用一個單獨線程來實現(xiàn)以提高程序的執(zhí)行效率。對于用戶而言,存儲的圖像能達到記錄的目的即可,對連續(xù)性的要求并不高,所以本系統(tǒng)以約10幀/秒的速度進行存儲,以此達到節(jié)省存儲空間的目的。存

109、儲速率的控制是通過定時器來完成的。</p><p>  同樣,此功能模塊也有自己的循環(huán)緩沖區(qū)存放壓縮后的視頻數(shù)據(jù),該線程不斷從該緩沖區(qū)讀取JPEG數(shù)據(jù),通過調用avilib庫的相關函數(shù)把這些視頻數(shù)據(jù)保存為avi格式的文件。對于“avi"格式文件,目前大多數(shù)播放器都能播放該格式的視頻文件。</p><p><b>  3.2視頻編碼</b></p>

110、<p>  通過USB攝像頭獲取的視頻圖像數(shù)據(jù)量較大,而網絡帶寬有限,不適合網絡實時傳輸,為了使視頻圖像在現(xiàn)有的網絡上有較高的傳輸速率和較好的視頻質量和有效的存儲視頻數(shù)據(jù),需要將原始的視頻圖像進行壓縮編碼。</p><p>  3.2.1視頻編碼技術的選擇</p><p>  傳統(tǒng)的視頻壓縮編碼都是以香農信息論為基礎,用統(tǒng)計概率模型來描述信源,編碼實體是像素或像素塊。這種基于

111、數(shù)理統(tǒng)計、旨在消除視頻數(shù)據(jù)相關冗余的編碼技術被稱為第一代視頻編碼技術,JPEG、MPEG-1、H.261、H.263是其典型代表。第一代視頻編碼技術沒有考慮接受者特性、視頻信息的重要程度和具體含義,只是以去除數(shù)據(jù)的冗余為出發(fā)點,是一種較低層次的編碼技術。由此,出現(xiàn)了基于內容的第二代視頻編碼技術,它是以去除視頻內容的冗余為出發(fā)點,在視頻編碼時充分考慮了人眼的視覺特性影像。</p><p>  目前監(jiān)控中主要采用MJ

112、PEG、MPEG-1/2、MPEG4(SP/ASP)、H.264/AVC等幾種視頻編碼技術。用戶關心的主要要素有:清晰度、存儲量(帶寬)、穩(wěn)定性和價格。</p><p><b>  1)MJPEG</b></p><p>  MJPEG(Motion JPEG)壓縮技術,主要是基于靜態(tài)視頻壓縮發(fā)展起來的技術,它的主要特點是基本不考慮視頻流中不同幀之間的變化,只單獨對某

113、一幀進行壓縮。MJPEG壓縮技術可以獲取清晰度很高的視頻圖像,可以動態(tài)調整幀率、分辨率。但由于沒有考慮到幀間變化,造成大量冗余信息被重復存儲,因此單幀視頻的占用空間較大,目前流行的MJPEG技術最好的也只能做到3K字節(jié)/幀,通常要8~20K。</p><p>  2)MPEG-1/2</p><p>  MPEG-l標準主要針對SIF標準分辨率(NTSC制為352x240;PAL制為352

溫馨提示

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

評論

0/150

提交評論