具有遠(yuǎn)程監(jiān)控功能的視頻服務(wù)器設(shè)計(jì)
其他外設(shè)包括Flash、SDRAM、以太網(wǎng)接口、串行通信接口RS232。其中,F(xiàn)lash用于存儲(chǔ)操作系統(tǒng)內(nèi)核和系統(tǒng)軟件,待系統(tǒng)上電后加載到內(nèi)存中;以太網(wǎng)接口將壓縮編碼后的音視頻數(shù)據(jù)傳輸?shù)骄W(wǎng)絡(luò);RS232接口主要用于基于控制臺(tái)的配置和管理。另外,在調(diào)試過程中,RS232和以太網(wǎng)接口用于連接宿主機(jī)和目標(biāo)系統(tǒng)平臺(tái),方便了網(wǎng)絡(luò)視頻服務(wù)器系統(tǒng)的開發(fā)和調(diào)試。
本文引用地址:http://www.ex-cimer.com/article/188563.htm
3 系統(tǒng)軟件設(shè)計(jì)
整個(gè)嵌入式系統(tǒng)的軟件部分由4部分組成:Boot-loader代碼、Linux操作系統(tǒng)的內(nèi)核生成和Linux下驅(qū)動(dòng)程序及應(yīng)用程序的開發(fā)、文件系統(tǒng)的生成和配置以及用戶應(yīng)用程序。設(shè)備驅(qū)動(dòng)模塊向上層軟件提供一致的接口,主要包括硬件的初始化、總線內(nèi)存地址映射、內(nèi)存分配等,分別被存儲(chǔ)在NAND Flash的4個(gè)分區(qū)模塊中。本設(shè)計(jì)采用的是較節(jié)省空間的CRAMFS只讀文件系統(tǒng)。
3.1 MPEG-4壓縮編碼的實(shí)現(xiàn)
AT2042支持MPEG-1、MPEG-2、MPEG-4、H.263和Motion-JPEG等多種視頻壓縮標(biāo)準(zhǔn),以及ADPCM、MPEG-1 Layer-II和Lyer-III(MP3)等音頻壓縮標(biāo)準(zhǔn)。這些功能是通過配置相應(yīng)的編碼寄存器實(shí)現(xiàn)的,例如編碼模式、編碼像素點(diǎn)、編碼幀率及設(shè)置編碼流格式(PES、PS、TS)等等。本系統(tǒng)中采用MPEG-4模式、720X576、每秒25幀及生成PES流來(lái)對(duì)視頻數(shù)據(jù)進(jìn)行編碼。
MPEG-4壓縮編碼部分完成對(duì)AT2042和TVP5150相關(guān)寄存器的配置,保證了MPEG-4數(shù)據(jù)流的正常輸出。系統(tǒng)啟動(dòng)后,首先配置AT2042的寄存器,初始化完成后,通過I2C總線對(duì)TVP5150進(jìn)行初始化配置。在壓縮編碼過程中,MPEG-4數(shù)據(jù)流接收存儲(chǔ)程序由AT2042的數(shù)據(jù)流緩沖器標(biāo)志信號(hào)來(lái)進(jìn)行控制。當(dāng)緩沖器滿時(shí),RISC_INT0置低,主控制器通過DMA通道把從AT2042的網(wǎng)卡接口接收過來(lái)的碼流通過網(wǎng)絡(luò)通道傳輸?shù)絇C端。其壓縮編碼模塊程序流程如圖6所示。
3.2 遠(yuǎn)程網(wǎng)絡(luò)程序模塊
網(wǎng)絡(luò)控制模塊是外部擴(kuò)展應(yīng)用程序與視頻服務(wù)器交互的一個(gè)模塊。其工作過程是:在監(jiān)控終端的IE瀏覽器中輸入網(wǎng)絡(luò)視頻服務(wù)器的IP地址,嵌入式網(wǎng)絡(luò)視頻服務(wù)器根據(jù)請(qǐng)求,將相應(yīng)的控制頁(yè)面(即ActiveX控件)反饋給IE瀏覽器,用戶下載控件后,根據(jù)控件上的指令,進(jìn)行相應(yīng)的操作,然后提交。該模塊提取操作的信息,根據(jù)不同信息通過socket套接口與服務(wù)器進(jìn)行通信來(lái)分別處理相應(yīng)的事件,如調(diào)節(jié)MPEG-4相關(guān)屬性、攝像頭的相關(guān)操作等。該網(wǎng)絡(luò)控制模塊的設(shè)計(jì)主要包括3部分:本地嵌入式web服務(wù)器的配置、ActiveX控件的編寫、socket套接字實(shí)現(xiàn)服務(wù)器與監(jiān)控端通信。遠(yuǎn)程網(wǎng)絡(luò)程序模塊框圖如圖7所示。
3.3 本地存儲(chǔ)部分的實(shí)現(xiàn)
該部分主要實(shí)現(xiàn)的三大功能:U盤空間的監(jiān)測(cè),以系統(tǒng)時(shí)間來(lái)命名存儲(chǔ)文件并將文件保存到U盤上,實(shí)現(xiàn)MPEG-4編碼。視頻編碼存儲(chǔ)主要是利用Linux系統(tǒng)指令、AT2042芯片的視頻編碼功能和自動(dòng)生成傳輸流功能。
(1)顯示U盤存儲(chǔ)空間
首先,利用Linux系統(tǒng)指令與C語(yǔ)言的接口函數(shù)sys-tem(const char*string),執(zhí)行指令會(huì)把U盤空間的容量、可用空間等信息寫入設(shè)定目錄下,然后利用display_string(char*string)函數(shù)將該信息顯示在顯示層面上。這樣可以使用戶很清楚地了解到可用存儲(chǔ)空間的大小。
(2)以系統(tǒng)時(shí)間命名文件名
調(diào)用系統(tǒng)函數(shù)time、localtime,這里需要定義相應(yīng)的結(jié)構(gòu)體tm來(lái)獲取系統(tǒng)時(shí)間,然后將這些信息與建立文件的路徑保存在同一個(gè)字符串,調(diào)用fopen(const char*path,const char*mode)函數(shù)。這樣就實(shí)現(xiàn)了以系統(tǒng)時(shí)間來(lái)命名文件名,可以方便用戶按時(shí)間來(lái)查看文件。
3.4 運(yùn)動(dòng)圖像監(jiān)測(cè)的實(shí)現(xiàn)
該視頻監(jiān)控系統(tǒng)配置AT2042的相關(guān)寄存器,可實(shí)現(xiàn)運(yùn)動(dòng)檢測(cè)的功能。通過運(yùn)動(dòng)檢測(cè)來(lái)控制視頻數(shù)據(jù)的存儲(chǔ)和報(bào)警。運(yùn)動(dòng)檢測(cè)(報(bào)警)算法可以控制存儲(chǔ)動(dòng)作,節(jié)省存儲(chǔ)空間。例如,開始無(wú)運(yùn)動(dòng)報(bào)警信號(hào),存儲(chǔ)模塊處于等待狀態(tài);運(yùn)動(dòng)報(bào)警信號(hào)到來(lái),啟動(dòng)存儲(chǔ)模塊,在一定時(shí)間內(nèi)如果沒有繼續(xù)收到運(yùn)動(dòng)報(bào)警信號(hào),存儲(chǔ)模塊自動(dòng)停止工作。這樣存儲(chǔ)量比連續(xù)存盤少得多,大量無(wú)運(yùn)動(dòng)的視頻被剪截掉了,大大提高了存盤效率,有效地節(jié)省了存儲(chǔ)空間。工作過程是這樣的:預(yù)先進(jìn)行檢測(cè)區(qū)域設(shè)定,從攝像機(jī)來(lái)的視頻信號(hào)一方面進(jìn)行視頻壓縮,壓縮的碼流輸出到緩沖區(qū)中;另一方面進(jìn)行運(yùn)動(dòng)檢測(cè),當(dāng)運(yùn)動(dòng)條件滿足時(shí)發(fā)出報(bào)警信號(hào),存儲(chǔ)設(shè)備開始工作。存儲(chǔ)設(shè)備一接到啟動(dòng)信號(hào)就將緩沖區(qū)的壓縮碼流全部保存下來(lái),接著連續(xù)存儲(chǔ)視頻壓縮輸出的碼流,直到存儲(chǔ)控制指示停止存盤為止。運(yùn)動(dòng)方向的估計(jì)可以實(shí)現(xiàn)監(jiān)控系統(tǒng)中的警戒線報(bào)警功能。在圖像畫面上設(shè)定警戒線以及方向,相應(yīng)地產(chǎn)生一個(gè)預(yù)警區(qū)域。圍繞邊界線產(chǎn)生邊界區(qū)域或邊緣點(diǎn)集,監(jiān)測(cè)是否有運(yùn)動(dòng)越過警戒線進(jìn)入警戒區(qū)。
結(jié) 語(yǔ)
本視頻服務(wù)器既有視頻遠(yuǎn)程實(shí)時(shí)傳輸,又具有本地存儲(chǔ)的功能,再配置AT2042實(shí)現(xiàn)多種視頻格式的編碼和運(yùn)動(dòng)檢測(cè)、報(bào)警功能,使用起來(lái)方便易行,可以得到廣泛的應(yīng)用。該視頻服務(wù)器集成普通攝像機(jī)和網(wǎng)絡(luò)轉(zhuǎn)換器,將圖像轉(zhuǎn)換為基于TCP/IP網(wǎng)絡(luò)標(biāo)準(zhǔn)的數(shù)據(jù)包,使攝像機(jī)所攝的畫面通過RJ-45以太網(wǎng)接口直接傳送到網(wǎng)絡(luò)上,通過網(wǎng)絡(luò)即可遠(yuǎn)程監(jiān)視畫面。該視頻服務(wù)器采用了最先進(jìn)的攝像技術(shù)和網(wǎng)絡(luò)技術(shù),具有強(qiáng)大的功能。內(nèi)置的系統(tǒng)軟件能實(shí)現(xiàn)真正的即插即用,使用戶免去了復(fù)雜的網(wǎng)絡(luò)配置;內(nèi)置的大容量?jī)?nèi)存能存儲(chǔ)警報(bào)觸發(fā)前的圖像;內(nèi)置的I/O端口和通信口便于擴(kuò)充外部周邊設(shè)備,如門禁系統(tǒng)、紅外線感應(yīng)裝置、全方位云臺(tái)。
評(píng)論