Die USB Video Class (auch USB Video Device Class oder UVC genannt) fasst bestimmte Geräte, die Video über USB streamen, zu einer speziellen Klasse von USB-Geräten zusammen. Dazu gehören zum Beispiel Webcams, Camcorder, Transcoder und Geräte, die bandbasiertes Material in ein digitales Format wandeln.
Die aktuelle Revision der UVC Spezifikation ist die Version 1.5 und wurde durch das USB Implementers Forum definiert.USB Device Class Definition for Video Devices, Revision 1.5, Juni 2012. (englisch)
Geräte Ein USB-Gerät gilt nur dann als UVC-Gerät, wenn es die USB Device Class Definition for Video Devices erfüllt, also den minimalen Anforderungen der UVC-Spezifikation genügt. Solche Geräte haben den Vorteil, dass sie für ihren Betrieb keinen separaten Treiber benötigen, da ein einheitlicher UVC-Treiber die Geräte verschiedener Hersteller betreiben kann.
Webcams Webcams gehörten zu den ersten Geräten, die den UVC Standard unterstützten.
Fernsehempfänger und Videorekorder Version 1.1 von UVC unterstützt die Übertragung von komprimierten Videostreams, darunter auch MPEG-2 TS, H.264, MPEG-4 SL SMPTE VC1 und MJPEG.
Formate Unkomprimierte YUV Formate: YUY2, NV12 DV Formate: SD-DV, SDL-DV und HDV Frame-basiert Videostreaming-Formate wie MPEG-2 TS, H.264, MPEG-4 SL, SMPTE VC1 und MJPEG
Versionen Einen detaillierteren Überblick über die Versionsgeschichte findet sich auf usb.org im Bereich „Video Class“.USB-IF Device Class Documents (englisch)
Version Datum Beschreibung 1.0 4. September 2003 Erstveröffentlichung. 1.0a 4. Dezember 2003 Zusätzliche Untertypen für den Typ „Extension“ hinzugefügt. In der FAQ wurde ein Abschnitt für Interlaced Video erstellt. 1.0b (unbekannt) Nur Änderungen in der FAQ. 1.0c 5. Juni 2004 Nur Änderungen in der FAQ. 1.1 1. Juni 2005 Großes Update, unter anderem: Neue Dokumentspezifizierung für Streaming und Frame-basierte Formate, Latenzoptimierung für Streaming-Formate, Namensänderung von „VDC“ zu „UVC“, Entfernung veralteter Formate und Hinzufügung von neuen Formaten. Hinzufügung eines Flags, um zwischen dynamischen und festen Bildfrequenzen zu unterscheiden. 1.5 6. Juni 2012 Hinzufügen von H.264 und VP8 Übertragungen und Verweise auf USB 3.0.
Unterstützung durch Betriebssysteme
Android Android unterstützt UVC. Linux UVC Unterstützung in Linux wird durch den „Linux UVC Treiber“ bereitgestellt, der Status kann über die Projektseite abgefragt werden. Der UVC-Treiber ist ab Version 2.6.26 Bestandteil des Kernels. Die Erkennung von UVC-Geräten der Version 1.5 wurde in Version 4.5 in den Kernel aufgenommen, aber eine Unterstützung spezifischer Funktionen von UVC 1.5 wurde nicht hinzugefügt. Daher arbeiten nur solche UVC 1.5 Geräte korrekt, die auch UVC 1.1 unterstützen. OS X macOS unterstützt UVC ab Version 10.4.3, und ab Version 10.4.9 auch in iChat.Mac OS X 10.4.9 update "Includes iChat support for USB Video Class webcams", Apple Inc. 8. April 2008. Abgerufen am 28. Januar 2010. (englisch) Windows Windows XP enthält einen Treiber für UVC 1.0 seit Service Pack 2, ebenso Windows Vista und Windows CE 6.0. Windows 7 fügte UVC 1.1 Unterstützung hinzu, und UVC 1.5 ist ab Windows 8 verfügbar.USB Video Class Driver Overview. Microsoft. (englisch) FreeBSD FreeBSD fügte den „uvc“ Treiber für Unterstützung von UVC-Geräten am 18. Januar 2011 hinzu. Er wurde in der Version 9.0 veröffentlicht. (englisch) NetBSD NetBSD fügte den „uvideo“ Treiber für UVC-Geräte im September 2008 hinzu. Er wurde in der Version 5.0 veröffentlicht.http://netbsd.gw.com/cgi-bin/man-cgi?uvideo++NetBSD-current (englisch) OpenBSD OpenBSD fügte den „uvideo“ Treiber für UVC-Geräte im April 2008 hinzu. Er wurde in der Version 4.4 veröffentlicht.https://man.openbsd.org/OpenBSD-current/man4/uvideo.4 (englisch) PlayStation 3 Die PlayStation 3 fügte in der Version 1.54 der Firmware Unterstützung für UVC-Geräte hinzu (nur für Videochats). MenuetOS MenuetOS fügte in Version 0.87 Unterstützung für UVC-Geräte hinzu. Solaris Solaris beinhaltet Unterstützung für UVC Webcams durch den „usbvc“ Treiber für OpenSolaris. Er ist in Solaris Express und später enthalten. (englisch) MorphOS MorphOS besitzt seit Version 3.10 Treiber für isochronen Transfer.
Weblinks Offizielle Definition unter https://www.usb.org/developers/docs/devclass_docs/, Abschnitt Video Class Unterstützung von UVC unter Linux: ideasonboard.org/uvc
Einzelnachweise
Kategorie:Streaming