国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于S3C2440A和MJPG—Streamer嵌入式網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)的設(shè)計

2015-04-08 11:45:22彭玲黃松發(fā)

彭玲 黃松發(fā)

摘要:本文將嵌入式技術(shù)與網(wǎng)絡(luò)技術(shù)融合到視頻監(jiān)控系統(tǒng),提出了基于S3C2440A和MJPG-Streamer的嵌入式網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng),通過測試表明視頻圖像顯示效果較好,運行穩(wěn)定、可靠。

關(guān)鍵詞:S3C2440A USB攝像頭 MJPG-Streamer v4l2

1 概述

隨著科學(xué)技術(shù)的高速發(fā)展,視頻監(jiān)控系統(tǒng)已經(jīng)進入到人們生活的各個方面,將嵌入式技術(shù)與網(wǎng)絡(luò)技術(shù)融合到視頻監(jiān)控系統(tǒng),彌補了以前傳統(tǒng)視頻監(jiān)控系統(tǒng)存在體積過于龐大、布線復(fù)雜、價格高等不足,在圖像處理與傳輸方面都有很好的應(yīng)用,具有重要的社會和應(yīng)用價值[1]。

2 總體設(shè)計

本文提出的視頻監(jiān)控系統(tǒng)以ARM9的S3C2440A 作為主控芯片,配合Linux操作系統(tǒng),通過USB與攝像頭連接,搭建了MJPG-Streamer流媒體視頻服務(wù)器,完成視頻數(shù)據(jù)的采集、壓縮及網(wǎng)絡(luò)傳輸?shù)竭h程客戶端[2],遠程客戶端通過軟件進行查看,從而實現(xiàn)視頻監(jiān)控。

3 系統(tǒng)硬件設(shè)計

本系統(tǒng)的核心板采用Samsung公司生產(chǎn)的S3C2440微處理芯片,該芯片基于ARM920T內(nèi)核,主頻高達400MHz,內(nèi)置了USB控制器,本系統(tǒng)的USB攝像頭采用具有視頻壓縮編碼的ZC0301P芯片[3]。

4 系統(tǒng)軟件設(shè)計

4.1 Linux內(nèi)核配置編譯 要使USB攝像頭能正常工作,Linux需要加載該功能模塊,可以有兩種方式:一種是把相應(yīng)模塊編譯進內(nèi)核;另一種是編譯成模塊,生成對應(yīng)的.o文件,可以動態(tài)加載[2]。本文采用第一種方式,直接編譯進內(nèi)核,USB攝像頭隨內(nèi)核啟動就能正常工作了。在PC機的Linux系統(tǒng)下,進入linux-2.6.30.4內(nèi)核目錄,輸入make menuconfig,進入到Linux 內(nèi)核配置菜單,由于本文選擇ZC0301P系列的USB攝像頭,具體操作如下:

Device Drivers 目錄---> <*> Multimedia support ---> [*] Video capture adapters --->[*] V4L USB devices ---> <*> USB ZC0301[P] Image Processor and Control Chip support。

保存配置后,執(zhí)行make zImage可生成新的壓縮內(nèi)核zImage。

4.2 MJPG-Streamer視頻服務(wù)器軟件的設(shè)計 MJPG-

Streamer是一個基于網(wǎng)絡(luò)應(yīng)用的輕量級的開源的視頻服務(wù)器軟件,可以從USB攝像頭中獲取視頻數(shù)據(jù),通過TCP/IP網(wǎng)絡(luò)協(xié)議傳輸?shù)娇蛻舳耍饕╥nput插件和output插件,結(jié)合Linux 系統(tǒng)的API,能完成視頻數(shù)據(jù)的采集、壓縮和網(wǎng)絡(luò)傳輸[4]。

4.2.1 input插件。input插件主要是完成USB攝像頭的初始化以及視頻數(shù)據(jù)采集,需要調(diào)用Video for Linux(V4L),它是上層的視頻應(yīng)用程序與系統(tǒng)內(nèi)核的接口,由于V4L 中存在的一部分設(shè)計上的bug[2],本文使用V4L的改進版V4L2來編寫視頻采集程序,具體流程如圖2所示。

