usb摄像头的检测
usb攝像頭的檢測
下面寫一下過程:
如果你能在http://www.ideasonboard.org/uvc/找到你的攝像頭的ID,即UVC支持的,那么就可以在linux下使用了。至于從哪個版本開始內核支持UVC,官方的話是“Linux 2.6.26 and newer includes the Linux UVC driver natively.”
1、查看攝像頭ID:
[root@151 dev]# lsusb
Bus 002 Device 013: ID 0ac8:3313 Z-Star Microelectronics Corp.
0xc8:3313在UVC中支持了。
2、插入攝像頭后,就可以在/dev/下查看是否有video設備文件:
[root@151 dev]# ls | grep video
video
video0
其中,video是video0的連接。如果沒有再現,可能UVC沒有配置到內核中,重新配置就可以了(大致在Device DriversàMultimedia devicesàVideo capture adaptersàV4L USB devices下面)。如果內核配置了,還是不出現,可以使用modprobe uvcvideo來加載該模塊。
3、先看看攝像頭的相關信息:
lshal | grep Cam
出現:
? info.product = 'Vega USB 2.0 Camera.'? (string)
? usb_device.product = 'Vega USB 2.0 Camera.'? (string)
? usb.interface.description = 'Vega USB 2.0 Camera.' ?(string)
? info.product = 'Vega USB 2.0 Camera.'? (string)
? input.product = 'Vega USB 2.0 Camera.'? (string)
? info.product = 'Vega USB 2.0 Camera.'? (string)
對USB有研究的,就很熟悉這些字段。
?
再看一下系統能不能識別出攝像頭:
[root@151 log]# dmesg? | grep Cam
uvcvideo: Found UVC 1.00 device Vega USB 2.0 Camera. (0ac8:3313)
input: Vega USB 2.0 Camera. as /class/input/input6
usb 2-7: Product: Vega USB 2.0 Camera.
uvcvideo: Found UVC 1.00 device Vega USB 2.0 Camera. (0ac8:3313)
input: Vega USB 2.0 Camera. as /class/input/input7
usb 2-7: Product: Vega USB 2.0 Camera.
uvcvideo: Found UVC 1.00 device Vega USB 2.0 Camera. (0ac8:3313)
input: Vega USB 2.0 Camera. as /class/input/input8
usb 2-7: Product: Vega USB 2.0 Camera.
?
[root@151 ~]# dmesg | grep video
pci 0000:05:00.0: Boot video device
Linux video capture interface: v2.00
usbcore: registered new interface driver uvcvideo
uvcvideo 2-7:1.0: usb_probe_interface
uvcvideo 2-7:1.0: usb_probe_interface - got id
uvcvideo: Found UVC 1.00 device Vega USB 2.0 Camera. (0ac8:3313)
uvcvideo 2-7:1.0: usb_probe_interface
uvcvideo 2-7:1.0: usb_probe_interface - got id
uvcvideo: Found UVC 1.00 device Vega USB 2.0 Camera. (0ac8:3313)
uvcvideo 2-7:1.0: usb_probe_interface
uvcvideo 2-7:1.0: usb_probe_interface - got id
uvcvideo: Found UVC 1.00 device Vega USB 2.0 Camera. (0ac8:3313)
哈哈,識別出來了!可以測試了。
4、我使用的軟件是luvcview,這個軟件google就可以找到的。安裝過程很簡單,——make,make install就可以了。
下面這個過程是測試過程,從看到圖像到結束的過程:
[root@151 dev]# luvcview -d /dev/video0 -f yuv -s 640x480
uvcview verion 0.1.4
?size width: 640 height: 480
Video driver: x11
A window manager is available
video /dev/video0
?
Stop asked
?Clean Up done Quit
[root@151 dev]#?
解釋命令:
-d 設備名,這里/dev/video或/dev/video0都可以,因為它們都是一個文件
-f 格式,有yuv和jpg兩種,后者測試不行
-s 大小,能支持的最大尺度可能由luvcview決定,也可能由攝像頭決定,(應該是后者,暫沒有研究)
更具體的參見luvcview目錄下的README文件。
另外,如果沒有插入攝像頭,即使modprobe uvcvideo也不會出現/dev/video設備文件;插入攝像頭,即使沒有modprobe uvcvideo,也會出現/dev/video設備文件,當然這是我的測試,沒有代表性,也沒有理論根據的。
總結
- 上一篇: html js 实现拖动效果
- 下一篇: HTML元素拖动