Freigeben über


Quellleser

Der Quellleser ist eine Alternative zur Verwendung der Media Session und der Microsoft Media Foundation-Pipeline zum Verarbeiten von Mediendaten.

Warum wird der Quellleser verwendet?

Media Foundation stellt eine Pipeline bereit, die für die Wiedergabe optimiert ist. Die Pipeline ist end-to-End, d. h. sie verarbeitet den Datenfluss von der Quelle (z. B. eine Videodatei) bis zum Ziel (z. B. die Grafikanzeige). Wenn Sie die Daten jedoch beim Durchlaufen der Pipeline lesen oder ändern möchten, müssen Sie ein benutzerdefiniertes Plug-In schreiben. Dies erfordert ein ziemlich tiefes Wissen über die Media Foundation-Pipeline. Für bestimmte Aufgaben ist das Erstellen eines neuen Plug-Ins zu viel Aufwand. Der Quellleser ist für diese Art von Situation konzipiert, wenn Sie die Rohdaten aus einer Quelle abrufen möchten, ohne dass der Aufwand der gesamten Pipeline besteht.

Intern enthält der Quellleser einen Zeiger auf eine Medienquelle. Eine Medienquelle ist ein Media Foundation-Objekt, das Mediendaten aus einer externen Quelle generiert, z. B. eine Mediendatei oder ein Videoaufnahmegerät. Der Quellleser verwaltet alle Methodenaufrufe an die Medienquelle. (Weitere Informationen zu Medienquellen finden Sie unter Medienquellen.)

Wenn die Medienquelle komprimierte Daten liefert, können Sie den Quellleser verwenden, um die Daten zu decodieren. In diesem Fall lädt der Quellleser den richtigen Decoder und verwaltet den Datenfluss zwischen der Medienquelle und dem Decoder. Der Quellleser kann auch eine begrenzte Videoverarbeitung durchführen: Farbkonvertierung von YUV in RGB-32 und Softwaredeinterlacing, obwohl diese Vorgänge nicht für das Echtzeit-Videorendering empfohlen werden. Die folgende Abbildung zeigt diesen Prozess.

Diagramm des Quelllesers

Der Quellleser sendet die Daten nicht an ein Ziel; es liegt an der Anwendung, die Daten zu nutzen. Beispielsweise kann die Quellsprachausgabe eine Videodatei lesen, das Video wird jedoch nicht auf dem Bildschirm gerendert. Außerdem verwaltet der Quellleser keine Präsentationsuhr, behandelt Anzeigedauerprobleme oder synchronisiert Video mit Audio.

Erwägen Sie die Verwendung des Quelllesers in folgenden Fällen:

  • Sie möchten Daten aus einer Mediendatei abrufen, ohne sich gedanken über die zugrunde liegende Dateistruktur zu machen.
  • Sie möchten Daten von einem Audio- oder Videoaufnahmegerät abrufen.
  • Ihre Datenverarbeitungsaufgaben sind nicht zeitempfindlich, oder Sie benötigen keine Präsentationsuhr.
  • Sie verfügen bereits über eine Medienpipeline, die nicht auf Media Foundation basiert, und Sie möchten die Media Foundation-Medienquellen in Ihre eigene Pipeline integrieren.

Der Quellleser wird in den folgenden Situationen nicht empfohlen:

  • Für geschützte Inhalte. Der Quellleser unterstützt keine Verwaltung digitaler Rechte (Digital Rights Management, DRM).
  • Wenn Sie sich um die Details der zugrunde liegenden Dateistruktur kümmern. Der Quellleser blendet diesen Detailtyp aus.

In diesem Abschnitt

Thema Beschreibung
Verwenden des Quelllesers zum Verarbeiten von Mediendaten
In diesem Thema wird die Verwendung des Quelllesers zum Verarbeiten von Mediendaten beschrieben.
Verwenden des Quelllesers im asynchronen Modus
In diesem Thema wird beschrieben, wie Sie den Quellleser im asynchronen Modus verwenden.
Lernprogramm: Decodieren von Audio-
In diesem Lernprogramm wird gezeigt, wie Sie den Quellleser verwenden, um Audio aus einer Mediendatei zu decodieren und die Audiodaten in eine WAVE-Datei zu schreiben.

 

Media Foundation Architecture

Media Foundation-Programmierhandbuch

IMFSourceReader-