Encodergeräte
Encoder sind Geräte, die als Eingabe einen unkomprimierten Datenstrom (Video und/oder Audio) empfangen, den Datenstrom in ein bestimmtes Format wie MPEG2 codieren und dann einen codierten Datenstrom ausgeben. Encodergeräte können Teil eines anderen Geräts sein, z. B. ein Kombinations-TV-Tuner/Aufnahmeadapter, oder sie können getrennt sein. Beispielsweise empfängt ein integrierter Encoder einen Datenstrom von einem Aufnahmegerät, z. B. einem analogen TV-Tuner/Decoder, und erzeugt dann einen codierten Datenstrom. Ein eigenständiger Encoder kann Eingabedaten aus einer unkomprimierten Datei empfangen, die Daten verarbeiten und dann codierte Daten ausgeben.
Microsoft bietet Unterstützung für hardwarebasierte Audio-/Videoencodergeräte in DirectX 9.0 und höher.
Um Audio-/Videoencodergeräte zu unterstützen, müssen Sie unterstützung für von Microsoft definierte Encodereigenschaften in einem Kernelstreamingfilter-Minidriver implementieren. Unterstützung kann einer vorhandenen Streamklasse oder einem AVStream-Minidriver hinzugefügt werden, indem die Encodereigenschaften implementiert werden. Alternativ empfiehlt Microsoft, wenn Sie einen neuen Minitreiber (entweder für einen eigenständigen oder einen integrierten Encoder) schreiben, die AVStream-Architektur zu befolgen, da die Streamklasse veraltet ist und nicht mehr unterstützt wird. Sie können den AVStream Simulated Hardware Sample Driver (Avshws) als Ausgangspunkt verwenden. Der Avshws-Treiber ist ein pinzentriertes AVStream-Beispiel, das die Unterstützung für DMA-Übertragungen implementiert.
Hinweis
Wenn Sie einen von der Software implementierten Encoder schreiben, sollten Sie ihn nicht als Kernelstreamingfilter schreiben. Stattdessen sollten solche Filter als Microsoft DirectShow-Filter oder DirectX-Medienobjekte geschrieben werden. Weitere Informationen zu softwarebasierten Encodern finden Sie im DirectShow SDK-Thema "Encoder-API".
Clients greifen über die ICodecAPI COM-Schnittstelle auf Encoderfunktionen zu. Sie geben an, welche Schnittstelle KsProxy in der INF-Datei des Treibers verfügbar macht, abhängig von den Eigenschaften, die Ihr Minitreiber implementiert. Informationen zu den von Microsoft definierten Kernelstreamingeigenschaften und -ereignissen finden Sie unter Encoderimplementierung und Unterstützung . Beispiele für deren Implementierung finden Sie unter Encodercodebeispiele . Unter Encoderinstallation und -registrierung finden Sie Informationen zum Installieren eines Encoderfilters, einschließlich der Angabe, welche COM-Schnittstelle KsProxy verfügbar machen soll.
Encodergeräte müssen zusätzlich zu den allgemeinen Logoanforderungen, die alle Geräte abdecken, den Anforderungen an Streamingmedien und Broadcast entsprechen, wie sie im Windows-Zertifizierungsprogramm beschrieben sind.