基于ARM的嵌入式無(wú)線視頻采集系統(tǒng)設(shè)計(jì)方案
3.4 嵌入式Web服務(wù)器設(shè)計(jì)
本系統(tǒng)選用適合嵌入式系統(tǒng)的Boa服務(wù)器,它是單任務(wù)HTTP服務(wù)器,占用空間小,另外支持動(dòng)態(tài)Web技術(shù)的CGI技術(shù),源代碼開放,性能高。嵌入式Boa服務(wù)器移植到Linux系統(tǒng)中的網(wǎng)上相關(guān)資料很多,不再贅述。
下面重點(diǎn)介紹應(yīng)用程序接口CGI程序設(shè)計(jì)。
公共網(wǎng)關(guān)接口CGI是HTTP服務(wù)器與其他機(jī)器上的程序進(jìn)行“交談”的一種工具[6],其程序須運(yùn)行在網(wǎng)絡(luò)服務(wù)器上。CGI是一個(gè)用于Web服務(wù)器與外部程序之間通信方式的標(biāo)準(zhǔn),使得外部程序能生成HTML、圖像或其他內(nèi)容,而服務(wù)器處理的方式與那些非外部程序生成的HTML、圖像或其他內(nèi)容的處理方式是相同的。使用CGI的原因在于它是一個(gè)定義良好并被廣泛支持的標(biāo)準(zhǔn),沒(méi)有CGI就不可能實(shí)現(xiàn)動(dòng)態(tài)的Web頁(yè)面,除非使用一些服務(wù)器中提供的特殊方法。
CGI程序入口為main()函數(shù),函數(shù)首先執(zhí)行初始化用到的變量,然后根據(jù)提供的環(huán)境變量Environmentv獲取當(dāng)前訪問(wèn)用戶的用戶名,判斷用戶的訪問(wèn)權(quán)限,然后根據(jù)REQUESM得到用戶的請(qǐng)求方法。如果是POST,則根據(jù)Contentl獲取用戶請(qǐng)求內(nèi)容并分析;如果是GET,則根據(jù)Querys獲取信息并分析請(qǐng)求內(nèi)容,最后根據(jù)用戶權(quán)限做出相應(yīng)的處理;如果是其他的請(qǐng)求方法,則返回錯(cuò)誤,不支持該請(qǐng)求方法。流程圖如圖5所示。
圖5 CGI程序處理流程
4 結(jié)語(yǔ)
S3C2410 憑借其高性價(jià)比、豐富的接口以及對(duì)網(wǎng)絡(luò)強(qiáng)大支持,使其非常適合做網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)的Web視頻服務(wù)器的處理器。H.264算法具有很高的編碼效率,在相同的重建圖像質(zhì)量下,能夠比H.263降低50%左右的碼率。H.264的碼流結(jié)構(gòu)網(wǎng)絡(luò)適應(yīng)性強(qiáng),增加了差錯(cuò)恢復(fù)能力,能夠很好地適應(yīng)IP和無(wú)線網(wǎng)絡(luò)。本系統(tǒng)支持動(dòng)態(tài)IP,可以直接連入以太網(wǎng),能夠即插即看。通過(guò)局域網(wǎng)(100Mb/s以太網(wǎng))內(nèi)部測(cè)試,可以達(dá)到25幀/秒CIF圖像(320×240)要求,傳輸延遲0.6s以內(nèi),編碼后的碼率150Kbit/s,由客戶端軟件解碼恢復(fù)后的視頻圖像清晰、流暢、沒(méi)有抖動(dòng)現(xiàn)象,能獲得較好的視頻質(zhì)量。
參考文獻(xiàn):
[1].ZC0301datasheethttp://www.dzsc.com/datasheet/ZC0301_732115.html.
[2].VGAdatasheethttp://www.dzsc.com/datasheet/VGA_2568786.html.
[3].H.261datasheethttp://www.dzsc.com/datasheet/H.261_2060787.html.
評(píng)論