日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

在linux下玩转usb摄像头

發(fā)布時間:2025/3/8 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 在linux下玩转usb摄像头 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

硬件平臺:PC機(jī)一臺 、usb攝像頭

操作系統(tǒng):Linux3.0.8

交叉編譯環(huán)境:arm-none-Linux-gnueabi-gcc ?4.5.1

調(diào)試步驟:

一、linux 內(nèi)核解壓

1.1使用linux-3.0.8-FS210_v8.tar.xz內(nèi)核,將這個內(nèi)核壓縮包拷貝到虛擬機(jī)的linux系統(tǒng)上

1.2 執(zhí)行 tar –xvf linux-3.0.8-FS210_v8.tar.xz,得到內(nèi)核(用來產(chǎn)生鏡像文件,燒進(jìn) s5pv210 開發(fā)板上)

1.3 解壓之后,進(jìn)入 linux-3.0.8-FS210_v8 內(nèi)核,修改該目錄下的 makefile,并配置相應(yīng)的 make menuconfig,如下:

修改 Makefile

Make menuconfig

1.3.1 usb 驅(qū)動添加

Device Drivers --->

SCSI device support --->?

<*> SCSI disk support

<*> SCSI generic support?

<*> SCSI media changer support

[*] USB support --->

<*> USB Mass Storage support

1.3.2 添加驅(qū)動(video)

Device Drivers --->

<*> Multimedia support --->?

<*> Video For Linux

[*] Video capture adapters --->

[*] V4L USB devices --->

<*> USB Video Class (UVC)

[*] UVC input events device support

1.4 執(zhí)行 make zImage –j2,報如下錯誤:

修改這個文件

修改為

繼續(xù)編譯最后出現(xiàn)

1.5 拷貝鏡像到相應(yīng)的目錄下

開發(fā)板通過 tftp,下載虛擬機(jī)上的鏡像,所以執(zhí)行

cp zImage /tftpboot/

二、抓拍代碼的移植

2.1用 arm-none-linux-gnueabi-gcc,編譯該文件

2.1.1 虛擬機(jī)上編譯 arm-none-linux-gnueabi-gcc 1.c -o 1,

編譯之前,需修改 應(yīng)用程序.c文件中的設(shè)備節(jié)點,默認(rèn)是/dev/video3。

2.1.2 拷貝可執(zhí)行文件到開發(fā)板的根文件系統(tǒng)某目錄下(本實驗,使用 nfs服務(wù),給板子提供文件系統(tǒng))

比如 cp 1 /opt/rootfs/drv(/opt/rootfs為虛擬機(jī)提供給開發(fā)板

根文件系統(tǒng),drv為我自己創(chuàng)建的目錄)

2.1.3 開發(fā)板成功和虛擬機(jī)連上后,連接好攝像頭,進(jìn)入到用于抓拍的可執(zhí)行文件的目錄,執(zhí)行./1,會在該目錄下生成對應(yīng)的圖片,默認(rèn)抓拍

12張。示例:

三、流媒體的移植

3.1jpeg 庫的移植

jpeg 源碼包通過下面這個網(wǎng)址下載http://www.ijg.org/files/jpegsrc.v8b.tar.g

解壓源碼包

tar xvf jpegsrc.v8b.tar.gz?

配置源碼 cd jpeg-8b

./configure --prefix=/home/linux/jpeg --host=arm -none-linux-gnueabi

(./configure 配置源代碼樹)

安裝目錄:

--prefix=PREFIX

體系無關(guān)文件的頂級安裝目錄 PREFIX,也就Apache的安裝目錄。

[/usr/local/apache2]

系統(tǒng)類型:

--host=HOST

指定 Apache HTTP 服務(wù)器將要運行的目標(biāo)系統(tǒng)類型 HOST 。

[BUILD])

3.2編譯

Make

3.3安裝

make ?install拷貝庫到根文件系統(tǒng)中

cp /home/linux/jpeg /lib/libjpeg.so.8 /opt/rootfs/lib

3.4 mjpg-stream的移植

3.4.1 ?mjpg-stream源碼包通過下面這個網(wǎng)址下載

http://sourceforge.net/projects/mjpg-streamer/?

解壓源碼

tar ?-xvf mjpg-streamer-r63.tar.gz

mkdir /home/linux/jpeg

3.4.2 修改源碼

cd mjpg-streamer-r63

修改頂層 makefile 及 plugins 目錄中的各級 makefile 將所有(注意這里需要修改 的內(nèi)容) CC=gcc 修改為

修改 plugins/input_uvc/Makfile?

修改

CFLAGS += -O2 -DLINUX -D_GNU_SOURCE-Wall -shared -fPIC?

修改

$(CC) $(CFLAGS) -ljpeg -o $@ input_uvc.c v4l2uvc.lo jpeg_utils.lo dynctrl.lo

?為

編譯

(make clean)

make

? mkdir /opt/rootfs/mjpg

? cp *.so /opt/rootfs/mjpg

cp mjpg-streamer /opt/rootfs/bin

3.5 運行 mjpg_stream

mjpg_streamer -i “/mjpg/input_uvc.so –y” -o “/mjpg/output_http.so -w

192.168.7.156:8080”& (注意:這里是板子的 ip 192.168.7.156)

瀏覽器上執(zhí)行:

http://192.168.7.156:8080/?action=snapshot (每次回車單張抓拍)?

或者

http://192.168.7.156:8080/?action=stream (視頻流)

或者打開 viewer.exe,輸入 IP 和端口,點擊 Connect 連接,可在下方看到視頻流。

戳閱讀原文:零基礎(chǔ)總擔(dān)心能不能行?2周見分曉!

總結(jié)

以上是生活随笔為你收集整理的在linux下玩转usb摄像头的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。