USB video device class

From Wikipedia, the free encyclopedia
Jump to: navigation, search

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, television tuners, and still-image cameras.

The latest revision of the USB video class specification carries the version number 1.1 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

Contents

[edit] Devices

[edit] Webcams

Webcams were among the first devices to support the UVC standard and they are currently the most popular UVC devices. It can be expected that in the near future most webcams will be UVC compatible as this is a logo requirement for Windows Vista ("Certified for Windows Vista").

[edit] 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 9, 2004 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).


[edit] Operating system support

[edit] Linux

USB video class support for Linux is provided by the Linux UVC driver, although as of August 2011 support for still-image capture is not yet implemented[2]

Since Linux 2.6.26 the driver is included in kernel source distribution.

[edit] Apple Mac OS X

Mac OS X ships with a UVC driver included since version 10.4.3,[citation needed] updated in 10.4.9 to work with iChat.[3]

[edit] FreeBSD

Not implemented yet, there are patches available which make Linux kernel USB mediadrivers work in userspace, by using an asynchronous USB interface. FreeBSD is the first OS to have an entire highspeed USB driver in userland.

[edit] NetBSD

NetBSD added the uvideo [1] driver for UVC devices in September, 2008; added in the 5.0 release.

[edit] OpenBSD

OpenBSD added the uvideo [2] driver for UVC devices in April, 2008; it appears in the 4.4 release.

[edit] Sony PlayStation 3

The PlayStation 3 added support for UVC compatible webcams in firmware version 1.54 (only works for video chat, not games.)

[edit] Sun 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.

[edit] Microsoft Windows

Windows XP has a class driver for USB video class devices since Service Pack 2, as does Windows Vista. A post-service pack 2 update that adds more capabilities is also available.[4] Most device manufacturers do, however, provide their own drivers tailored to the capabilities of the product in question.

[edit] References

  1. ^ USB Device Class Definition for Video Devices, Revision 1.1, June 2005
  2. ^ "Linux UVC driver and tools, Status". http://www.ideasonboard.org/uvc/#status. 
  3. ^ Mac OS X 10.4.9 update "Includes iChat support for USB Video Class webcams." Apple Inc. April 8, 2008. Retrieved January 28, 2010.
  4. ^ The updated USB Video Class (UVC) driver for Windows XP with Service Pack 2 is available
Personal tools
Namespaces
Variants
Actions
Navigation
Interaction
Toolbox
Print/export
Languages