Creación de instancias de un codificador MFT
En Microsoft Media Foundation, los codificadores se implementan como transformaciones de Media Foundation (MFT). Antes de crear un codificador, debe encontrar el más adecuado para las necesidades.
Códecs de audio de Windows Media
Categoría: MFT_CATEGORY_AUDIO_ENCODER
Tipo principal: MFMediaType_Audio
Subtipo: MFAudioFormat_WMAudioV9, MFAudioFormat_WMAudioV8, MFAudioFormat_WMAudio_Lossless, MFAudioFormat_WMASPDIF
Códecs de vídeo de Windows Media
Categoría: MFT_CATEGORY_VIDEO_ENCODER
Tipo principal: MFMediaType_Video
Subtipo: MFVideoFormat_WVC1, MFVideoFormat_WMV3, MFVideoFormat_WMV2, MFVideoFormat_WMV1
Media Foundation proporciona varias funciones a las que la aplicación puede llamar para enumerar los distintos codificadores disponibles en el sistema. Los codificadores se registran como objetos COM y la entrada del Registro sigue el formato estándar para los generadores de clases COM. El Registro mantiene los CLSID para los codificadores, que se clasifican por el formato multimedia (audio o vídeo). Los identificadores de clase de los codificadores de Windows Media se definen como constantes en el archivo de encabezado wmcodecdsp.h. En Media Foundation, los codificadores se pueden registrar mediante llamadas a MFTRegisterLocal o MFTRegisterLocalByCLSID y especificar la categoría y los tipos de entrada y salida admitidos. Tras el registro correcto con estas funciones, las funciones de enumeración de Media Foundation consideran las MFT.
Para crear una instancia de una MFT de codificador, una aplicación tiene las opciones siguientes.
- Crear la MFT de codificador directamente y recibir un puntero a la interfaz IMFTransform. Para más información, vea Creación de un codificador mediante CoCreateInstance.
- Crear una instancia del objeto de activación para la MFT de codificador y recibir un puntero a la interfaz IMFActivate. Para más información, vea Uso de objetos de activación de un codificador.
Si la aplicación usa componentes ASF de capa de canalización para codificar un archivo en formato ASF, debe insertar la MFT de codificador en la canalización como nodo de transformación. Al crear el nodo de transformación en la topología de codificación, puede establecer el tipo de objeto como puntero a la interfaz IMFTransform o al objeto IMFActivate. Media Foundation proporciona objetos de activación para codificadores de Windows Media a fin de que se puedan establecer convenientemente como nodo de transformación en la topología de codificación. Cuando se resuelve la topología, la sesión multimedia usa el objeto de activación para crear una instancia de la MFT de codificador.
Temas relacionados