写入转换筛选器

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

本部分介绍如何编写转换筛选器,该筛选器定义为只具有一个输入引脚和一个输出引脚的筛选器。 为了说明这些步骤,本部分介绍一个假设的转换筛选器,该筛选器输出运行长度编码 (RLE) 视频。 它不描述 RLE 编码算法本身,仅描述特定于 DirectShow 的任务。 (DirectShow 已通过 AVI 压缩器 筛选器提供了 RLE 编解码器。)

本部分假定你将使用 DirectShow 基类库来创建筛选器。 尽管可以在不编写筛选器的情况下编写筛选器,但强烈建议使用基类库。

注意

在编写转换筛选器之前,请考虑 DirectX 媒体对象 (DMO) 是否符合要求。 DMO 可以执行许多与筛选器相同的操作,并且 DMO 的编程模型更简单。 DMO 通过 DMO 包装器 筛选器托管在 DirectShow 中,但也可以在 DirectShow 之外使用。 DSO 现在是推荐的编码器和解码器解决方案。

 

本节包括下列主题:

生成 DirectShow 筛选器

DirectShow 基类

编写 DirectShow 筛选器