筛选器类别
[与本页关联的功能 DirectShow 是一项旧版功能。 它已被 MediaPlayer、IMFMediaEngine 和媒体基础中的音频/视频捕获所取代。 这些功能已针对 Windows 10 和 Windows 11 进行了优化。 Microsoft 强烈建议新代码尽可能使用 MediaPlayer、IMFMediaEngine 和媒体基础中的音频/视频捕获,而不是 DirectShow。 如果可能,Microsoft 建议应重写使用旧 API 的现有代码,以尽可能地使用新的 API。]
下表列出了 DirectShow 筛选器类别的 CLSID。
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 流 T 形/分音器设备 | AM_KSCATEGORY_SPLITTER | MERIT_DO_NOT_USE |
WDM 流 TV 音频设备 | AM_KSCATEGORY_TVAUDIO | MERIT_DO_NOT_USE |
WDM 流 TV 调试器设备 | 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 筛选器元类别
友好名称 | CLSID | 优点 |
---|---|---|
ActiveMovie 筛选器类别 | CLSID_ActiveMovieCategories | 不适用 |
此元类别包含筛选器类别的列表。 如果筛选器类别未出现在此列表中,筛选器映射器将忽略该类别,这意味着该筛选器不适用于智能连接。
要枚举筛选器类别列表,请调用 ICreateDevEnum::CreateClassEnumerator 并输入 CLSID_ActiveMovieCategories 值。 此方法返回的标记支持以下属性。
属性名称 | 说明 |
---|---|
"FriendlyName" | 类别名称 (VT_BSTR)。 |
"Merit" | 类别优点 (VT_I4)。 如果不存在此属性,则作为 MERIT_DO_NOT_USE 处理。 |
"CLSID" | 类别 CLSID (VT_BSTR)。 |
要在此列表中添加新的筛选器类别,请调用 IFilterMapper2::CreateCategory。
DMO 类别
DirectX 媒体对象 (DMO) 使用的枚举机制与 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 类别。