Criar uma instância de MFT de codificador

No Microsoft Media Foundation, os codificadores são implementados como MFTs (Media Foundation Transforms). Para criar um codificador, primeiro encontre o codificador mais adequado às suas necessidades.

  • Codecs de áudio do Windows Media

    Categoria: MFT_CATEGORY_AUDIO_ENCODER

    Tipo principal: MFMediaType_Audio

    Subtipo: MFAudioFormat_WMAudioV9, MFAudioFormat_WMAudioV8, MFAudioFormat_WMAudio_Lossless, MFAudioFormat_WMASPDIF

  • Codecs de vídeo do Windows Media

    Categoria: MFT_CATEGORY_VIDEO_ENCODER

    Tipo principal: MFMediaType_Video

    SubType: MFVideoFormat_WVC1, MFVideoFormat_WMV3, MFVideoFormat_WMV2, MFVideoFormat_WMV1

O Media Foundation fornece várias funções que seu aplicativo pode chamar para enumerar os diversos codificadores disponíveis no sistema. Os codificadores são registrados como objetos COM, e a entrada do Registro segue o formato padrão para fábricas de classe COM. O Registro mantém os CLSIDs para os codificadores, que são categorizados pelo formato de mídia (áudio ou vídeo). Os identificadores de classe dos codificadores do Windows Media são definidos como constantes no arquivo de cabeçalho wmcodecdsp.h. No Media Foundation, os codificadores podem ser registrados por meio de chamadas para MFTRegisterLocal ou MFTRegisterLocalByCLSID, especificando a categoria e os tipos compatíveis de entrada e de saída. Após o registro bem-sucedido por meio dessas funções, as MFTs são consideradas pelas funções de enumeração do Media Foundation.

Para criar uma instância de uma MFT de codificador, um aplicativo tem as opções a seguir.

Se o seu aplicativo estiver usando Componentes ASF da camada de pipeline para codificar um arquivo no formato ASF, insira a MFT de codificador no pipeline como um nó de transformação. Ao criar o nó de transformação na topologia de codificação, você pode definir o tipo de objeto como um ponteiro para a interface IMFTransform ou o objeto IMFActivate. O Media Foundation fornece objetos de ativação para codificadores do Windows Media para que eles possam ser convenientemente definidos como o nó de transformação na topologia de codificação. Quando a topologia é resolvida, a sessão de mídia usa o objeto de ativação para criar uma instância da MFT de codificador.

Codificadores do Windows Media