Freigeben über


USBCAMD2-Kamerakonfigurationen

Minitreibe zur Unterstützung von USB-Kameras können Clients des stream.sys-Klassentreibers am oberen Ende und der USB-Bustreiber am unteren Ende sein, wie im folgenden Diagramm dargestellt.

Diagramm zur Veranschaulichung der Minitreibermodelle der USB-Kamera.

In der Konfiguration der Gruppe Ades Diagramms muss der Minitreiber-Writer eine Schnittstelle zum Klassentreiber stream.sys, der Kamera und dem USB-Bus haben. In der Konfiguration der Gruppe B muss ein für die Verwendung von USBCAMD2 geschriebener Minitreiber nur den gerätespezifischen Code enthalten. Wenn Sie USBCAMD2 verwenden, können Sie sich auf die Implementierung der Unterstützung für Videoformate, Eigenschaftensätze, Bilddekomprimierung und Farbraumkonvertierung konzentrieren. Die USBCAMD2 Minidriver-Bibliothek steuert die Verbindung mit dem stream.sysKlassentreiber und dem USB-Bustreiber, wodurch der Prozess der Entwicklung eines Kamera-Minidrivers vereinfacht wird.

Obwohl USBCAMD2 mit dem mittlerweile veralteten Klassentreiber stream.sys interagiert, kann die Entwicklung eines Kamera-Minitreibers mit USBCAMD2 einfacher sein, als das Schreiben einer eigenen eigenständigen Klasse stream.sys oder eines AVStream-Minitreibers.

Der Hauptzweck von USBCAMD2 ist die Unterstützung von Streaming-Videokameras wie Webcams. USBCAMD2 bietet jedoch auch Unterstützung für die Verwendung von USB-Massen- und Unterbrechungsübertragungsrohren, um weiterhin Bilder aufzunehmen, die von der Kamera gesendet werden. Diese Funktion unterstützt USB-Kameras mit Schnappschussfunktion zum Aufnehmen von Frames.

Wenn Ihre Kamera in erster Linie Video streamt und optional Momentaufnahme-Funktion bereitstellt, müssen Sie nur einen USBCAMD2 Minitreiber schreiben. Anbieter von Hybridkameras (Kameras, die hauptsächlich Standbilder aufnehmen, aber auch Videos streamen können) schreiben einen USBCAMD2-Minitreiber zur Unterstützung der Streaming-Funktion und einen separaten Windows Image Acquisition (WIA)-Standbildkameratreiber zur Unterstützung der Speicherung und Verwaltung von Standbildern. Weitere Informationen zu WIA und Unterstützung von Digitalkameras, die stille Bilder aufnehmen, finden Sie unter Windows Image Acquisition Drivers.

Die USBCAMD2-Bibliothek unterstützt Kameras, die eine Kombination aus isochronen Rohren, Massen-E/A-Rohren und/oder Unterbrechungspipes zum Übertragen von Datenströmen und Steuerungseinstellungen verwenden. USBCAMD2 unterstützt Kameras, die die folgenden USB-Pipekonfigurationen implementieren:

  • Eine einzelne isochrone Pipe mit Synchronisierungsinformationen, z. B. Start und Ende des Videos oder weiterhin Frames, die in den Datenstrom eingebettet sind. Diese Arten von Kameras können sowohl Video als auch weiterhin Frames über die gleiche isochrone Pipe oder wiederverwenden einzelne Videoframes wie stille Frames.

  • Identisch mit der vorherigen Konfiguration mit dem Hinzufügen einer Unterbrechungspipeline zur Signalbenachrichtigung von externen Triggerereignissen an registrierte Anwendungen.

  • Identisch mit der ersten Konfiguration mit dem Hinzufügen von zwei Massen-E/A-Rohren zur Steuerung und zum Abrufen von Frames aus der Kamera.

  • Zwei isochrone Pipes. Eine Pipe streamt Daten und die andere Pipe enthält Synchronisierungsinformationen, z. B. das Start- und Ende des Videos oder stille Frames. Diese Kameras können sowohl Video als auch weiterhin Frames über die gleiche isochrone Pipe oder wiederverwenden einzelne Videoframes wie stille Frames.

  • Zwei Massen-E/A-Pipes und eine optionale Unterbrechungsleitung. Ein Massenpipelinestream-Video und die anderen Massenpipes übertragen weiterhin Bilder. Die optionale Interrupt-Pipe signalisiert registrierten Anwendungen Benachrichtigungen über externe Trigger-Ereignisse.

Beachten Sie, dass USBCAMD2 Kameras mit einer einzigen USB-Schnittstelle unterstützt, die über mehrere alternative Einstellungen verfügt. Alle alternativen Einstellungen müssen denselben Typ und die gleiche Anzahl von Pipes aufweisen. Sie geben diese Informationen in einem Array vom Typ USBCAMD_Pipe_Config_Descriptor an, das Sie beim Initialisieren und Konfigurieren der Kamera an CamConfigureEx übergeben.

Während USB 1.1-Geräte an einen USB 2.0-Bus angeschlossen werden können, unterstützt USBCAMD2 nur USB 1.1-Kamerageräte und ist daher auf den maximalen Durchsatz des USB 1.1-Busses beschränkt (z. B. isochrone Datenübertragung im Vollgeschwindigkeitsmodus). USBCAMD2 unterstützt den USB 2.0-Hochgeschwindigkeitsmodus für die isochrone Datenübertragung nicht. Wenn eine Kamera jedoch nur Massenrohre implementiert, könnte sie von der Verbindung mit einem USB 2.0-Bus profitieren, bei dem mehr verfügbare Massenübertragungsbandbreite verfügbar ist.