Instanziieren einer Encoder-MFT

In Microsoft Media Foundation werden Encoder als Media Foundation-Transformationen (MFTs) implementiert. Bevor Sie einen Encoder erstellen, müssen Sie zuerst den Encoder ermitteln, der für Ihre Anforderungen am besten geeignet ist.

  • Windows Media-Audiocodecs

    Kategorie: MFT_CATEGORY_AUDIO_ENCODER

    Haupttyp: MFMediaType_Audio

    Untertyp: MFAudioFormat_WMAudioV9, MFAudioFormat_WMAudioV8, MFAudioFormat_WMAudio_Lossless, MFAudioFormat_WMASPDIF

  • Windows Media-Videocodecs

    Kategorie: MFT_CATEGORY_VIDEO_ENCODER

    Haupttyp: MFMediaType_Video

    Untertyp: MFVideoFormat_WVC1, MFVideoFormat_WMV3, MFVideoFormat_WMV2, MFVideoFormat_WMV1

Media Foundation bietet mehrere Funktionen, die Ihre Anwendung aufrufen kann, um die verschiedenen in Ihrem System verfügbaren Encoder aufzulisten. Encoder werden als COM-Objekte registriert, und der Registrierungseintrag folgt dem Standardformat für COM-Klassenfactorys. Die Registrierung enthält die CLSIDs für die Encoder, die nach dem Medienformat (Audio oder Video) kategorisiert werden. Die Klassenbezeichner der Windows Media-Encoder werden als Konstanten in der Headerdatei „wmcodecdsp.h“ definiert. In Media Foundation können die Encoder über Aufrufe von MFTRegisterLocal oder MFTRegisterLocalByCLSID registriert werden, indem Sie die Kategorie, die unterstützten Eingabetypen und die unterstützten Ausgabetypen angeben. Bei erfolgreicher Registrierung über diese Funktionen werden die MFTs von den Media Foundation-Enumerationsfunktionen berücksichtigt.

Zum Erstellen einer Instanz einer Encoder-MFT hat eine Anwendung die folgenden Optionen:

Wenn Ihre Anwendung ASF-Komponenten auf Pipelineebene zum Codieren einer Datei im ASF-Format verwendet, müssen Sie die Encoder-MFT als Transformationsknoten in die Pipeline einfügen. Beim Erstellen des Transformationsknotens in der Codierungstopologie können Sie den Objekttyp entweder als Zeiger auf die IMFTransform-Schnittstelle oder das IMFActivate-Objekt festlegen. Media Foundation stellt Aktivierungsobjekte für Windows Media-Encoder bereit, sodass sie bequem als Transformationsknoten in der Codierungstopologie festgelegt werden können. Wenn die Topologie aufgelöst wird, verwendet die Mediensitzung das Aktivierungsobjekt, um eine Instanz der Encoder-MFT zu erstellen.

Windows Media-Encoder