筛选类别

[与此页面关联的功能 DirectShow 是一项旧功能。 它已被 MediaPlayerIMFMediaEngine媒体基金会中的音频/视频捕获取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能使用 MediaPlayerIMFMediaEngineMedia Foundation 中的音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]

下表列出了 DirectShow 筛选器类别的 CLSD。

DirectShow 筛选器类别

此处列出的类别由 筛选器映射器枚举。 但是,默认情况下,筛选器映射器忽略MERIT_DO_NOT_USE或更少优点的类别。 有关详细信息,请参阅 IFilterMapper2::EnumMatchingFilters。 此处列出的所有类别也可以使用 系统设备枚举器进行枚举

以下类别在 Uuids.h 中声明。 包括头文件 Dshow.h。

友好名称 CLSID 优点
音频捕获源 CLSID_AudioInputDeviceCategory MERIT_DO_NOT_USE
音频压缩器 CLSID_AudioCompressorCategory MERIT_DO_NOT_USE
音频呈现器 CLSID_AudioRendererCategory MERIT_NORMAL
设备控制筛选器 CLSID_DeviceControlCategory MERIT_DO_NOT_USE
DirectShow 筛选器 CLSID_LegacyAmFilterCategory MERIT_NORMAL
外部呈现器 CLSID_TransmitCategory MERIT_DO_NOT_USE
Midi 呈现器 CLSID_MidiRendererCategory MERIT_NORMAL
视频捕获源 CLSID_VideoInputDeviceCategory MERIT_DO_NOT_USE
视频压缩器 CLSID_VideoCompressorCategory MERIT_DO_NOT_USE
WDM 流解压缩设备 CLSID_DVDHWDecodersCategory注意: 此类别包含硬件 DVD 解码器。
MERIT_DO_NOT_USE
WDM 流式处理捕获设备 AM_KSCATEGORY_CAPTURE MERIT_DO_NOT_USE
WDM 流式处理交叉条设备 AM_KSCATEGORY_CROSSBAR MERIT_DO_NOT_USE
WDM 流式处理渲染设备 AM_KSCATEGORY_RENDER MERIT_DO_NOT_USE
WDM 流式处理设备/拆分器设备 AM_KSCATEGORY_SPLITTER MERIT_DO_NOT_USE
WDM 流式处理电视音频设备 AM_KSCATEGORY_TVAUDIO MERIT_DO_NOT_USE
WDM 流式电视调谐器设备 AM_KSCATEGORY_TVTUNER MERIT_DO_NOT_USE
WDM 流式处理 VBI 编解码器 AM_KSCATEGORY_VBICODEC MERIT_DO_NOT_USE

头文件 Ks.h 中声明了以下类别。

友好名称 CLSID 优点
WDM 流式处理通信转换 KSCATEGORY_COMMUNICATIONSTRANSFORM MERIT_DO_NOT_USE
WDM 流式处理数据转换 KSCATEGORY_DATATRANSFORM MERIT_DO_NOT_USE
WDM 流式处理接口转换 KSCATEGORY_INTERFACETRANSFORM MERIT_DO_NOT_USE
WDM 流式处理混音器设备 KSCATEGORY_MIXER MERIT_DO_NOT_USE

在头文件 Bdamedia.h 中声明以下类别。 包括以下头文件:ks.h、ksmedia.h 和 bdamedia.h。

友好名称 CLSID 优点
BDA 网络提供商 KSCATEGORY_BDA_NETWORK_PROVIDER MERIT_NORMAL
BDA 接收器组件 KSCATEGORY_BDA_RECEIVER_COMPONENT MERIT_DO_NOT_USE
BDA 呈现筛选器 KSCATEGORY_IP_SINK MERIT_DO_NOT_USE
BDA 源筛选器 KSCATEGORY_BDA_NETWORK_TUNER MERIT_DO_NOT_USE
BDA 传输信息呈现器 KSCATEGORY_BDA_TRANSPORT_INFORMATION MERIT_NORMAL

注意

解码器在“DirectShow 筛选器”类别下注册 (CLSID_LegacyAmFilterCategory) 。

其他筛选器类别

此处列出的类别可以使用系统设备枚举器进行枚举,但对筛选器映射器不可见, 并且智能连接不使用。

以下类别在头文件 Qedit.h 中声明。

友好名称 CLID 优点
视频效果 (1 输入) CLSID_VideoEffects1Category MERIT_DO_NOT_USE
视频效果 (2 个输入) CLSID_VideoEffects2Category MERIT_DO_NOT_USE

这些类别包含 DirectShow 编辑服务的视频效果和切换效果:

  • “视频效果 (1 个输入) ”包含视频效果。
  • “视频效果 (2 输入) ”包含视频转换。

有关详细信息,请参阅 枚举效果和过渡

以下类别在头文件 Uuids.h 中声明。 包括头文件 Dshow.h。

友好名称 CLID 优点
EncAPI 编码器 CLSID_MediaEncoderCategory MERIT_DO_NOT_USE
EncAPI 多路复用器 CLSID_MediaMultiplexerCategory MERIT_DO_NOT_USE

DirectShow 筛选器 Meta-Category

友好名称 CLSID 优点
ActiveMovie 筛选器类别 CLSID_ActiveMovieCategories 不适用

此元类别包含筛选器类别的列表。 如果筛选器类别未在此列表中显示, 筛选器映射器 将忽略该类别,这意味着该筛选器不可用于 智能连接

若要枚举筛选器类别列表,请使用值CLSID_ActiveMovieCategories调用 ICreateDevEnum::CreateClassEnumerator 。 此方法返回的名字对象支持以下属性。

属性名称 说明
“FriendlyName” 类别名称 (VT_BSTR) 。
“功绩” 类别优点 (VT_I4) 。 如果此属性不存在,则视为 MERIT_DO_NOT_USE
“CLSID” CLSID (VT_BSTR) 类别。

若要向此列表添加新的筛选器类别,请调用 IFilterMapper2::CreateCategory

DMO 类别

directX 媒体对象 (DDO) 使用与 DirectShow 筛选器不同的枚举机制。 有关详细信息,请参阅 注册 DMO。 但是,可以使用系统设备枚举器来枚举 DMO 类别。 名字对象绑定到 DMO 包装器筛选器,并使用 DMO 自动初始化筛选器。

此外,出于智能连接的目的,某些 DMO 类别映射到 DirectShow 筛选器类别:

DMO 类别 DirectShow 等效项
DMOCATEGORY_AUDIO_ENCODER CLSID_AudioCompressorCategory
DMOCATEGORY_AUDIO_DECODER CLSID_LegacyAmFilterCategory
DMOCATEGORY_VIDEO_ENCODER CLSID_VideoCompressorCategory
DMOCATEGORY_VIDEO_DECODER CLSID_LegacyAmFilterCategory

请注意,视频效果和音频效果类别未映射到任何 DirectShow 类别。

常量和 GUID

枚举设备和筛选器

智能连接

注册表项的布局

使用筛选器映射器

使用系统设备枚举器