基于S3C6410的無(wú)線(xiàn)視頻監控系統設計
Mjpg—streamer是一個(gè)視頻流應用軟件,使用V4L2(Video4 Linux 2)的接口,通過(guò)文件或HTTP方式訪(fǎng)問(wèn)linux—UVC兼容攝像頭。視頻采集功能通過(guò)調用mmap()函數將視頻采集設備映射到系統內存中來(lái)實(shí)現,取代了傳統的直接讀取用戶(hù)空間設備的方式,繞過(guò)了內核緩沖區,加快了視頻數據的處理速度,提高了實(shí)時(shí)性。
Mjpg—streamer支持使用攝像頭內的DSP硬件壓縮功能付出少量硬件壓縮時(shí)的電源開(kāi)銷(xiāo),減少了CPU的負荷,減少帶寬的占用,特別適用于嵌入式設備。
MJpg—streamer采用模塊化的設計方法,以功能塊,即plug—in(組件)為單位進(jìn)行描述。Mjpg—streamer的工作就是將其中的一個(gè)輸入組件和多個(gè)輸出組件綁定在一起,所有的功能都是通過(guò)它的各個(gè)組件完成的。用戶(hù)可以選擇需要的模塊,并進(jìn)行必要修改,以完成所需功能。體系結構如圖2所示。

插件最主要且最常用的組件是input—uvc輸入組件和output—http輸出組件。其他組件包括input—control、input_file、input_test picture、input_gspcavl、output_autofocus、output_file、out_viewer,如圖3所示。
2.2. 1 input_uvc輸入組件
Input_uvc組件的主要功能是獲取攝像頭拍攝的圖像并將其壓縮編碼,共包括5個(gè)組件接口函數,這些組件接口函數是各個(gè)組件提供給外部使用的接口。相關(guān)函數的定義可查看input_uvc.c文件。
Output_http輸出插件是功能齊全的HTTP 1.0的web服務(wù)器,通過(guò)輸入插件獲取的USB攝像頭圖像數據處理之后以流媒體的形式輸出,并可為設置用戶(hù)名和密碼,最終在其客戶(hù)端瀏覽器顯示。
2.2.2 mjpg—streamer視頻服務(wù)器的移植
Mjpg—streamer的移植需要JPEG庫的支持,所以首先需要移植JPEG庫到開(kāi)發(fā)板。從http://www.ijg.org/files/下載jpeg源碼包,解壓縮后進(jìn)入其目錄,在源碼包目錄執行./configureCC=arm-linux-gec-host=arm-unknown-linux-prefix=/opt/linux/jpeg-enable-shared-enable-static命令配置其交叉編譯器和編譯后安裝的目錄,然后執行make命令編譯和makeinstall命令安裝,最后將jpeg目錄下生成的庫文件libjpeg.so.9拷貝到開(kāi)發(fā)板根目錄下的lib文件夾中,即完成jpeg庫的移植。
通過(guò)sourceforge網(wǎng)站下載mjpg-streamer源碼包。修改input_uvc目錄下的Makefile文件,以其滿(mǎn)足編譯要求。然后執行make CC=arm-linux-gcc命令進(jìn)行編譯。在開(kāi)發(fā)板建立mjpg安裝目錄,將其源碼目錄中的.so為后綴的共享庫文件和start.sh文件及文件夾WWW拷貝到其中,同時(shí)復制編譯后目標文件路徑下的可執行文件mjpg_streamer到開(kāi)發(fā)板根目錄的bin文件夾中,至此整個(gè)移植過(guò)程完畢。最后執行./ mjpg_streamer-i“mjpg/input_uvc.so-y-d/dev/video2”-o“/mjpg/output_http.so-w/mjpg/www”命令以開(kāi)啟視頻服務(wù)器。
3 系統測試及性能分析
本文采用飛凌公司的ARM11開(kāi)發(fā)板進(jìn)行實(shí)驗,通過(guò)燒寫(xiě)并運行應用程序,可在遠程PC機上看到視頻監控效果。在瀏覽器端輸入服務(wù)器端的IP地址訪(fǎng)問(wèn)目標服務(wù)器,即輸入http://10.17.133.88:8080/?action=stream,視頻監控效果如圖4所示。從監控畫(huà)面可以看出,接收到的監控畫(huà)面比較清晰,反映出通過(guò)Mjpg-streamer服務(wù)器進(jìn)行無(wú)線(xiàn)傳輸的圖像畫(huà)面質(zhì)量較好,達到了無(wú)線(xiàn)傳輸的功能。

通過(guò)表1中兩種方法進(jìn)行穩定性測試,從測試效果可以看出,在瀏覽器端顯示的圖像信息良好,系統不管在何種情況下,均沒(méi)有出現死機或卡頓的現象,說(shuō)明設計的監控系統性能穩定。

4 結束語(yǔ)
本文設計了一種基于A(yíng)RM11、USB攝像頭、WIFI以及Mjpg-streamer軟件的嵌入式視頻監控系統,進(jìn)行了linux系統及視頻服務(wù)器軟件的編譯與移植,實(shí)現了視頻流在基于802.11g的遠程視頻的實(shí)時(shí)穩定傳輸。該系統體積小,功耗低,經(jīng)測試,系統穩定可行,實(shí)時(shí)性好,可被多用戶(hù)同時(shí)訪(fǎng)問(wèn),遠端計算機可以清晰地觀(guān)測到室內監控畫(huà)面。該系統滿(mǎn)足室內視頻監控的需求,為進(jìn)一步提高視頻圖像傳輸質(zhì)量和傳輸效率,可以考慮加入最新H.264編解碼算法進(jìn)行視頻圖像的編解碼。
評論