The latest revision of the USB video class specification carries the version number 1.5 and was defined by the USB Implementers Forum in a set of documents describing both the basic protocol and the different payload formats.
Webcams were among the first devices to support the UVC standard and are currently the most popular UVC devices.
This section's factual accuracy is disputed. Relevant discussion may be found on the talk page. Please help to ensure that disputed statements are reliably sourced. (July 2020) (Learn how and when to remove this template message)
For detailed history on releases, see the revision history section of the published USB UVC documents, available from the USB.org page.
September 4, 2003
December 4, 2003
Add Additional Descriptor Subtypes for "Extension" types. FAQ: Added section 2.21 Interlaced Video
Changes to FAQ only: Protocol STALL behavior, Current and Future Payload Header Formats
June 5, 2004
Changes to FAQ only: Added Motion JPEG Characteristics
June 1, 2005
Major update including among other things: New Documents specifying for Stream and Frame Based Payloads, Latency optimizations for Stream-based formats, Specification of Absolute and Relative Control relationship, Asynchronous controls behavior, change naming from "VDC" to "UVC", obsolete old formats and add new ones, add a flag to distinguish between dynamic and fixed frame rate devices (RR0043).
June 6, 2012
Added H.264 and VP8 payloads, and accompanying controls for video encoders. Included references to USB 3.0
Operating system support
This section needs to be updated. Please help update this article to reflect recent events or newly available information. (January 2013)
As of the release of Android 10 (and still as of June 2020) Android does not support UVC (USB video devices). Earlier Android versions do support UVC.
USB video class support for Linux is provided by the Linux UVC driver, although as of July 2017 support for still-image capture is not yet implemented. The UVC driver has been included in the Linux kernel source code since kernel version 2.6.26. Detection of UVC 1.5 devices was introduced in Linux kernel version 4.5, but support in the driver for UVC 1.5 specific features or specific UVC 1.5 devices was not added and MPEG-2 TS, H.264 and VP8 payloads are not supported yet. The result is that some UVC 1.5 devices that also support UVC 1.1 work correctly.
macOS ships with a UVC driver included since version 10.4.3, updated in 10.4.9 to work with iChat.