实例化编码器 MFT

在 Microsoft 媒体基础中,编码器作为媒体基础转换 (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

媒体基础提供多个函数,应用程序可以调用这些函数来枚举系统中可用的各种编码器。 编码器注册为 COM 对象,注册表项遵循 COM 类工厂的标准格式。 注册表维护编码器的 CLSID,这些编码器按媒体格式(音频或视频)分类。 Windows Media 编码器的类标识符在 wmcodecdsp.h 头文件中定义为常量。 在媒体基础中,可以通过调用 MFTRegisterLocalMFTRegisterLocalByCLSID 来注册编码器,方法是指定类别、支持的输入类型和支持的输出类型。 通过这些函数成功注册后,媒体基础枚举函数会考虑 MFT。

若要创建编码器 MFT 的实例,应用程序具有以下选择。

如果应用程序使用管道层 ASF 组件将文件编码为 ASF 格式,则必须将编码器 MFT 作为转换节点插入管道中。 在编码拓扑中创建转换节点时,可以将对象类型设置为指向 IMFTransform 接口或 IMFActivate 对象的指针。 媒体基础为 Windows Media 编码器提供激活对象,以便可以方便地将其设置为编码拓扑中的转换节点。 解析拓扑后,媒体会话使用激活对象创建编码器 MFT 的实例。

Windows Media 编码器