Linux下USB Camera的安装和使用

时间:2021-08-13 01:43:49

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

其中,videovideo0的连接。如果没有再现,可能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有研究的,就很熟悉这些字段。

 

4 、再看一下系统能不能识别出摄像头:

[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)

哈哈,识别出来了!可以测试了。


5、我使用的软件是luvcview,这个软件google就可以找到的。安装过程很简单,——makemake 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 格式,有yuvjpg两种,后者测试不行

-s 大小,能支持的最大尺度可能由luvcview决定,也可能由摄像头决定,(应该是后者,暂没有研究)

更具体的参见luvcview目录下的README文件。

另外,如果没有插入摄像头,即使modprobe uvcvideo也不会出现/dev/video设备文件;插入摄像头,即使没有modprobe uvcvideo,也会出现/dev/video设备文件,当然这是我的测试,没有代表性,也没有理论根据的。


注:

1、UVCUSB Video Class

2、gspcav不是不再维护,而是在某一版本开始已经纳入内核了,至于哪个版本,就不太清楚了。特此说明。

3、这次毕业设计所不再编译gspca到内核中了。不支持它,直接使用UVC。