Создание экземпляра MFT кодировщика
В Microsoft Media Foundation кодировщики реализуются как преобразования Media Foundation (MFT). Перед созданием кодировщика необходимо сначала найти кодировщик, который наиболее подходит для ваших потребностей.
Аудиокодеки Windows Media
Категория: MFT_CATEGORY_AUDIO_ENCODER
Основной тип: MFMediaType_Audio
Подтип: MFAudioFormat_WMAudioV9, MFAudioFormat_WMAudioV8, MFAudioFormat_WMAudio_Lossless, MFAudioFormat_WMASPDIF
Видеокодеки Windows Media
Категория: MFT_CATEGORY_VIDEO_ENCODER
Основной тип: MFMediaType_Video
Подтип: MFVideoFormat_WVC1, MFVideoFormat_WMV3, MFVideoFormat_WMV2, MFVideoFormat_WMV1
Media Foundation предоставляет несколько функций, которые приложение может вызывать для перечисления различных кодировщиков, доступных в вашей системе. Кодировщики регистрируются как COM-объекты, а запись реестра соответствует стандартному формату для фабрик классов COM. Реестр поддерживает CLSID для кодировщиков, которые классифицируются по формату мультимедиа (аудио или видео). Идентификаторы классов кодировщиков Windows Media определяются как константы в файле заголовка wmcodecdsp.h. В Media Foundation кодировщики можно зарегистрировать с помощью вызовов MFTRegisterLocal или MFTRegisterByCLSID , указав категорию, поддерживаемые типы входных данных и поддерживаемые типы выходных данных. После успешной регистрации с помощью этих функций MFT рассматриваются функциями перечисления Media Foundation.
Для создания экземпляра MFT кодировщика приложение имеет следующие варианты.
- Создайте MFT кодировщика напрямую и получите указатель на интерфейс МВФTransform. Дополнительные сведения см. в разделе "Создание кодировщика с помощью CoCreateInstance".
- Создайте экземпляр объекта активации для MFT кодировщика и получите указатель на интерфейс IMFActivate. Дополнительные сведения см. в разделе "Использование объектов активации кодировщика".
Если приложение использует компоненты ASF уровня конвейера для кодирования файла в формат ASF, необходимо вставить кодировщик MFT в конвейер в качестве узла преобразования. При создании узла преобразования в топологии кодирования можно задать тип объекта в качестве указателя на интерфейс МВФTransform или объект IMFActivate. Media Foundation предоставляет объекты активации для кодировщиков Windows Media, чтобы их можно было удобно задать в качестве узла преобразования в топологии кодирования. При разрешении топологии сеанс мультимедиа использует объект активации для создания экземпляра MFT кодировщика.
См. также