DirectShow-Systemübersicht

[Das dieser Seite zugeordnete Feature DirectShow ist ein Legacyfeature. Es wurde von MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation abgelöst. Diese Features wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code mediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation anstelle von DirectShow verwendet, wenn möglich. Microsoft schlägt vor, dass vorhandener Code, der die Legacy-APIs verwendet, so umgeschrieben wird, dass nach Möglichkeit die neuen APIs verwendet werden.]

Die Herausforderung der Multimedia

Die Arbeit mit Multimedia stellt mehrere große Herausforderungen dar:

  • Multimediastreams enthalten große Datenmengen, die sehr schnell verarbeitet werden müssen.
  • Audio und Video müssen synchronisiert werden, damit sie gleichzeitig gestartet und beendet werden und mit der gleichen Rate wiedergegeben werden.
  • Daten können aus vielen Quellen stammen, z. B. aus lokalen Dateien, Computernetzwerken, Fernsehsendungen und Videokameras.
  • Die Daten sind in einer Vielzahl von Formaten verfügbar, z. B. Audio-Video Interleaved (AVI), Advanced Streaming Format (ASF), Motion Picture Experts Group (MPEG) und Digital Video (DV).
  • Der Programmierer weiß im Voraus nicht, welche Hardwaregeräte auf dem System des Endbenutzers vorhanden sein werden.

Die DirectShow-Lösung

DirectShow ist für jede dieser Herausforderungen konzipiert. Das Standard Designziel besteht darin, die Aufgabe der Erstellung digitaler Medienanwendungen auf der Windows-Plattform zu vereinfachen, indem Anwendungen von der Komplexität von Datentransporten, Hardwareunterschieden und Synchronisierung isoliert werden.

Um den für das Streamen von Video und Audio erforderlichen Durchsatz zu erreichen, verwendet DirectShow nach Möglichkeit Direct3D und DirectSound. Diese Technologien rendern Daten effizient für die Sound- und Grafikkarten des Benutzers. DirectShow synchronisiert die Wiedergabe, indem Mediendaten in Zeitstempelbeispielen gekapselt werden. Um die Vielzahl von Quellen, Formaten und Hardwaregeräten zu verarbeiten, die möglich sind, verwendet DirectShow eine modulare Architektur, in der die Anwendung verschiedene Softwarekomponenten kombiniert und abgleicht, die als Filter bezeichnet werden.

DirectShow bietet Filter, die Erfassungs- und Optimierungsgeräte unterstützen, die auf dem Windows-Treibermodell (WDM) basieren, sowie Filter, die ältere Video für Windows (VfW)-Aufnahmekarten unterstützen, und Codecs, die für die ACM-Schnittstellen (Audio Compression Manager) und Video Compression Manager (VCM) geschrieben wurden.

Das folgende Diagramm zeigt die Beziehung zwischen einer Anwendung, den DirectShow-Komponenten und einigen der Hardware- und Softwarekomponenten, die DirectShow unterstützt.

Allgemeine Architektur

Wie hier dargestellt, kommunizieren DirectShow-Filter mit einer Vielzahl von Geräten, darunter das lokale Dateisystem, TV-Tuner und Videoaufnahmekarten, VfW-Codecs, die Videoanzeige (über DirectDraw oder GDI) und den Sound Karte (über DirectSound). So isoliert DirectShow die Anwendung von vielen der Komplexitäten dieser Geräte. DirectShow bietet auch native Komprimierungs- und Dekomprimierungsfilter für bestimmte Dateiformate.

Informationen zu DirectShow