Jump to content

USB video device class: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
m Operating system support: Update Linux kernel UVC 1.5 support status
Line 45: Line 45:


; Android: Android supports USB video devices.
; Android: Android supports USB video devices.
; Linux: USB video class support for [[Linux]] is provided by the [http://www.ideasonboard.org/uvc/ Linux UVC driver], although as of May 2012 support for still-image capture is not yet implemented.<ref>{{cite web|url=http://www.ideasonboard.org/uvc/#status|title=Linux UVC driver and tools, Status}}</ref> Since Linux 2.6.26 the driver is included in kernel source distribution.
; Linux: USB video class support for [[Linux]] is provided by the [http://www.ideasonboard.org/uvc/ Linux UVC driver], although as of May 2012 support for still-image capture is not yet implemented.<ref>{{cite web|url=http://www.ideasonboard.org/uvc/#status|title=Linux UVC driver and tools, Status}}</ref> 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<ref>{{cite web|url=https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=8afe97be37fad85b1ad7d4ab5d6b06f6fc04a274|title=Enable UVC 1.5 device detection}}</ref>, but support in the driver for UVC 1.5 specific features or specific UVC 1.5 devices was not added. The result is that some UVC 1.5 devices that also support UVC 1.1 work correctly.
; OS X: [[OS X]] ships with a UVC driver included since version 10.4.3,{{Citation needed|date=January 2010}} updated in 10.4.9 to work with [[iChat]].<ref>[http://support.apple.com/kb/HT1525 Mac OS X 10.4.9 update "Includes iChat support for USB Video Class webcams." Apple Inc. April 8, 2008. Retrieved January 28, 2010.]</ref>
; OS X: [[OS X]] ships with a UVC driver included since version 10.4.3,{{Citation needed|date=January 2010}} updated in 10.4.9 to work with [[iChat]].<ref>[http://support.apple.com/kb/HT1525 Mac OS X 10.4.9 update "Includes iChat support for USB Video Class webcams." Apple Inc. April 8, 2008. Retrieved January 28, 2010.]</ref>
; Windows : [[Windows XP]] has a [[class driver]] for USB video class 1.0 devices since [[Windows XP#Service Pack 2|Service Pack 2]], as does [[Windows Vista]] and [[Windows CE 6.0]]. A post-service pack 2 update that adds more capabilities is also available.<ref>[http://support.microsoft.com/kb/899271 The updated USB Video Class (UVC) driver for Windows XP with Service Pack 2 is available]</ref> Windows 7 added UVC 1.1 support. Support for UVC 1.5 is currently only available in Windows 8.<ref>[http://msdn.microsoft.com/en-us/library/windows/hardware/ff568651(v=vs.85).aspx USB Video Class Driver Overview]. Microsoft. Retrieved July 22, 2014.</ref> Most device manufacturers do, however, provide their own drivers tailored to the capabilities of the product in question.{{citation needed|date=January 2013}}
; Windows : [[Windows XP]] has a [[class driver]] for USB video class 1.0 devices since [[Windows XP#Service Pack 2|Service Pack 2]], as does [[Windows Vista]] and [[Windows CE 6.0]]. A post-service pack 2 update that adds more capabilities is also available.<ref>[http://support.microsoft.com/kb/899271 The updated USB Video Class (UVC) driver for Windows XP with Service Pack 2 is available]</ref> Windows 7 added UVC 1.1 support. Support for UVC 1.5 is currently only available in Windows 8.<ref>[http://msdn.microsoft.com/en-us/library/windows/hardware/ff568651(v=vs.85).aspx USB Video Class Driver Overview]. Microsoft. Retrieved July 22, 2014.</ref> Most device manufacturers do, however, provide their own drivers tailored to the capabilities of the product in question.{{citation needed|date=January 2013}}

Revision as of 10:41, 27 October 2016

The USB video device class (also USB video class or UVC) is a USB device class that describes devices capable of streaming video like webcams, digital camcorders, transcoders, analog video converters and still-image cameras.

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.[1]

See also the List of USB video class devices

Devices

Webcams

Webcams were among the first devices to support the UVC standard and they are currently the most popular UVC devices. [citation needed]

TV receivers and video recorders

UVC v1.1 support transmission of compressed video streams, including MPEG-2 TS, H.264, MPEG-4 SL SMPTE VC1 and MJPEG.[1]

Formats

Revision history

For detailed history on releases, see the revision history section of the published USB UVC documents, available from the USB.org/developers/docs page.

Version Date Description
1.0 September 4, 2003 Initial release
1.0a December 4, 2003 Add Additional Descriptor Subtypes for "Extension" types. FAQ: Added section 2.21 Interlaced Video
1.0b ? Changes to FAQ only: Protocol STALL behavior, Current and Future Payload Header Formats
1.0c June 5, 2004 Changes to FAQ only: Added Motion JPEG Characteristics
1.1 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).
1.5 June 6, 2012 Added H.264 and VP8 payloads, and accompanying controls for video encoders. Included references to USB 3.0

Operating system support

Android
Android supports USB video devices.
Linux
USB video class support for Linux is provided by the Linux UVC driver, although as of May 2012 support for still-image capture is not yet implemented.[2] 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[3], but support in the driver for UVC 1.5 specific features or specific UVC 1.5 devices was not added. The result is that some UVC 1.5 devices that also support UVC 1.1 work correctly.
OS X
OS X ships with a UVC driver included since version 10.4.3,[citation needed] updated in 10.4.9 to work with iChat.[4]
Windows
Windows XP has a class driver for USB video class 1.0 devices since Service Pack 2, as does Windows Vista and Windows CE 6.0. A post-service pack 2 update that adds more capabilities is also available.[5] Windows 7 added UVC 1.1 support. Support for UVC 1.5 is currently only available in Windows 8.[6] Most device manufacturers do, however, provide their own drivers tailored to the capabilities of the product in question.[citation needed]
FreeBSD
FreeBSD added the uvc driver for UVC devices in Jan 18, 2011; added in the 9.0 release.[7]
NetBSD
NetBSD added the uvideo driver for UVC devices in September 2008; added in the 5.0 release.[8]
OpenBSD
OpenBSD added the uvideo driver for UVC devices in April 2008; it appears in the 4.4 release.[9]
PlayStation 3
The PlayStation 3 added support for UVC compatible webcams in firmware version 1.54 (only works for video chat, not games.)
MenuetOS
MenuetOS added support for UVC compatible webcams in version 0.87
Solaris
Solaris includes support for UVC webcams in the form of the usbvc driver for OpenSolaris. The driver ships with Solaris Express build 56 and later.[10]

References

  1. ^ a b c d e f USB Device Class Definition for Video Devices, Revision 1.5, June 2012
  2. ^ "Linux UVC driver and tools, Status".
  3. ^ "Enable UVC 1.5 device detection".
  4. ^ Mac OS X 10.4.9 update "Includes iChat support for USB Video Class webcams." Apple Inc. April 8, 2008. Retrieved January 28, 2010.
  5. ^ The updated USB Video Class (UVC) driver for Windows XP with Service Pack 2 is available
  6. ^ USB Video Class Driver Overview. Microsoft. Retrieved July 22, 2014.
  7. ^ "UVC(4) FreeBSD Kernel Interfaces Manual". 2012-08-06. Retrieved 2013-09-10.
  8. ^ http://netbsd.gw.com/cgi-bin/man-cgi?uvideo++NetBSD-current
  9. ^ http://man.openbsd.org/OpenBSD-current/man4/uvideo.4
  10. ^ http://www.opensolaris.org/os/community/device_drivers/projects/usb/uvc/