视频混合呈现器筛选器 7

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

本主题适用于 Windows XP 或更高版本。

在 Windows XP 及更高版本中,视频混合呈现器 7 (VMR-7) 是默认的视频呈现器。 它被称为 VMR-7,因为它在内部使用 DirectDraw 7。 在 DirectX 9 中,一个类似但独立的筛选器 VMR-9 可用于非 XP 系统上的重新分发。 VMR-9 使用 Direct3D 9。

备注

VMR 在 Windows XP 及更高版本上可用。 它不能通过 DirectX 可再发行组件或早期版本的 Windows 提供。 在大多数情况下,应用程序应使用 视频混合呈现器 9

 

VMR 的功能包括:

  • 最多 16 个输入流的真正 alpha 混合
  • 在呈现合成图像之前对其进行访问
  • 使第三方能够实现自定义视频效果的插件模型。
  • 最多支持 15 个监视器。

在 Windows XP 及更高版本上生成图形期间,筛选器关系图管理器不会使用较旧的视频呈现器或覆盖混音器筛选器,除非应用程序显式创建它们并将其添加到图形中。

有关详细信息,请参阅 使用视频混合呈现器

Label
筛选器接口 所有模式:窗口模式:
无窗口模式:
无呈现模式:
混音器模式:
有关各种 VMR-7 模式的信息,请参阅 VMR 操作模式
输入引脚媒体类型 主要类型:MEDIATYPE_VideoSubtype:取决于图形硬件。 必须是未压缩的视频。
输入引脚接口
输出引脚媒体类型 不适用。
输出引脚接口 不适用。
筛选器 CLSID 有两个 CLSD 与此筛选器相关联:
  • CLSID_VideoMixingRenderer:创建 VMR-7。 如果没有足够的系统资源来创建 VMR-7,则对 CoCreateInstance 的 调用将失败。
  • CLSID_VideoRendererDefault:如果系统资源可用,则创建 VMR-7,或者创建旧的 视频呈现器 筛选器。
如果需要 VMR-7 的特定功能,请使用 CLSID_VideoMixingRenderer。 否则,请使用 CLSID_VideoRendererDefault,这几乎可以肯定不会失败,因为它回退到旧的视频呈现器筛选器。
属性页 CLSID 不适用。
可执行文件 Quartz.dll
优点 MERIT_PREFERRED + 1
筛选器类别 CLSID_LegacyAmFilterCategory

 

备注

仅当 VMR-7 筛选器处于窗口模式时,输入引脚才会公开 IOverlay 接口。 引脚实现的唯一 IOverlay 方法是 GetWindowHandle,它使应用程序能够获取筛选器视频窗口的句柄。 所有其他 IOverlay 方法返回E_NOTIMPL。 在无窗口模式下,筛选器不会创建视频窗口,因此引脚不会公开接口。

应用程序可以提供公开以下接口的自定义分配器表示器对象:

有关自定义分配器演示者的详细信息,请参阅 为 VMR-7 提供自定义Allocator-Presenter

应用程序还可以提供公开以下接口的自定义插件合成器:

若要使用自定义合成器配置 VMR,请调用 IVMRFilterConfig::SetImageCompositor

DirectShow 筛选器