USB video class
The USB Video Class (also called USB Video Device Class or UVC ) combines certain devices that stream video via USB into a special class of USB devices. These include, for example, webcams , camcorders , transcoders and devices that convert tape-based material into a digital format.
The current revision of the UVC specification is version 1.5 and was defined by the USB Implementers Forum .
equipment
A USB device is only considered a UVC device if it meets the USB Device Class Definition for Video Devices, i.e. it meets the minimum requirements of the UVC specification. Such devices have the advantage that they do not require a separate driver for their operation, since a uniform UVC driver can operate the devices from different manufacturers.
Webcams
Webcams were among the first devices to support the UVC standard.
Television receivers and video recorders
Version 1.1 of UVC supports the transmission of compressed video streams, including MPEG-2 TS, H.264 , MPEG-4 SL SMPTE VC1 and MJPEG .
Formats
- Uncompressed YUV formats: YUY2 , NV12
- DV formats: SD-DV, SDL-DV and HDV
- Frame-based
- Video streaming formats such as MPEG-2 TS, H.264 , MPEG-4 SL, SMPTE VC1 and MJPEG
Versions
A more detailed overview of the version history can be found on usb.org in the “Video Class” area.
version | date | description |
---|---|---|
1.0 | September 4, 2003 | Initial release. |
1.0a | December 4, 2003 | Additional sub-types for the "Extension" type added. A section for interlaced video has been created in the FAQ . |
1.0b | (unknown) | Only changes in the FAQ. |
1.0c | June 5, 2004 | Only changes in the FAQ. |
1.1 | June 1, 2005 | Major update, including: New document specification for streaming and frame-based formats, latency optimization for streaming formats, name change from “VDC” to “UVC”, removal of obsolete formats and addition of new formats. Addition of a flag to differentiate between dynamic and fixed frame rates . |
1.5 | June 6, 2012 | Adding H.264 and VP8 transfers and references to USB 3.0. |
Operating system support
- Android
- Android supports UVC.
- Linux
- UVC support in Linux is provided by the "Linux UVC driver", the status can be queried via the project page. The UVC driver is part of the kernel from version 2.6.26. The detection of version 1.5 UVC devices was added to the kernel in version 4.5, but support for specific functions of UVC 1.5 was not added. Therefore, only UVC 1.5 devices that also support UVC 1.1 work correctly.
- OS X
- macOS supports UVC from version 10.4.3, and from version 10.4.9 also in iChat .
- Windows
- Windows XP contains a driver for UVC 1.0 since Service Pack 2 , as does Windows Vista and Windows CE 6.0. Windows 7 added UVC 1.1 support, and UVC 1.5 is available starting with Windows 8 .
- FreeBSD
- FreeBSD added the "uvc" driver to support UVC devices on January 18, 2011. It was released in version 9.0.
- NetBSD
- NetBSD added the "uvideo" driver for UVC devices in September 2008. It was released in version 5.0.
- OpenBSD
- OpenBSD added the "uvideo" driver for UVC devices in April 2008. It was released in version 4.4.
- PlayStation 3
- The PlayStation 3 added support for UVC devices in version 1.54 of the firmware (only for video chats).
- MenuetOS
- MenuetOS added support for UVC devices in version 0.87.
- Solaris
- Solaris includes support for UVC webcams through the "usbvc" driver for OpenSolaris. It is included in Solaris Express build 56 and later.
- MorphOS
- MorphOS has had drivers for isochronous transfer since version 3.10.
Web links
- Official definition at http://www.usb.org/developers/docs/devclass_docs/ , Video Class section
- Support of UVC under Linux: ideasonboard.org/uvc
Individual evidence
- ↑ a b c d e f USB Device Class Definition for Video Devices, Revision 1.5 , June 2012. (English)
- ↑ USB-IF Device Class Documents (English)
- ^ Linux UVC driver and tools, Status . (English)
- ↑ Enable UVC 1.5 device detection . (English)
- ↑ Mac OS X 10.4.9 update "Includes iChat support for USB Video Class webcams" , Apple Inc. April 8, 2008. Retrieved January 28, 2010. (English)
- ↑ USB Video Class Driver Overview . Microsoft. (English)
- ↑ UVC (4) FreeBSD Kernel Interfaces Manual . August 6, 2012. Archived from the original on June 2, 2015. Retrieved September 10, 2013. (English)
- ↑ http://netbsd.gw.com/cgi-bin/man-cgi?uvideo++NetBSD-current (English)
- ↑ http://man.openbsd.org/OpenBSD-current/man4/uvideo.4 (English)
- ↑ USB Video Class driver on Solaris ( Memento from August 23, 2007 in the Internet Archive ) (English)