<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于S3C6410的無(wú)線(xiàn)視頻監控系統設計

基于S3C6410的無(wú)線(xiàn)視頻監控系統設計

作者: 時(shí)間:2016-09-12 來(lái)源:網(wǎng)絡(luò ) 收藏

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所示。

基于S3C6410的無(wú)線(xiàn)視頻監控系統設計

插件最主要且最常用的組件是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)行的圖像畫(huà)面質(zhì)量較好,達到了的功能。

基于S3C6410的無(wú)線(xiàn)視頻監控系統設計

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

基于S3C6410的無(wú)線(xiàn)視頻監控系統設計

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)行視頻圖像的編解碼。


上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>