4.2.2 output插件。output插件主要是完成視頻壓縮、網(wǎng)絡(luò)傳輸。本文使用基于幀內(nèi)和幀獨立的M-JPEG壓縮技術(shù),雖比不上低碼率圖像壓縮標(biāo)準(zhǔn)的H.264,但畫質(zhì)還是比較清晰的,在嵌入式中應(yīng)用比較廣泛。在網(wǎng)絡(luò)傳輸上使用TCP/IP網(wǎng)絡(luò)協(xié)議,定義socket 套接字,通過bind、listen、accept來編程,實現(xiàn)視頻數(shù)據(jù)的網(wǎng)絡(luò)傳輸[2]。

4.2.3 MJPG-Streamer視頻服務(wù)器的搭建及系統(tǒng)測試。本文搭建MJPG-Streamer視頻服務(wù)器,并進行系統(tǒng)測試,具體步驟如下:

①首先下載MJPG-Streamer源碼包,在PC機的Linux 系統(tǒng)下,使用tar 命令解壓。

②在PC機的Linux 系統(tǒng)下安裝交叉編譯器arm-linux-gcc,生成的可執(zhí)行文件可以在ARM9開發(fā)板上運行。

③進入到mjpg-streamer目錄下,將所有目錄下的Makefile文件中的CC=Gcc修改為CC=arm-linux-gcc,使用make編譯,生成uvc-stream、mjpg-streamer、input*.so、output*.so的組件。

④將mjpeg-client/bin/win32-upx/目錄下的客戶端程序viewer.exe,復(fù)制到windows平臺下,可以直接在windows平臺下運行[5]。

⑤將前面所生成的內(nèi)核通過TFTP下載到ARM9開發(fā)板中并啟動,連上USB 攝像頭。

⑥在超級終端上,通過NFS掛載,將input*.so、output*.so文件復(fù)制到ARM9開發(fā)板的/lib/WebCam目錄下,將mjpg-streamer復(fù)制到ARM9開發(fā)板的/sbin/目錄下,然后運行可執(zhí)行文件uvc-stream。

⑦在PC端打開viewer.exe,輸入ARM9開發(fā)板的ip和端口號,再點擊connect,就可以實現(xiàn)監(jiān)控顯示,效果如圖3所示。

5 總結(jié)

本系統(tǒng)以S3C2440A為核心,結(jié)合Linux操作系統(tǒng),搭建MJPG-Streamer視頻服務(wù)器,實現(xiàn)了嵌入式視頻監(jiān)控,但只是基于本地局域網(wǎng)的視頻監(jiān)控,且視頻顯示清晰度及實時性還有待改進,隨著無線網(wǎng)絡(luò)的發(fā)展,還可以利用無線網(wǎng)卡實現(xiàn)實時無線監(jiān)控。

參考文獻:

[1]葛林.基于ARM9和OpenCV的視頻監(jiān)控系統(tǒng)的研究[D].湖北工業(yè)大學(xué),2013.12.

[2]華春夢,劉沖.基于S3C2440嵌入式平臺的USB攝像頭視頻監(jiān)控[J].電腦開發(fā)與應(yīng)用,2015.1.

[3]許敏.基于S3C2410的嵌入式視頻監(jiān)控系統(tǒng)的設(shè)計[J].電腦知識與技術(shù),2014.2.

[4]陳恒鑫,林威,張欽宇.基于MJPG-Streamer的移動視頻監(jiān)控系統(tǒng)設(shè)計[J].計算機測量與控制,2014.5.

[5]李佳林,劉永春.基于S3C2440網(wǎng)絡(luò)視頻采集系統(tǒng)的設(shè)計與實現(xiàn)[J].電腦知識與技術(shù),2014.1.

兴业县| 宽城| 通州市| 肥东县| 忻州市| 鹤山市| 全南县| 鄯善县| 商城县| 米脂县| 五峰| 鄂尔多斯市| 阳东县| 高雄县| 清徐县| 汉沽区| 聂拉木县| 和田县| 湾仔区| 赣州市| 长岭县| 江华| 长宁县| 濮阳市| 绥化市| 台北县| 沁阳市| 阜城县| 什邡市| 棋牌| 舞钢市| 观塘区| 滕州市| 商洛市| 澎湖县| 巴林左旗| 应城市| 安溪县| 峨边| 肥乡县| 晋中市|