USB Video Class
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.[1]
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.[1]
Formate
- Unkomprimierte YUV Formate: YUY2, NV12[1]
- DV Formate: SD-DV, SDL-DV und HDV[1]
- Frame-basiert[1]
- Videostreaming-Formate wie MPEG-2 TS, H.264, MPEG-4 SL, SMPTE VC1 und MJPEG[1]
Versionen
Einen detaillierteren Überblick über die Versionsgeschichte findet sich auf usb.org im Bereich „Video Class“.[2]
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.[3] 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,[4] 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.[5]
- 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.[6]
- 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.[7]
- 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.[8]
- 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.[9]
- 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 build 56 und später enthalten.[10]
- MorphOS
- MorphOS besitzt seit Version 3.10 Treiber für isochronen Transfer.
Weblinks
- Unterstützung von UVC unter Linux: ideasonboard.org/uvc
- Offizielle Definition unter http://www.usb.org/developers/docs/devclass_docs/, Abschnitt Video Class
Einzelnachweise
- ↑ a b c d e f USB Device Class Definition for Video Devices, Revision 1.5, Juni 2012. (englisch)
- ↑ USB-IF Device Class Documents (englisch)
- ↑ Linux UVC driver and tools, Status. (englisch).
- ↑ Enable UVC 1.5 device detection. (englisch).
- ↑ 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)
- ↑ USB Video Class Driver Overview. Microsoft. (englisch)
- ↑ UVC(4) FreeBSD Kernel Interfaces Manual. 6. August 2012, archiviert vom am 2. Juni 2015; abgerufen am 10. September 2013. (englisch)
- ↑ http://netbsd.gw.com/cgi-bin/man-cgi?uvideo++NetBSD-current (englisch)
- ↑ http://man.openbsd.org/OpenBSD-current/man4/uvideo.4 (englisch)
- ↑ USB Video Class driver on Solaris (Memento vom 23. August 2007 im Internet Archive) (englisch)