1. 前言
UVC(USB video class/USB video device class): 不需要安装驱动程序即插即用,因为其驱动程序已经固化在硬件的芯片里面
V4L,其全称是Video4Linux(Video for Linux),是在linux内核中关于视频设备的API接口(网上有些帖子说是内核驱动,这种说法是不妥的),涉及开关视频设备、采集并处理视频图像信息。V4L从2.1.x版本的内核中开始出现。
V4L2,其全称是Video4Linux2(Video for Linux Two)。很显然,他是V4L的改进版,修复了第一代的部分设计bug。从2.5.x开始,V4L2就被集成到内核里面去了。尽管如此,还是有一部分设备的驱动不支持新版本的V4L2,所以,有时候我们会看到V4L跟V4L2同时出现在代码里面。
现在的摄像头品牌太多了,而且大部分都不会说自己的主控芯片,所以很难根据主控芯片去买。那么UVC摄像头是不是都支持呢?理论上大部分UVC摄像头是支持的,但我们看到,即使是官方的列表,UVC摄像头也很多有些问题,而且如果UVC摄像头不支持mjpg输出,那分辨率只能设为320x240,还有不小的延迟。怎么看UVC摄像头是否支持mjpg输出呢?还是要看主控芯片...不过我可以很负责任的告诉你,市面上低于50元的全新摄像头,肯定不支持mjpg输出(主控芯片的价格问题)
2. 5个摄像头驱动OK, 但初始化mjpg失败, 不支持mjpg格式输出, 仅支持YUV格式输出.
#TTL中的信息
[ 369.820000] usb 1-1: new high-speed USB device number 4 using ath79-ehci
[ 370.090000] uvcvideo: Found UVC 1.00 device WebCam-HM1355 (058f:5608)
[ 370.100000] input: WebCam-HM1355 as /devices/platform/ar933x-ehci/usb1/1-1/1-1:1.0/input/input0
root@OpenWrt:/tmp# dmesg | grep usb
[ 8.110000] usbcore: registered new interface driver usbfs
[ 8.120000] usbcore: registered new interface driver hub
[ 8.130000] usbcore: registered new device driver usb
[ 8.980000] usbcore: registered new interface driver usb-storage
[ 35.310000] usbcore: registered new interface driver cdc_acm
[ 35.450000] usbcore: registered new interface driver ums-alauda
[ 35.470000] usbcore: registered new interface driver ums-cypress
[ 35.490000] usbcore: registered new interface driver ums-datafab
[ 35.510000] usbcore: registered new interface driver ums-freecom
[ 35.530000] usbcore: registered new interface driver ums-isd200
[ 35.550000] usbcore: registered new interface driver ums-jumpshot
[ 35.570000] usbcore: registered new interface driver ums-karma
[ 35.590000] usbcore: registered new interface driver ums-sddr09
[ 35.610000] usbcore: registered new interface driver ums-sddr55
[ 35.740000] usbcore: registered new interface driver ums-usbat
[ 36.090000] usbcore: registered new interface driver usbhid
[ 36.100000] usbhid: USB HID core driver
[ 36.170000] usbcore: registered new interface driver uvcvideo
[ 357.140000] usb 1-1: new high-speed USB device number 2 using ath79-ehci
[ 357.420000] input: WebCam-HM1355 as /devices/platform/ar933x-ehci/usb1/1-1/1-1:1.0/input/input0
[ 918.600000] usb 1-1: USB disconnect, device number 2
[ 1225.220000] usb 1-1: new high-speed USB device number 3 using ath79-ehci
[ 1225.500000] input: We