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
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With