UVC,全称为:USB video class 或USB video device class
UVC既电脑硬件在不需要安装任何的驱动程序下即插即用,因为其驱动程序已经固化在硬件的芯片里面, Linux内核版本2.6.18以上都可以支持UVC,只要使用uvc摄像头,只需配置内核支持UVC即可,并不需要移植代码,这里以Linux3.8.3内核为例。
配置内核,支持USB摄像头:
Device Drivers ---><*> Multimedia support ---> Cameras/video grabbers support Media Controller API (EXPERIMENTAL) V4L2 sub-device userspace API (EXPERIMENTAL) Media USB Adapters ---> <*> USB Video Class (UVC) UVC input events device support <*> GSPCA based webcams --->
到这里,我们就可以选择所需要的USB摄像头驱动,当然也可以选择所有的USB摄像头驱动支持(这样编译出的内核会比较大)
GSPCA是一个万能摄像头驱动程序,进入GSPCA based webcams进行选择。
插入USB摄像头(我使用的UVC摄像头),会提示:
usb 1-1.1: new high-speed USB device number 3 using s5p-ehci
usb 1-1.1: New USB device found, idVendor=058f, idProduct=0362
usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 1-1.1: Product: USB 2.0 PC Camera
usb 1-1.1: Manufacturer: Alcor Micro, Corp.
uvcvideo: Found UVC 1.00 device USB 2.0 PC Camera (058f:0362)
input: USB 2.0 PC Camera as /devices/platform/s5p-ehci/usb1/1-1/1-1.1/1-1.1:1.0/
input/input0
它的设备名称是:/dev/video0
USB摄像头一般都是基于V4L2架构的,需要编写V4L2架构的程序来操作摄像头 |