新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 一種嵌入式網(wǎng)絡視頻監(jiān)控系統(tǒng)的硬件設計

一種嵌入式網(wǎng)絡視頻監(jiān)控系統(tǒng)的硬件設計

作者: 時間:2010-06-28 來源:網(wǎng)絡 收藏

為保證視頻采集質量,選用了羅技等高端品牌的產(chǎn)品,然后攝像頭通過專用的USB集線器與處理器單元的USB接口連接。在實時監(jiān)控狀態(tài)下,各個攝像頭上捕獲的圖像數(shù)據(jù)通過USB集線器傳輸?shù)揭曨l的USB主控制器模塊上,然后再由USB主控制器模塊交由AT91RM9200處理器集中處理。AT91RM9200對采集到的圖像進行實時編碼壓縮,編碼之后的碼流直接傳輸?shù)桨l(fā)送緩沖區(qū)中,等候發(fā)送。最后由上層應用程序將處理后的視頻數(shù)據(jù)通過以太網(wǎng)口進行發(fā)送。

本文引用地址:http://m.butianyuan.cn/article/151766.htm


四、軟件方案


系統(tǒng)的應用軟件建立在Linux操作系統(tǒng)之上,Linux具有許多優(yōu)點,如開放源碼,功能強大的內核,支持多用戶、多線程、多進程、實時性好、功能強大穩(wěn)定;大小功能可定制等。本系統(tǒng)采用的Linux系統(tǒng)是基于2.6.21的內核,支持了內核搶占式調度,同時調度周期為1ms,因此大大保證了系統(tǒng)的實時性。此外,系統(tǒng)內嵌的Linux系統(tǒng)實現(xiàn)了對所有設備的驅動支持,如基于Flash的文件系統(tǒng)、網(wǎng)卡驅動程序、USB驅動程序等等,完全保證了系統(tǒng)的可用性。
在本系統(tǒng)中,軟件可分為3部分:視頻圖像數(shù)據(jù)采集、圖像數(shù)據(jù)的JPEG壓縮以及系統(tǒng)平臺的網(wǎng)絡通信。


1、視頻圖像數(shù)據(jù)采集的實現(xiàn)
首先加載USB攝像頭驅動程序,接著就是編寫一個對視頻流采集的應用程序。攝像頭中的各種I/O口的控制主要依靠Vide04Linux提供的應用程序接口函數(shù)實現(xiàn),主要有Open、Read、Write等。V4L下的視頻采集1。在本系統(tǒng)中,將有關攝像頭的各種數(shù)據(jù)和結構封裝成了一個類,主要用到的一些系統(tǒng)調用函數(shù)定義如下:
open(“/dev/vide00”,O―RDWR):設備的打開。
close(fd):設備的關閉。
mmap(void+addr,size―t len,int prot,int flags,int fd,off__t offset):
設備緩沖區(qū)到內存空間的映射。
munmap(void*addr,size t len):采集工作結束后取消mmap和mbuf的綁定。
ioctl(int Rl,jnt cmd...,):控制I/O的通道。


2、Linux下圖象數(shù)據(jù)的JPEG壓縮
由于視頻信息數(shù)據(jù)量過大,因此必須在視頻傳輸前對圖像數(shù)據(jù)進行壓縮處理。在本系統(tǒng)中,攝像頭采集過來的圖像數(shù)據(jù)格式為RGB24,通過調用Linux下的Libjpeg庫來實現(xiàn)視頻數(shù)據(jù)的編碼,把RGB24圖像數(shù)據(jù)轉換為JPEG格式。下面簡述下整個壓縮處理過程:首先初始化JPEG壓縮的圖片格式,調用jpeg_set―defauhs(cmjpeg),接著初始化JPEG壓縮圖片質量,通過jpeg_set―ratio(cmjpeg,ratio,7rURE)實現(xiàn)。
開始壓縮:jpeg_start―compress(cmjpeg,TURE);for(i--0,line--buf;i_height;i++,line+=_width*3)jpeg_write―seanlines(cmjpeg,line,1);
壓縮完成:jpeg_finish―eompress(cmjpeg);
將壓縮得到的數(shù)據(jù)拷貝到jpeg數(shù)據(jù)變量中:
memepy(new一>buf 0。((_dst_ptr)cmjpeg.dest)一>buffer,size);
釋放內存并銷毀cmjpeg變量:jpeg_destory_compress(cmjpeg)
jpeg_buff_free(emjpeg);
最后返回return size;返回值size標記了緩沖區(qū)中視頻數(shù)據(jù)的實際長度。

3、系統(tǒng)網(wǎng)絡通訊的實現(xiàn)
本系統(tǒng)采用B/S(瀏覽器/服務器)模式的通信構架。用戶只需在遠程客戶機安裝一個普通的瀏覽器軟件,其他大部分工作由Web服務器完成。B/S模式開發(fā)的監(jiān)控軟件,降低了對系統(tǒng)軟件的要求,避免了用戶對客戶端的安裝和設置,實現(xiàn)了軟件安裝的簡單化、自由化。
視頻實現(xiàn)了對USB攝像頭的驅動程序,這樣上層視頻采集程序可以直接通過標準的Video4Linux接口函數(shù)訪問USB攝像頭設備,捕獲實時的視頻流,放入上層緩沖區(qū),同時通知上層服務器軟件處理。
系統(tǒng)中內置了一個完整的基于網(wǎng)絡的多用戶視頻服務器軟件,這樣當服務器軟件監(jiān)聽到有網(wǎng)絡客戶連接時,立即啟動采集進程從緩沖區(qū)中把處理后的視頻流數(shù)據(jù)讀出,然后發(fā)送給相應的客戶連接。同時為了保證監(jiān)控客戶端的簡單性與統(tǒng)一性,本系統(tǒng)中的客戶端可以直接使用IE軟件,即用戶打開PC端的IE軟件后,直接在地址欄內輸入需要訪問的設備IP地址或者域名,如192.168.0.5,此時就可以在IE瀏覽器中顯示當前的實時采集圖像。
五、結論
本系統(tǒng)采用嵌入式Linux,操作系統(tǒng)和ARM核處理器的平臺相結合,視頻信號從前端圖像采集設備輸出時即為數(shù)字信號,以網(wǎng)絡為傳輸媒介,并基于國際通用的TCP/IP協(xié)議,使用流媒體技術實現(xiàn)視頻信號在網(wǎng)絡上的傳輸,構成了一個高質量、監(jiān)控方式靈活、可靠性好和具有易于擴展架構的監(jiān)控系統(tǒng)。ARM處理核和Linux。相結合,很好地體現(xiàn)了整個監(jiān)控小型化、數(shù)字化、網(wǎng)絡化、低功耗的優(yōu)點。系統(tǒng)電路板現(xiàn)已成功配置和運行,調試結果表明,整個系統(tǒng)具有穩(wěn)定可靠、安裝簡便、成本低廉等特點,可廣泛使用在家庭、銀行、超市、公共場所等。

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

上一頁 1 2 3 下一頁

評論


相關推薦

技術專區(qū)

關閉