版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、. . . . 京 江 學(xué) 院JINGJIANG COLLEGE OF J I A N G S U U N I V E R S I T Y基于WEB的遠(yuǎn)程視頻監(jiān)控系統(tǒng)的研究與設(shè)計(jì)The design of remote video surveillance system based on WEB學(xué)生學(xué)號: 3081155033 學(xué)生: 繆成鵬 專業(yè)班級: 電信工程 0802 指導(dǎo)教師: 正明 指導(dǎo)教師職稱: 教授 2012年 6月45 / 50基于WEB的遠(yuǎn)程視頻監(jiān)控系統(tǒng)的研究與設(shè)計(jì)專業(yè)班級: 電信工程 0802 學(xué)生: 繆成鵬 指導(dǎo)教師: 正明 指導(dǎo)教師職稱: 教授 摘 要 隨著網(wǎng)絡(luò)通信技術(shù)
2、和嵌入式技術(shù)的發(fā)展,基于嵌入式Web服務(wù)器的視頻監(jiān)控系統(tǒng)已成為監(jiān)控領(lǐng)域的發(fā)展趨勢,采用BS架構(gòu)的嵌入式Web服務(wù)器,監(jiān)控者無需到現(xiàn)場操作,系統(tǒng)成本低廉,設(shè)備體積小巧,安裝方便,故障維護(hù)升級簡單,安全可靠,滿足了現(xiàn)代消費(fèi)者的需求。本文針對視頻監(jiān)控設(shè)備前端一體化、小型化和便攜等相關(guān)需求,以動態(tài)數(shù)據(jù)交互技術(shù)和移動通信技術(shù)為基礎(chǔ),借助嵌入式系統(tǒng)的網(wǎng)絡(luò)支持,設(shè)計(jì)了一種基于Web服務(wù)器的BS方式的遠(yuǎn)程視頻監(jiān)控系統(tǒng)。設(shè)計(jì)中以ARM7芯片和Linux系統(tǒng)為軟硬件開發(fā)平臺,結(jié)合嵌入式Web技術(shù),給出了視頻監(jiān)控系統(tǒng)的總體設(shè)計(jì)方案,深入研究了各個(gè)功能模塊。目前3G無線通信網(wǎng)絡(luò)正在普與,為了滿足未來移動監(jiān)控的需要,本
3、系統(tǒng)數(shù)據(jù)傳輸引入了3G無線模塊的方案,為后續(xù)研究奠定了基礎(chǔ)。本文主要研究的嵌入式Web服務(wù)器的遠(yuǎn)程視頻監(jiān)控系統(tǒng)的軟件設(shè)計(jì),對現(xiàn)代視頻監(jiān)控的研究具有一定的參考價(jià)值。關(guān)鍵詞: 視頻監(jiān)控 嵌入式Web ARM Linux 3G無線通信The design of remote video surveillance system based on WEBAbstractWith the development of the communication and network technology and embedded technology, the video surveillance system
4、 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,it neednt be operated at a special physical positionThis design method can reduce the cost as well as the size of th
5、e entire systemThe device is more convenient to be installed,easier to be maintained and upgradedIt can provide safe and reliable services to meet the demands for modern peopleThis paper aiming at satisfying the needs of the front-end integration, compact,portable in current video surveillance syste
6、ms,a Web-based the B/S mode remote video monitoring system is designedWe adopt the ARM7 and Linux systems as soft hardware development platform in our designCombining with embedded Web technology. We are mainly engaged in following work. 3G wireless communication networks are currently popular, in o
7、rder to meet the needs of future motion monitor,the data transmission of the system introduces 3G wireless moduleIt lays the foundation for further studyAn embedded Web server for remote video monitoring system described in this paper has a certain reference value for vehicle video motion monitoring
8、Key words: Video monitoring embedded Web ARM Linux 3Gwireless communication目 錄第一章 緒論111課題研究的背景和意義1111模擬視頻監(jiān)控系統(tǒng)1112本地?cái)?shù)字視額監(jiān)控系統(tǒng)2113遠(yuǎn)程網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)212視頻監(jiān)控系統(tǒng)的發(fā)展趨勢313嵌入式視頻監(jiān)控系統(tǒng)常見設(shè)計(jì)方案414本文的主要研究工作6第二章總體方案設(shè)計(jì)與平臺搭建721 遠(yuǎn)程視頻監(jiān)控系統(tǒng)方案設(shè)計(jì)7211 監(jiān)控系統(tǒng)整體網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計(jì)7212視頻監(jiān)控系統(tǒng)硬件方案設(shè)計(jì)10213視頻監(jiān)控系統(tǒng)的系統(tǒng)軟件選擇1122系統(tǒng)開發(fā)平臺的搭建122.3嵌入式Linux的移植1324本章小結(jié)
9、14第三章視頻采集模塊的設(shè)計(jì)與實(shí)現(xiàn)1531 基于V4L2的視頻采集模塊設(shè)計(jì)153.1.1 V4L2視頻采集的數(shù)據(jù)結(jié)構(gòu)153.1.2 V4L2視頻采集的流程16313視頻數(shù)據(jù)的存儲2332視頻編碼23321視頻編碼技術(shù)的選擇24322基于FFmpeg的H.264編碼2533視頻數(shù)據(jù)庫27331 SQLite數(shù)據(jù)庫的設(shè)計(jì)27332 SQLite的編譯與移植2934本章小結(jié)30第四章Web服務(wù)器的搭建與數(shù)據(jù)的傳輸3141嵌入式Web服務(wù)器的構(gòu)建314.1.1嵌入式Web服務(wù)器的選擇314.1.2 Boa的移植和配置334.1.3公共網(wǎng)關(guān)接口(CGI)技術(shù)344.2 3G無線網(wǎng)絡(luò)視頻傳輸3643本章小
10、結(jié)39第五章總結(jié)與展望4051 總結(jié)4052展望41致42參考文獻(xiàn)43第一章 緒論網(wǎng)絡(luò)通信和微電子技術(shù)的快速發(fā)展和人民物質(zhì)生活水平的提高,使得人們的生產(chǎn)行為,生活方式發(fā)生了重大的變化,視頻監(jiān)控以其直觀,方面和容豐富等特點(diǎn)日益受到人們的重視。安防監(jiān)控從銀行到交通路口,從連鎖超市到小區(qū)圍,都會看到監(jiān)控產(chǎn)品的存在,大量犯罪案件在安防監(jiān)控產(chǎn)品的幫助下破獲。人們意識到視頻監(jiān)控對生產(chǎn)生活的安全非常重要,而網(wǎng)絡(luò)視頻監(jiān)控憑借其先進(jìn)的技術(shù)和貼近用戶習(xí)慣的使用方式,逐步走進(jìn)人們的生活當(dāng)中。 視頻監(jiān)控系統(tǒng)在保護(hù)安全,預(yù)防犯罪方面起到不可低估的作用,監(jiān)控市場領(lǐng)域不斷擴(kuò)大。據(jù)權(quán)威部門統(tǒng)計(jì),1998年全國圖像監(jiān)控系統(tǒng)的市
11、場總額為650億元,今年來一直保持15至30的速度快速增長。隨著攝像設(shè)備價(jià)格逐漸下降,計(jì)算機(jī)計(jì)算能力增強(qiáng)和網(wǎng)絡(luò)速度的提高,視頻監(jiān)控技術(shù)得到了快速的發(fā)展。11課題研究的背景和意義視頻監(jiān)控系統(tǒng)的產(chǎn)生和發(fā)展有兩個(gè)方面的原因:一方面,隨著人們安全防觀念的加強(qiáng),人們迫切希望通過監(jiān)控的方式來預(yù)防和減少公共場所的破壞與犯罪活動。另一方面,視頻技術(shù)和網(wǎng)絡(luò)通信技術(shù)日益成熟,為它的實(shí)現(xiàn)和應(yīng)用奠定了基礎(chǔ);而計(jì)算機(jī)技術(shù)和多媒體技術(shù)的迅速發(fā)展,將自動控制和多媒體技術(shù)融入到視頻監(jiān)控系統(tǒng)中來,促進(jìn)了它的普與和應(yīng)用。視頻監(jiān)控系統(tǒng)的發(fā)展大致經(jīng)歷了三個(gè)階段:a、模擬視頻監(jiān)控系統(tǒng);b、本地?cái)?shù)字視頻監(jiān)控系統(tǒng);c、遠(yuǎn)程網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)
12、。111模擬視頻監(jiān)控系統(tǒng)采用模擬方式傳輸,最簡單的就是將圖像信號直接送入視頻電纜進(jìn)行傳輸。每一監(jiān)控點(diǎn)的視頻信號都通過一條電纜線連接到中心控制室的多路切換器上,以手動切換方式選擇監(jiān)控點(diǎn)圖像,使之顯示在監(jiān)視器上。模擬視頻監(jiān)控有以下弊端:運(yùn)行與維護(hù)成本高;視頻圖像的質(zhì)量不能在任意時(shí)刻調(diào)整;無法聯(lián)網(wǎng),只能以點(diǎn)對點(diǎn)的方式監(jiān)控現(xiàn)場,使得布線工程量極大;檢索困難;難以做到無人值守。112本地?cái)?shù)字視額監(jiān)控系統(tǒng)進(jìn)入20世紀(jì)80年代,隨著數(shù)字化技術(shù)的發(fā)展,人們從過去的模擬處理方式轉(zhuǎn)向數(shù)字處理方式,開始使用計(jì)算機(jī)處理圖像信號。利用計(jì)算機(jī)的數(shù)據(jù)處理能力與顯示器的高清晰度,將視頻信號通過視頻采集卡采集到計(jì)算機(jī)中,顯示在
13、顯示器上,大大提高了圖像的畫質(zhì),但是控制與切換仍采用傳統(tǒng)的單片機(jī)方式,只是計(jì)算機(jī)串口與之相連,完成控制工作。盡管它有良好的人機(jī)界面,較好的穩(wěn)定性,但它不能稱為真正的數(shù)字圖像監(jiān)控系統(tǒng)。其根本原因在于系統(tǒng)設(shè)計(jì)的出發(fā)點(diǎn)不是基于計(jì)算機(jī),而是基于傳統(tǒng)模式。大部分時(shí)間里,計(jì)算機(jī)只是充當(dāng)一個(gè)外部監(jiān)視器的角色,并且傳統(tǒng)單片機(jī)系統(tǒng)固有的弊端并沒有克服,通信協(xié)議的多樣化與專用化很難統(tǒng)一,導(dǎo)致現(xiàn)有的計(jì)算機(jī)資源遠(yuǎn)遠(yuǎn)滿足不了多種設(shè)備的要求。另外計(jì)算機(jī)的運(yùn)行速度較低,而數(shù)字視頻的數(shù)據(jù)量又很大,這樣就限制了利用一臺計(jì)算機(jī)同時(shí)處理更多數(shù)字視頻信號的能力。很難組建大型監(jiān)控系統(tǒng)。113遠(yuǎn)程網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)第三代視頻監(jiān)控系統(tǒng)遠(yuǎn)程網(wǎng)
14、絡(luò)視頻監(jiān)控系統(tǒng)。遠(yuǎn)程網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)的關(guān)鍵設(shè)備是網(wǎng)絡(luò)視頻信號采集終端(也被稱為視頻服務(wù)器),網(wǎng)絡(luò)視頻信號采集終端采用嵌入式實(shí)時(shí)多任務(wù)操作系統(tǒng)。攝像機(jī)送來的視頻信號在網(wǎng)絡(luò)視頻信號采集終端數(shù)字化后由高效壓縮芯片壓縮,通過部總線送到網(wǎng)絡(luò)接口發(fā)送到網(wǎng)絡(luò)上,網(wǎng)絡(luò)上用戶可以直接用在PC機(jī)上用瀏覽器觀看網(wǎng)絡(luò)視頻信號采集終端傳送過來的攝像機(jī)所拍攝的圖像,授權(quán)用戶還可以通過計(jì)算機(jī)網(wǎng)絡(luò)透過網(wǎng)絡(luò)視頻信號采集終端控制攝像機(jī)鏡頭和云臺的動作或?qū)ο到y(tǒng)進(jìn)行配置操作。由于把視頻壓縮和網(wǎng)絡(luò)功能集中到一個(gè)體積很小的設(shè)備,可以直接連入局域網(wǎng),達(dá)到即插即用,省掉多種復(fù)雜的電纜,安裝方便,僅需設(shè)置一個(gè)IP地址,用戶也無需安裝任何硬件設(shè)
15、備,僅通過PC機(jī)用瀏覽器即可觀看。數(shù)字網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)與其它監(jiān)控系統(tǒng)的比較:布控區(qū)域廣闊。數(shù)字網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)的網(wǎng)絡(luò)視頻信號采集終端直接連入網(wǎng)絡(luò),沒有線纜長度和信號衰減的限制,同時(shí)網(wǎng)絡(luò)是沒有距離概念的,徹底拋棄了地域的概念,擴(kuò)展布控區(qū)域;系統(tǒng)具有幾乎無限的無縫擴(kuò)展能力。所有設(shè)備都以IP地址進(jìn)行標(biāo)識,增加設(shè)備只是意味著IP地址的擴(kuò)充;可組成非常復(fù)雜的監(jiān)控網(wǎng)絡(luò)。采用基于網(wǎng)絡(luò)視頻信號采集終端為核心的系統(tǒng),在組網(wǎng)方式上與以往的監(jiān)控方式有極大的不同,由于視頻信號采集終端輸出已完成模擬到數(shù)字的轉(zhuǎn)換并壓縮,采用統(tǒng)一的協(xié)議在網(wǎng)絡(luò)上傳輸,支持跨網(wǎng)關(guān)、跨路由器的遠(yuǎn)程視頻傳輸;性能穩(wěn)定可靠,無需專人管理。視頻信號采
16、集終端實(shí)際上基于嵌入式電腦技術(shù),采用嵌入式實(shí)時(shí)多任務(wù)操作系統(tǒng),又由于視頻壓縮和網(wǎng)絡(luò)功能集中到一個(gè)體積很小的設(shè)備,直接連入局域網(wǎng)或廣域網(wǎng),即插即看,系統(tǒng)的實(shí)時(shí)性、可靠性大大提高,也無需專人管理,非常適合無人值守的環(huán)境;當(dāng)需要同時(shí)觀看多路監(jiān)控視頻時(shí),對網(wǎng)絡(luò)帶寬就會有一定的要求。12視頻監(jiān)控系統(tǒng)的發(fā)展趨勢將嵌入式系統(tǒng)技術(shù)、無線通信技術(shù)和基于TCP/IP的Internet就技術(shù)結(jié)合在一起的視頻監(jiān)控系統(tǒng)將成為監(jiān)控系統(tǒng)的未來發(fā)展方向。利用嵌入式技術(shù)采集并對現(xiàn)場信息進(jìn)行相應(yīng)處理,再通過無線通信方式傳輸?shù)絀nternet上,用戶通過internet來管理和使用信息。由于采用了3G等無線數(shù)據(jù)通信方式,可省去有線
17、方式下必須采用的物理布線,并且無線方式有利于對監(jiān)視點(diǎn)的合理安排,克服了傳統(tǒng)系統(tǒng)只能用于固定現(xiàn)場的監(jiān)視。因此,這種監(jiān)視方式在工農(nóng)業(yè)生產(chǎn)、移動通信、家用電器自動化等領(lǐng)域都具有相當(dāng)廣闊的應(yīng)用前景。目前,視頻監(jiān)控系統(tǒng)的發(fā)展趨勢可以概括為:1)視頻監(jiān)控?cái)?shù)字化。視頻監(jiān)控發(fā)展經(jīng)歷了模擬視頻監(jiān)控、半數(shù)字監(jiān)控、數(shù)字監(jiān)控三個(gè)階段。對于視頻監(jiān)控,數(shù)字化存儲帶來的是一場革命性的變化。數(shù)字化是21世紀(jì)的時(shí)代特征,視頻監(jiān)控的數(shù)字化是監(jiān)控技術(shù)的必然趨勢。2)視頻監(jiān)控智能化。智能化是視頻監(jiān)控技術(shù)發(fā)展比較高級的層次。由于視頻監(jiān)控的數(shù)據(jù)量非常大,而用戶真正需要的信息只是少部分,真正需要監(jiān)視的只是發(fā)生概率很小的某些事件,如何通過海
18、量數(shù)據(jù)獲取有價(jià)值的信息,如何從目視解釋變?yōu)闄C(jī)器自動解釋是視頻監(jiān)控技術(shù)發(fā)展的一個(gè)新方向。因?yàn)槟馨岩曨l監(jiān)控從靜態(tài)的、事后取證變成動態(tài)的、實(shí)時(shí)預(yù)防和告警對用戶來說明顯更加重要。實(shí)際上現(xiàn)有的大型監(jiān)控系統(tǒng)都配置自動位移偵測、晝夜自適應(yīng)切換存儲、預(yù)警設(shè)置(如可疑人物照片、指紋等)等一些基本的智能化功能。3)視頻監(jiān)控IP化。視頻網(wǎng)絡(luò)、PTV等都是網(wǎng)絡(luò)快速發(fā)展的重要應(yīng)用。隨著Internet技術(shù)的發(fā)展,基于IP的視頻監(jiān)控更能為人們所接受,網(wǎng)絡(luò)攝像機(jī)把壓縮的視頻信息通過TCP/IP協(xié)議,采用流媒體技術(shù)實(shí)現(xiàn)視頻在網(wǎng)上的多路復(fù)用傳輸,擁有授權(quán)的用戶可以隨時(shí)訪問互聯(lián)網(wǎng),實(shí)現(xiàn)對整個(gè)監(jiān)控系統(tǒng)的指揮、調(diào)度、存儲、授權(quán)控制等
19、功能。因此,基于IP的視頻監(jiān)控將會成為主流。4)視頻監(jiān)控?zé)o線化。隨著無線寬帶網(wǎng)絡(luò)的發(fā)展,基于3G的無線視頻應(yīng)用備受關(guān)注。當(dāng)監(jiān)控點(diǎn)分散且與監(jiān)控中心距離較遠(yuǎn),或被監(jiān)控對象不固定(如出租車、運(yùn)鈔車等)時(shí),利用傳統(tǒng)有線網(wǎng)絡(luò)的視頻監(jiān)控往往成本高且難以實(shí)現(xiàn),而基于多種無線傳輸手段的移動視頻監(jiān)控具有不可替代的優(yōu)勢。根據(jù)視頻網(wǎng)絡(luò)傳輸方式,遠(yuǎn)程視頻監(jiān)控系統(tǒng)可分為有線網(wǎng)絡(luò)遠(yuǎn)程監(jiān)控和無線網(wǎng)絡(luò)遠(yuǎn)程監(jiān)控兩種方式。無線視頻監(jiān)控系統(tǒng)克服有線網(wǎng)絡(luò)鋪設(shè)上投資成本高、距離受限的弊端,使遠(yuǎn)程視頻監(jiān)控系統(tǒng)的無線化逐漸成為近年來的發(fā)展趨勢。遠(yuǎn)程視頻監(jiān)控的無線化包括兩個(gè)方面:1)監(jiān)控中心(監(jiān)控者)和被監(jiān)控對象都是可以移動的,不受有線網(wǎng)絡(luò)
20、束縛,監(jiān)控地點(diǎn)靈活,即監(jiān)控者和被監(jiān)控對象都可以是動態(tài)的。2)視頻監(jiān)控網(wǎng)絡(luò)的無線化。無線網(wǎng)絡(luò)遠(yuǎn)程監(jiān)控又分為兩種:一種單獨(dú)構(gòu)建無線網(wǎng)絡(luò),基于WLAN(無線局域網(wǎng))、無線城域網(wǎng)的WiMAX技術(shù)的視頻監(jiān)控系統(tǒng)技術(shù)已經(jīng)成熟,但自己構(gòu)建網(wǎng)絡(luò)需要傳輸設(shè)備、中繼站等,工作量大。另一種基于移動通信網(wǎng)絡(luò),依托遍布全球的2G和3G無線通信網(wǎng)絡(luò),打破了距離的限制,可以實(shí)現(xiàn)全球漫游監(jiān)控。2G通信網(wǎng)絡(luò)主要是利用GPRSCDMAEDGE數(shù)據(jù)業(yè)務(wù)通過Internet進(jìn)行通信,GPRSCDMAEDGE數(shù)據(jù)傳輸理論最大值為171.2kbps144kbps473.6kbps。中國國產(chǎn)3G標(biāo)準(zhǔn)TD-SCDMA的通信網(wǎng)絡(luò),網(wǎng)絡(luò)數(shù)據(jù)傳輸
21、帶寬將達(dá)到2Mbps。H.264格式的壓縮編碼視頻幀率為30fps25fpS15fps所占用的碼率為384Kbps256Kbps128Kbps因此,基于3G通信網(wǎng)絡(luò)的遠(yuǎn)程視頻監(jiān)控系統(tǒng)有望實(shí)現(xiàn)實(shí)時(shí)監(jiān)控流暢視頻。13嵌入式視頻監(jiān)控系統(tǒng)常見設(shè)計(jì)方案目前,國外基于嵌入式網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)的研究,一般集中于嵌入式視頻監(jiān)控系統(tǒng)的設(shè)計(jì)、嵌入式操作系統(tǒng)的研究、視頻圖像處理以與視頻圖像的網(wǎng)絡(luò)傳輸?shù)葞讉€(gè)方面。在嵌入式視頻監(jiān)控系統(tǒng)設(shè)計(jì)方面,一般考慮系統(tǒng)的整體結(jié)構(gòu)和功能,基于BS(瀏覽器和服務(wù)器)或者CS(客戶端和服務(wù)器)架構(gòu),具體功能模塊采用軟件或硬件技術(shù)等。例如小型網(wǎng)絡(luò)攝像機(jī),系統(tǒng)由圖像傳感器、嵌入式處理器、圖像處
22、理器、網(wǎng)絡(luò)接口組成,通過壓縮優(yōu)化算法和背景差分算法,可以使攝像機(jī)實(shí)現(xiàn)實(shí)時(shí)的圖像壓縮、傳輸,并能跟蹤目標(biāo),該系統(tǒng)的主要特點(diǎn)是實(shí)時(shí)性的提高;在嵌入式操作系統(tǒng)方面,除對系統(tǒng)進(jìn)行一些剪裁和移植外,一般集中于嵌入式系統(tǒng)驅(qū)動程序的研究,例如在嵌入式Linux下對視頻采集設(shè)備驅(qū)動程序的研究等;關(guān)于視頻圖像處理的研究,一般是通過一定的圖形分析算法,實(shí)現(xiàn)目標(biāo)識別,目標(biāo)跟蹤,以與報(bào)警等功能。例如利用背景差分算法,在圖像處理中控制運(yùn)動模塊,使攝像機(jī)可以跟蹤信息庫中的目標(biāo)網(wǎng)等;對于視頻圖像網(wǎng)絡(luò)傳輸?shù)难芯糠矫?,例如,有在IP組播方式下的網(wǎng)絡(luò)視頻傳輸方案,可以大大的節(jié)約網(wǎng)絡(luò)帶寬,提高視頻的播放效率?;蛘卟捎昧髅襟w的格式傳
23、送視頻圖像數(shù)據(jù),可以更好的實(shí)現(xiàn)視頻的傳輸與播放等。現(xiàn)階段,嵌入式網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)的解決方案主要有以下幾種:1)視頻采集芯片+DSP處理器該方案中由視頻采集芯片完成圖像的預(yù)處理,由DSP完成圖像的編碼,基于MPEG-4、H.264或MJPEG標(biāo)準(zhǔn)的壓縮,經(jīng)以太網(wǎng)網(wǎng)絡(luò)傳輸。方案的主要缺點(diǎn)是控制不夠靈活,不適合作系統(tǒng)控制,另外,DSP通常沒有強(qiáng)大的操作系統(tǒng)支持。2)DSP處理器+嵌入式處理器該方案采用由DSP完成基于MPEG-4、H.264或MJPEG標(biāo)準(zhǔn)的圖像壓縮,在嵌入式處理器ARMFPGA上運(yùn)行嵌入式操作系統(tǒng)進(jìn)行系統(tǒng)控制和網(wǎng)絡(luò)傳輸。方案的主要缺點(diǎn)是:由于有兩個(gè)主要的芯片,設(shè)計(jì)、調(diào)試、使用等方面
24、具有一定難度,且系統(tǒng)成本偏高。3)圖像采集芯片+嵌入式處理器該方案中,在嵌入式處理器上運(yùn)行嵌入式操作系統(tǒng)進(jìn)行系統(tǒng)控制和網(wǎng)絡(luò)傳輸。方案的主要缺點(diǎn)是:其應(yīng)用主要針對某一類產(chǎn)品,如數(shù)碼攝像機(jī),所以具有一定的局限性;缺乏強(qiáng)大的圖像處理能力,很難滿足高實(shí)時(shí)性要求。4)其他方案可以采用DSP中央處理器完成圖像壓縮編碼、編碼數(shù)據(jù)網(wǎng)絡(luò)傳輸和本地存儲,CPLD完成圖像采集的控制邏輯的脫機(jī)遠(yuǎn)程視頻監(jiān)控方案。14本文的主要研究工作1、課題研究背景和意義;2、嵌入式網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)中的關(guān)鍵技術(shù)介紹:3、系統(tǒng)的硬件結(jié)構(gòu)設(shè)計(jì),包括:1、硬件系統(tǒng)整體結(jié)構(gòu)的設(shè)計(jì); 2、以微處理器S3C4510B為核心的主控電路與其外圍電路的
25、設(shè)計(jì);4、宿主機(jī)上硬件開發(fā)平臺的搭建。5、系統(tǒng)的軟件設(shè)計(jì),包括:1、嵌入式Linux系統(tǒng)uCLinux的來源、特點(diǎn)以與結(jié)構(gòu)介紹:2、宿主機(jī)上Linux開發(fā)環(huán)境的建立與使用;3、uCLinux核的升級、編譯方法和詳細(xì)過程:4、在uCLinux上添加用戶應(yīng)用程序的步驟;5、嵌入式WEB服務(wù)器的介紹以與與其相關(guān)的各項(xiàng)技術(shù)簡介;6、嵌入式WEB服務(wù)器各個(gè)功能模塊的實(shí)現(xiàn),包括主程序、用戶管理模塊、設(shè)備管理模塊、網(wǎng)絡(luò)管理模塊的實(shí)現(xiàn)。第二章總體方案設(shè)計(jì)與平臺搭建隨著壓縮編碼技術(shù)、計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)和嵌入式系統(tǒng)的發(fā)展以與芯片成本的下降,以嵌入式視頻服務(wù)器為核心的視頻監(jiān)測系統(tǒng)在市場上嶄露頭角。通用的Web服務(wù)器通常
26、用于有大量用戶并發(fā)訪問的普通,以強(qiáng)有力的數(shù)據(jù)庫為用戶提供商業(yè)服務(wù),而嵌入式處理器能力和存儲容量有限,通用大型服務(wù)器無法在嵌入式設(shè)備上運(yùn)行。因此,采用功能相對簡單、體積更小、消耗資源更少的嵌入式Web服務(wù)器,是近年來出現(xiàn)的一種較為先進(jìn)的方案。目前,嵌入式Web服務(wù)器的實(shí)現(xiàn)方法可以分成自主實(shí)現(xiàn)和修改移植兩種。自主設(shè)計(jì)需要自己開發(fā)網(wǎng)絡(luò)協(xié)議,難度與工作量較大。由于Linux的開放源碼思想和優(yōu)良的網(wǎng)絡(luò)功能,使它非常適合于嵌入式Web服務(wù)器應(yīng)用中,并能為開發(fā)者縮短開發(fā)周期和成本,這種開發(fā)方式是現(xiàn)在以至今后流行的開發(fā)方法。21 遠(yuǎn)程視頻監(jiān)控系統(tǒng)方案設(shè)計(jì)比較前面給出的幾種嵌入式網(wǎng)絡(luò)視頻監(jiān)測系統(tǒng)的解決方案,對于
27、網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)來說,視頻采集卡+DSP方案沒有強(qiáng)大的操作系統(tǒng)和網(wǎng)絡(luò)協(xié)議棧,不太適合做網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng);DSP+ARM方案中,DSP進(jìn)行圖像處理,刪進(jìn)行指令控制,設(shè)計(jì)得當(dāng)效果不錯(cuò),但該方案采用了兩個(gè)處理器,成本提高,開發(fā)周期長,設(shè)計(jì)、調(diào)試上也具有一定困難;視頻采集卡+ARM方案缺乏強(qiáng)大的圖像處理能力,不能滿足實(shí)時(shí)性要求。目前,嵌入式微處理器性能大大提高,3G無線通信技術(shù)日趨成熟普與,因此,本文方案只采用ARM核心處理器,軟件方式壓縮視頻圖像,成本低廉,適合家庭應(yīng)用。211 監(jiān)控系統(tǒng)整體網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計(jì)嵌入式網(wǎng)絡(luò)監(jiān)控系統(tǒng)是以嵌入式設(shè)備作為Web服務(wù)器接入Internet網(wǎng)絡(luò)的.嵌入式設(shè)備連接到網(wǎng)絡(luò)后
28、,以何種網(wǎng)絡(luò)結(jié)構(gòu)構(gòu)成系統(tǒng),就涉與到了網(wǎng)絡(luò)體系結(jié)構(gòu)的選擇問題。網(wǎng)絡(luò)體系結(jié)構(gòu)對整個(gè)網(wǎng)絡(luò)監(jiān)控系統(tǒng)來說是處于基礎(chǔ)地位的,合理選擇網(wǎng)絡(luò)體系結(jié)構(gòu)對系統(tǒng)運(yùn)行效率、系統(tǒng)應(yīng)用的廣泛性和可維護(hù)性都有至關(guān)重要的作用。C/S和B/S結(jié)構(gòu)是當(dāng)今世界開發(fā)模式技術(shù)架構(gòu)的兩大主流技術(shù)。CS是美國Borland公司最早研發(fā),BS是美國微軟公司研發(fā)。目前,這兩項(xiàng)技術(shù)已被世界各國所掌握,國公司以CS和BS技術(shù)開發(fā)出的產(chǎn)品也很多,這兩種技術(shù)都有自己一定的市場份額和客戶群。C/S(Clien/Server)結(jié)構(gòu)即客戶機(jī)和服務(wù)器結(jié)構(gòu)。它是軟件系統(tǒng)體系結(jié)構(gòu),C/S結(jié)構(gòu)充分利用兩端硬件環(huán)境的優(yōu)勢,將任務(wù)合理地分配到Client端和Serve
29、r端,降低了系統(tǒng)的通訊開銷。目前大多數(shù)應(yīng)用軟件系統(tǒng)都是Client/Server形式的兩層結(jié)構(gòu),由于現(xiàn)在的軟件應(yīng)用系統(tǒng)正在向分布式的Web應(yīng)用發(fā)展,Web和Client Server應(yīng)用都可以進(jìn)行同樣的業(yè)務(wù)處理,應(yīng)用不同的模塊共享邏輯組件。因此,部的和外部的用戶都可以訪問新的和現(xiàn)有的應(yīng)用系統(tǒng),通過現(xiàn)有應(yīng)用系統(tǒng)中的邏輯可以擴(kuò)展出新的應(yīng)用系統(tǒng)。這也就是目前應(yīng)用系統(tǒng)的發(fā)展方向。B/S(Browser/Server)結(jié)構(gòu)即瀏覽器和服務(wù)器結(jié)構(gòu)。它是隨著Internet技術(shù)的興起,對C/S結(jié)構(gòu)的一種變化或者改進(jìn)的結(jié)構(gòu)。在這種結(jié)構(gòu)下,用戶工作界面是通過WWW瀏覽器來實(shí)現(xiàn),極少部分事務(wù)邏輯在客戶端(Brows
30、er)實(shí)現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端(Server)實(shí)現(xiàn),形成所謂三層3-tier結(jié)構(gòu)。這樣就大大簡化了客戶端電腦載荷,減輕了系統(tǒng)維護(hù)與升級的成本和工作量,降低了用戶的總體成本(TCO)14。Client/Server結(jié)構(gòu)是建立在局域網(wǎng)的基礎(chǔ)上的,Browser/Server結(jié)構(gòu)是建立在廣域網(wǎng)的基礎(chǔ)上的??偨Y(jié)它們主要的區(qū)別如下:(1)硬件環(huán)境不同C/S一般建立在專用的網(wǎng)絡(luò)上,小圍里的網(wǎng)絡(luò)環(huán)境,局域網(wǎng)之間再通過專門服務(wù)器提供連接和數(shù)據(jù)交換服務(wù)。B/S建立在廣域網(wǎng)之上的,不必是專門的網(wǎng)絡(luò)硬件環(huán)境,例如上網(wǎng),租用設(shè)備,信息自己管理,有比C/S更強(qiáng)的適應(yīng)圍,一般只要有操作系統(tǒng)和瀏覽器就行。(2)對安
31、全要求不同C/S通常面向相對固定的用戶群,對信息安全的控制能力很強(qiáng)。一些高度的信息系統(tǒng)采用CS結(jié)構(gòu)比較適宜,通過B/S發(fā)布部分可公開的信息。由于BS建立在廣域網(wǎng)基礎(chǔ)上,對安全的控制能力相對弱,面向的是不可知的用戶群。(3)對程序架構(gòu)不同C/S程序更加注重流程,也可對權(quán)限多層次校驗(yàn),對系統(tǒng)運(yùn)行速度可以較少考慮。B/S對安全以與訪問速度的多重考慮,建立在需要更加優(yōu)化的基礎(chǔ)之上。比C/S有更高的要求,B/S結(jié)構(gòu)的程序架構(gòu)是發(fā)展的趨勢,從微軟的.Net系列,全面支持網(wǎng)絡(luò)的構(gòu)件搭建的系統(tǒng),到SUN和IBM推的JavaBean構(gòu)件技術(shù)等,使B/S更加成熟。(4)軟件重用不同C/S程序從整體性方面考慮,構(gòu)件
32、的重用性不如在B/S要求下的構(gòu)件的重用性好。BS的多重結(jié)構(gòu),具有構(gòu)件相對獨(dú)立的功能。(5)系統(tǒng)維護(hù)不同系統(tǒng)維護(hù)是軟件生存周期中開銷大、相當(dāng)重要的環(huán)節(jié)。C/S程序必須從整體考察,處理出現(xiàn)的問題以與系統(tǒng)升級難,通常是再做一個(gè)全新的系統(tǒng)。B/S構(gòu)件組成方面,構(gòu)件可個(gè)別的更換,實(shí)現(xiàn)系統(tǒng)的無縫升級。系統(tǒng)維護(hù)開銷減到最小,用戶從網(wǎng)上自己下載安裝就可以實(shí)現(xiàn)升級。(6)處理問題不同C/S程序可以處理用戶面固定,并且在一樣區(qū)域,安全要求高的需求,與操作系統(tǒng)相關(guān),應(yīng)該都是一樣的系統(tǒng)。B/S建立在廣域網(wǎng)上,面向不同的用戶群,分散地域,這是C/S無法做到的,與操作系統(tǒng)平臺關(guān)系最小。(7)用戶接口不同C/S多是建立在w
33、indows平臺上,表現(xiàn)方法有限,對程序員普遍要求較高。B/S建立在瀏覽器上,有更加豐富和生動的表現(xiàn)方式與用戶交流,并且大部分難度減低,降低開發(fā)成本。(8)信息流不同C/S程序一般是典型的中央集權(quán)的機(jī)械式處理,交互性相對低。B/S信息流向可變化。綜上所述,根據(jù)C/S和B/S結(jié)構(gòu)的不同點(diǎn),比較出C/S結(jié)構(gòu)具有應(yīng)用服務(wù)器運(yùn)行數(shù)據(jù)負(fù)荷較輕、數(shù)據(jù)的儲存管理功能較為透明的優(yōu)點(diǎn),C/S結(jié)構(gòu)的劣勢是高昂的維護(hù)成本且投資大。B/S結(jié)構(gòu)維護(hù)和升級方式簡單,成本低廉、操作系統(tǒng)選擇更多,但有應(yīng)用服務(wù)器運(yùn)行數(shù)據(jù)負(fù)荷較重的缺點(diǎn)。本文監(jiān)控系統(tǒng)具有家庭小型應(yīng)用的特點(diǎn),數(shù)據(jù)量不大,需要成本低廉、簡單易用、維護(hù)方便,因此,本文
34、的視頻監(jiān)控系統(tǒng)采用BS結(jié)構(gòu)。212視頻監(jiān)控系統(tǒng)硬件方案設(shè)計(jì)1)開發(fā)環(huán)境的簡圖嵌入式系統(tǒng)通常為一個(gè)資源受限的系統(tǒng)。直接在嵌入式系統(tǒng)的硬件平臺上編寫軟件比較困難,有時(shí)甚至是不可能的。目前,一般采用的辦法是,先在通用計(jì)算機(jī)上編寫程序,然后,通過交叉編譯,生成目標(biāo)平臺上可運(yùn)行的二進(jìn)制代碼格式,最后下載到目標(biāo)平臺上的特定位置上運(yùn)行。具體的硬件平臺連接如2.1圖所示。圖2.1系統(tǒng)的硬件結(jié)構(gòu)原理圖213視頻監(jiān)控系統(tǒng)的系統(tǒng)軟件選擇嵌入式操作系統(tǒng)已經(jīng)被廣泛應(yīng)用到大量以嵌入式處理器為硬件基礎(chǔ)的系統(tǒng)中,常見的嵌入式操作系統(tǒng)有:Linux、VxWorks、Windows CE、Symbian、Palm等。這些操作系統(tǒng)
35、都各有自己強(qiáng)勁的優(yōu)勢,Linux以其開源的經(jīng)濟(jì)優(yōu)勢得到中小型企業(yè)的青睞;VxWorkS具有優(yōu)良的可靠性和卓越的實(shí)時(shí)性,系統(tǒng)和開發(fā)環(huán)境都是專用的,開發(fā)成本高、支持硬件數(shù)量有限,使得其多數(shù)應(yīng)用在高精尖技術(shù)領(lǐng)域中;Windows CE有著全球最大的操作系統(tǒng)廠商Microsoft強(qiáng)大的技術(shù)后盾,市場份額越來越多:Symbian操作系統(tǒng)是全球最大的手機(jī)開發(fā)制造商N(yùn)OKIA的手機(jī)操作系統(tǒng),廣泛應(yīng)用于高端智能手機(jī)上:Palm是專門為掌上電腦開發(fā)的OS,占用存少,具有極強(qiáng)的開放性9。本系統(tǒng)的嵌入式設(shè)備考慮到源代碼的學(xué)習(xí)性和家用設(shè)備成本問題,采用了開放源代碼、高性能可剪裁核、網(wǎng)絡(luò)功能優(yōu)秀的Linux系統(tǒng)。本系統(tǒng)
36、Linux核采用了2.6.12版本,與2.4.x版本相比,Linux2.6核對系統(tǒng)的穩(wěn)定性、統(tǒng)一的設(shè)備模型、即插即用支持、大數(shù)量的蝴支持、擴(kuò)展性、文件系統(tǒng)等方面進(jìn)行了改進(jìn),尤其是搶占式核、I/O性能的改進(jìn)提高了系統(tǒng)的實(shí)時(shí)性。這將顯著提高交互式和多媒體應(yīng)用程序的性能。因此,本文的嵌入式視頻監(jiān)控系統(tǒng)的總體架構(gòu)圖如圖2.2所示。Web瀏覽器3G網(wǎng)絡(luò)Web瀏覽器3G網(wǎng)絡(luò)數(shù)據(jù)文件圖形界面web服務(wù)器web頁面交互程序程序接口USB硬盤USB攝像頭客戶端客戶端Linux操作系統(tǒng)圖2.2基于嵌入式Web服務(wù)器視頻監(jiān)控系統(tǒng)總體架構(gòu)圖22系統(tǒng)開發(fā)平臺的搭建有的嵌入式操作系統(tǒng)的處理能力和存儲能力較弱,不能在它上面
37、安裝開發(fā)軟件;有的嵌入式操作系統(tǒng)的處理器結(jié)構(gòu)特殊,沒有可以在上面運(yùn)行的開發(fā)工具。所以,在嵌入式系統(tǒng)開發(fā)時(shí),通常需要采取交叉開發(fā)的方式進(jìn)行。交叉開發(fā)環(huán)境的模型如圖2.3所示。程序代碼TARGET目標(biāo)程序HOST交叉編譯數(shù)據(jù)通信圖2.3交叉編譯環(huán)境模型TARGET是嵌入式系統(tǒng),HOST是開發(fā)主機(jī)。在開發(fā)主機(jī)上可以安裝開發(fā)工具,編輯、編譯目標(biāo)系統(tǒng),然后在目標(biāo)板上運(yùn)行。這種在主機(jī)環(huán)境下開發(fā),在目標(biāo)板上運(yùn)行的開發(fā)模式稱為交叉開發(fā)。2.3嵌入式Linux的移植從軟件的角度來看,一個(gè)嵌入式Linux的系統(tǒng)通??煞譃樗膫€(gè)層次,如圖2.4所示:用戶應(yīng)用程序文件系統(tǒng)操作系統(tǒng)內(nèi)核引導(dǎo)加載程序圖2.4嵌入式系統(tǒng)的軟件
38、體系結(jié)構(gòu)這四個(gè)層次自下而上為:1)引導(dǎo)加載程序。包括固化在固件(firmware)中的Boot代碼(可選)和Boot Loader兩大部分。2)操作系統(tǒng)核。如Linux核,通常包含核的啟動參數(shù)。3)文件系統(tǒng)。包括根文件系統(tǒng)和建立于Flash存設(shè)備之上的文件系統(tǒng)。在嵌入式系統(tǒng)中,通常用Ramdisk來作為文件系統(tǒng)。4)用戶應(yīng)用程序。針對特定用戶的專用應(yīng)用程序。有時(shí)在用戶應(yīng)用程序和核層之間可能還會包括一個(gè)嵌入式圖形用戶界面。24本章小結(jié)本章對遠(yuǎn)程視頻監(jiān)控系統(tǒng)總體方案進(jìn)行了設(shè)計(jì),搭建了主機(jī)開發(fā)環(huán)境和嵌入式開發(fā)環(huán)境,對嵌入式Linux系統(tǒng)的Bootloader、kemel和根文件系統(tǒng)進(jìn)行修改和移植。第
39、三章視頻采集模塊的設(shè)計(jì)與實(shí)現(xiàn)視頻數(shù)據(jù)的采集是視頻監(jiān)控系統(tǒng)實(shí)現(xiàn)的第一步,也是視頻壓縮和視頻傳輸?shù)幕A(chǔ)。本監(jiān)控系統(tǒng)由多個(gè)功能模塊構(gòu)成,視頻服務(wù)器主要涉與到三部分功能,一部分是基于V4L2的圖像采集,一部分是建立嵌入式Web服務(wù)器,設(shè)計(jì)CGI程序,實(shí)現(xiàn)用戶遠(yuǎn)程通過Web頁面控制視頻采集傳輸?shù)墓δ?,另外部分是建立視頻數(shù)據(jù)庫。本章主要對Linux下采用V4L2標(biāo)準(zhǔn)的USB攝像頭驅(qū)動程序的圖像采集過程進(jìn)行介紹,并采用FFmpeg對視頻圖像進(jìn)行H.264格式的壓縮編碼,同時(shí)建立視頻數(shù)據(jù)庫,以便瀏覽器端對圖像數(shù)據(jù)操作。31 基于V4L2的視頻采集模塊設(shè)計(jì)V4L(Video for Linux)是在linux核
40、中關(guān)于視頻設(shè)備的API接口,涉與開關(guān)視頻設(shè)備、采集并處理視頻圖像信息。V4L從2.1.x版本的核中開始出現(xiàn)。V4L2(Video for Linux Two)是V4L接口標(biāo)準(zhǔn)的改進(jìn)版本,修復(fù)了第一代的部分設(shè)計(jì)bug。從2.5.x開始,V4L2就被集成到了核里。V4L2是音頻、視頻和其他輸出設(shè)備的核接口。與V4L相比,它的擴(kuò)展性和靈活性都得到了極大的提高,并且支持的硬件設(shè)備也更多,但由于它對V4L做了徹底的改造,使得它與V4L并不兼容.USB攝像頭在Linux中屬于字符設(shè)備,成功加載了USB攝像頭驅(qū)動程序后,插入攝像頭就會生成設(shè)備文件“/dev/video()”。因此,在應(yīng)用程序過讀寫該文件取得
41、攝像頭采集的圖像數(shù)據(jù)。對于USB口攝像頭,其驅(qū)動程序中需要提供基本的I/O操作接口函數(shù)open()、read()、write()、close()的實(shí)現(xiàn),對中斷的處理實(shí)現(xiàn),存映射功能以與對I/O通道的控制接口函數(shù)ioctl()的實(shí)現(xiàn)等,并把它們定義在struct file_operations中。這樣當(dāng)應(yīng)用程序?qū)υO(shè)備文件進(jìn)行諸如open()等系統(tǒng)調(diào)用操作時(shí),Linux核將通過file operations結(jié)構(gòu)訪問驅(qū)動程序提供的函數(shù)。3.1.1 V4L2視頻采集的數(shù)據(jù)結(jié)構(gòu)在Linux系統(tǒng)的/usr/include/linux/videodev2h中定義了v412常用的數(shù)據(jù)結(jié)構(gòu):struct v4l
42、2_requestbuffers reqbufs; /向驅(qū)動申請幀緩沖的請求,里面包含申請的個(gè)數(shù)struct v4l2-capability cap; /這個(gè)設(shè)備的功能,比如是否是視頻輸入設(shè)備struct v4l2_input input;/視頻輸入struct v4l2_standard; /視頻的制式,比如PAL,NTSCstruct v4l2_format fmt: /幀的格式,比如寬度,高度等struct v412_bufferbuf; /代表驅(qū)動中的一幀v4l2_std_id stdid; /視頻制式,例如:V4L2_STD_PAI_Bstruct v4l2_querytrl; /查
43、詢的控制struct v4l2_control control; /具體控制的值3.1.2 V4L2視頻采集的流程Linux下基于V4L2API接口進(jìn)行圖像采集的程序?qū)崿F(xiàn)流程圖如圖3.1.2所示:初始化攝像頭打開視頻設(shè)備開始讀設(shè)備信息讀取映射buffer信息建立內(nèi)存映開始一幀的圖像截取處理一幀圖像 編碼,拷貝到其他緩沖區(qū)等操作等待一幀結(jié)束是否結(jié)束視頻結(jié)束圖3.1視頻圖像采集流程圖具體的視頻采集主要步驟為:1)打開視頻設(shè)備在Linux中,把視頻設(shè)備看作設(shè)備文件,即/dev,video0。通過調(diào)用open()函數(shù)來實(shí)現(xiàn),open()函數(shù)帶有三個(gè)參數(shù),第一個(gè)為設(shè)備文件名,第二個(gè)則是打開的類型。用非阻
44、塞模式打開攝像頭設(shè)備:int cameraFd;cameraFd=open(“/devvideo0”,O_RDWR|O_NONBLOCK,O);如果用阻塞模式打開攝像頭設(shè)備,則:cameraFd=open(“/dev/video0”,O_RDWR,0);應(yīng)用程序能夠使用阻塞模式或非阻塞模式打開視頻設(shè)備,如果使用非阻塞模式調(diào)用視頻設(shè)備,即使尚未捕獲到信息,驅(qū)動依舊會把緩存(DQBUFF)里的東西返回給應(yīng)用程序。2)設(shè)定屬性與采集方式打開視頻設(shè)備后,可以設(shè)置該視頻設(shè)備的屬性,例如裁剪、縮放等。這一步是可選的。在Linux編程中,一般使用ioctl函數(shù)來對設(shè)備的I/O通道進(jìn)行管理:Extem int
45、 ioctl(int_fd,unsigned long int_requst,.)_THROW;_fd:設(shè)備的ID,例如剛才用open函數(shù)打開視頻通道后返回的camer Fd;_request:具體的命令標(biāo)志符。在進(jìn)行V4L2開發(fā)中,一般會用到以下的命令標(biāo)志符:VIDIOC_REQBUFS:分配存VIDIOC_QUERYBUF:把VIDIOC_REQBUFS中分配的數(shù)據(jù)緩存轉(zhuǎn)換成物理地址VIDIOC_QUERYCAP:查詢驅(qū)動功能VIDIOC_ENUM_FMT:獲取當(dāng)前驅(qū)動支持的視頻格式VIDIOC_S_FMT:設(shè)置當(dāng)前驅(qū)動的頻捕獲格式VIDIOC_DQBUF:把數(shù)據(jù)放回緩存隊(duì)列VIDIOC_
46、STREAMON:開始視頻顯示函數(shù)VIDIOC_STREAMOFF:結(jié)束視頻顯示函數(shù)VIDIOC_QUERYSTD:檢查當(dāng)前視頻設(shè)備支持的標(biāo)準(zhǔn),例如PAL或NTSC。這些IO調(diào)用,有些是必須的,有些是可選擇的。查當(dāng)前視頻設(shè)備支持的標(biāo)準(zhǔn)在亞洲,一般使用PAL(720x576)制式的攝像頭,而歐洲一般使用NTSC(720x480),使用VIDIOC_QUERYSTD來檢測:v412_std_id std;doret=ioctl(fd,VIDl0C_QUERYSTD,&std);wllile(ret=-1&&errno=EAGAIN);switch(std)case V4L2
47、_STD_NYSC:case V4L2_STD_PAL:捕獲格式當(dāng)檢測完視頻設(shè)備支持的標(biāo)準(zhǔn)后,還需要設(shè)定視頻捕獲格式:struct v4l2_format fmt;memset(&fmt,0,sizeof(fmt);fmt.type=V4L2_BUF_TYPE_VIDEO_CAPTURE;fmt.fmt.pix.width=720;fmt.fmt.pix.height=576;fmt.fmt.pix.pixelformat=V4L2_PIX_FMT_YUYV;fmt.fmt.pix.field=V4L2_FIELD_INTERLACED;if(ioctl(fd,VIDIOC_S_FMT
48、,&fmt)=-1)return-l;v4l2_format結(jié)構(gòu)體定義如下:struct v4l2_format enum v412_buf_type ;數(shù)據(jù)流類型,必須永遠(yuǎn)是v4L2_BUF_VIDEO_CAPTURE unionstruct V412_pix_format pix;struct V412_window win;struct V412_vbi_format vbi;_u8 raw_data200; fmt;;struct v412_pix_format_u32 width;/寬,必須是16的倍數(shù)_u32 height;/高,必須是16的倍數(shù)_u322 pixelfor
49、mat;/視頻數(shù)據(jù)存儲類型,例如是YUV4:2:2還是I沁Benum v412_field field;_u32 bytesperline;_u32 sizeimage;enum v4l2_colorspace colorspace;_u32 priv;分配存視頻捕獲分配存:struct v412_requestbuffers req;if(ioctl(fd,VIDIOC_REQBUFS,&req)=- 1)return -1;v412_requestbuffers定義如下:struct V412_requestbuffers_u32 count; /緩存數(shù)量,也就是說在緩存隊(duì)列里保持
50、多少照片enum v412_buf_type type;/數(shù)據(jù)流類型,必須永遠(yuǎn)是/V4L2_BUF_TYPE_VIDEO_CAPTUREenum v412_memory memory;/V4L2_MEMORY_MMAP或/V4L2 MEMORY_USERPTR_u32 reserved2;獲取并記錄緩存的物理空間使用VIDIOC_REQBUFS,我們獲取了req.count個(gè)緩存,下一步通過調(diào)用VIDIOC_QUERYBUF命令來獲取這些緩存的地址,然后使用mmap函數(shù)轉(zhuǎn)換成應(yīng)用程序中的絕對地址,如圖3.2所示,最后把這段緩存放入緩存隊(duì)列:0×800000050×80000
51、0000×800000010×800000020×800000030×800000040×100000040×100000030×100000020×100000010×100000000×10000005VIDIOC_QUERYBUFmmap內(nèi)核地址用戶地址圖3.2mmap函數(shù)地址傳喚視頻采集方式操作系統(tǒng)一般把系統(tǒng)使用的存劃分成用戶空間和核空間,分別由應(yīng)用程序管理和操作系統(tǒng)管理。應(yīng)用程序可以直接訪問存的地址,而核空間存放的是供核訪問的代碼和數(shù)據(jù),用戶不能直接訪問。v412捕獲的數(shù)據(jù),最初是存放
52、在核空間的,這意味著用戶不能直接訪問該段存,必須通過某些手段來轉(zhuǎn)換地址。Linux系統(tǒng)下有三種視頻采集方式:使用read、write方式,mmap存映射方式和用戶指針模式。read、write方式:通過核緩沖區(qū)來讀取數(shù)據(jù),在用戶空間和核空間不斷拷貝數(shù)據(jù),占用了大量用戶存空間,效率不高。mmap存映射方式:mmap系統(tǒng)調(diào)用使得進(jìn)程之間通過映射同一文件實(shí)現(xiàn)存共享,訪問時(shí)只需要指針而不用調(diào)用文件操作函數(shù)。通過把設(shè)備文件映射到存中,加速了Io訪問。這是一種有效的方式。上面的mmap函數(shù)就是使用這種方式。用戶指針模式:存片段由應(yīng)用程序自己分配。這點(diǎn)需要在v412_ requestbuffers里將mem
53、ory字段設(shè)置成V4L2_MEMORY_USERPTR.因此,本文在程序?qū)崿F(xiàn)中采用了存映射方式截取視頻圖像樣,捕獲到的視頻數(shù)據(jù)被映射到存區(qū)域,該映射容區(qū)可讀寫并且可供不同進(jìn)程共享。要對視頻數(shù)據(jù)進(jìn)行壓縮等處理工作則可通過訪問存映射區(qū)域進(jìn)行。3)處理采集數(shù)據(jù)V4L2有一個(gè)數(shù)據(jù)緩存,存放req.count數(shù)量的緩存數(shù)據(jù)。數(shù)據(jù)緩存采用FIFO的方式,當(dāng)應(yīng)用程序調(diào)用緩存數(shù)據(jù)時(shí),緩存隊(duì)列將最先采集到的視頻數(shù)據(jù)緩存送出,并重新采集一視頻數(shù)據(jù)。這個(gè)過程需要用到兩個(gè)ioctl命令,VIDIOC_DQBUF和VIDIOC_QBUF:struct v412_buffer buf;memset(&buf,O,
54、sizeof(buf);buf.type=V4L2_BUF_TYPE_VIDEO_CAPATURE;buf.memory=V4L2_MEMORY_MMAP;buf.index=0:/讀取緩存 if(ioctl(cameraFd,VIDIOC_dqbuf,&buf)= -1)return-1;/視頻處理算法/重新放入緩存隊(duì)列if(ioctl(cameraFd,VIDIOC_QBUF,&buf)=-1)return-l;4)關(guān)閉視頻設(shè)備使用close函數(shù)關(guān)閉一個(gè)視頻設(shè)備:close(cameraFd);本課題的視頻采集圖像效果,如圖3.3示。313視頻數(shù)據(jù)的存儲由于保存文件是保存在
55、USB硬盤上,也就是需要不停的讀寫I/O設(shè)備,這樣的操作需要耗費(fèi)大量的時(shí)間和資源,因此保存視頻文件模塊也是利用一個(gè)單獨(dú)線程來實(shí)現(xiàn)以提高程序的執(zhí)行效率。對于用戶而言,存儲的圖像能達(dá)到記錄的目的即可,對連續(xù)性的要求并不高,所以本系統(tǒng)以約10幀秒的速度進(jìn)行存儲,以此達(dá)到節(jié)省存儲空間的目的。存儲速率的控制是通過定時(shí)器來完成的。同樣,此功能模塊也有自己的循環(huán)緩沖區(qū)存放壓縮后的視頻數(shù)據(jù),該線程不斷從該緩沖區(qū)讀取JPEG數(shù)據(jù),通過調(diào)用avilib庫的相關(guān)函數(shù)把這些視頻數(shù)據(jù)保存為avi格式的文件。對于“avi"格式文件,目前大多數(shù)播放器都能播放該格式的視頻文件。32視頻編碼通過USB攝像頭獲取的視頻
56、圖像數(shù)據(jù)量較大,而網(wǎng)絡(luò)帶寬有限,不適合網(wǎng)絡(luò)實(shí)時(shí)傳輸,為了使視頻圖像在現(xiàn)有的網(wǎng)絡(luò)上有較高的傳輸速率和較好的視頻質(zhì)量和有效的存儲視頻數(shù)據(jù),需要將原始的視頻圖像進(jìn)行壓縮編碼。321視頻編碼技術(shù)的選擇傳統(tǒng)的視頻壓縮編碼都是以香農(nóng)信息論為基礎(chǔ),用統(tǒng)計(jì)概率模型來描述信源,編碼實(shí)體是像素或像素塊。這種基于數(shù)理統(tǒng)計(jì)、旨在消除視頻數(shù)據(jù)相關(guān)冗余的編碼技術(shù)被稱為第一代視頻編碼技術(shù),JPEG、MPEG-1、H.261、H.263是其典型代表。第一代視頻編碼技術(shù)沒有考慮接受者特性、視頻信息的重要程度和具體含義,只是以去除數(shù)據(jù)的冗余為出發(fā)點(diǎn),是一種較低層次的編碼技術(shù)。由此,出現(xiàn)了基于容的第二代視頻編碼技術(shù),它是以去除視頻容的冗余為出發(fā)點(diǎn),在視頻編碼時(shí)充分考慮了人眼的視覺特性影像。目前監(jiān)控中主要采用MJPEG、MPEG-1/2、MPEG4(SP/ASP)、H.26
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024手機(jī)配件回收再利用合作協(xié)議3篇
- 2024年跨區(qū)域水資源調(diào)配工程協(xié)議版B版
- 城市道路工程幕墻安裝施工協(xié)議
- 智能咖啡機(jī)網(wǎng)線布線協(xié)議
- 公司勞動合同(2篇)
- 政府機(jī)關(guān)文化墻施工合同
- 農(nóng)場菜場租賃合同
- 2025年咖啡連鎖經(jīng)營合作協(xié)議書
- 2024年版股權(quán)轉(zhuǎn)讓合同模板及法律說明
- 2025年跨區(qū)域商業(yè)搬遷合同協(xié)議范本2篇
- JB-T 4088.1-2022 日用管狀電熱元件 第1部分:通用要求
- JGJT341-2014 泡沫混凝土應(yīng)用技術(shù)規(guī)程
- 鋼結(jié)構(gòu)安裝工程旁站監(jiān)理記錄表
- 人教版英語五年級上冊 Unit 2 Part A
- 常見中藥價(jià)格表
- IDC云數(shù)據(jù)中心機(jī)房運(yùn)維服務(wù)解決方案
- 維西縣城市生活垃圾熱解處理工程環(huán)評報(bào)告
- GB/T 9128.2-2023鋼制管法蘭用金屬環(huán)墊第2部分:Class系列
- 網(wǎng)絡(luò)經(jīng)濟(jì)學(xué)PPT完整全套教學(xué)課件
- 2023年主治醫(yī)師(中級)-臨床醫(yī)學(xué)檢驗(yàn)學(xué)(中級)代碼:352考試參考題庫附帶答案
- 機(jī)械原理課程設(shè)計(jì)鎖梁自動成型機(jī)床切削機(jī)構(gòu)
評論
0/150
提交評論