Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Understanding linux standard USB webcam drivers

I'm trying to understand the layers of software that interface with USB webcams.

As I understand it:

A standard webcam fits into the category of a 'USB Video Device Class', or 'UVC'.

And in linux, Video4Linux (V4L, V4L2) encapsulates all video capture devices. V4L(2) provides two APIs: one is for programs that want to get and use the data from the capture devices. The other API is internal, for the drivers themselves, so those drivers can then be accessed by programs via V4L(2)'s external API.

One of those V4L(2) drivers is the UVC driver which encompasses all standards-compliant USB webcams.

My question:

Looking at that homepage of the UVC driver, it shows a list of supported devices. Has each one of those devices been catered for individually within the UVC driver? Or only if a device had a peculiarity that needed to be dealt with? In other words, should all standards-compliant USB webcams automatically work with the UVC driver, whether or not they're on that list?

Thanks

like image 281
CL22 Avatar asked Mar 25 '13 12:03

CL22


1 Answers

I believe the text right under the "Supported devices" headline answers your question:

The table below lists known UVC devices. Other UVC compliant video input devices are very likely to be supported.

So, un-listed devices that comply with the standard should work. Speaking from experience with mass storage ("USB flash drives") in embedded environments, your mileage will probably vary since not all devices are fine examples of engineering.

like image 85
unwind Avatar answered Oct 28 '22 07:10

unwind