VMR作模式
[与此页面关联的功能(DirectShow)是一项旧功能。 它已被 MediaPlayer、IMFMediaEngine取代,并在媒体基金会 音频/视频捕获。 这些功能已针对 Windows 10 和 Windows 11 进行了优化。 Microsoft强烈建议新代码尽可能使用 MediaPlayer、IMFMediaEngine 和 Media Foundation 中的音频/视频捕获,而不是 DirectShow。 Microsoft建议重写使用旧 API 的现有代码,以尽可能使用新 API。]
VMR 的组件体系结构使应用程序能够以各种方式配置它,具体取决于呈现的执行方式。 下表显示了三种演示模式和两种混合模式,以及每个配置存在的组件。
模式 | 单个流 | 多个流 (混合模式) |
---|---|---|
窗口 | 分配器-presenterCore 同步单元 窗口管理器 |
MixerCompositor* 分配器-演示者 核心同步单元 窗口管理器 |
窗户 | 分配器-presenterCore 同步单元 |
MixerCompositor* 分配器-演示者 核心同步单元 |
无呈现 | 分配器演示器(由应用程序提供)核心同步单元 |
MixerCompositor* 分配器演示者(由应用程序提供) 核心同步单元 |
* 指示应用程序可以选择提供自定义组件或使用默认组件。
在所有配置中,使用 VMR 创建筛选器图时要记住的要点是,在连接 VMR 之前必须配置 VMR。
对于所有配置,在 VMR 连接到上游筛选器后,无法动态添加或删除引脚,但可以连接和断开连接。 如果应用程序不确定需要多少个引脚,则应将 VMR 配置为可能需要的最大数目。 筛选器上存在未使用的输入引脚不会降低呈现性能。 与旧的覆盖混音器不同,VMR 没有输出引脚,因为它不需要单独的窗口管理筛选器。
以下部分介绍如何为给定模式配置 VMR:
- VMR 窗口模式(兼容性)模式
- VMR 无窗口模式
- 具有多个流(混合模式)的 VMR
- YUV 混合模式
- 合成空间中的定位和移动视频矩形
- VMR 无渲染播放模式(自定义 Allocator-Presenters)
- DirectDraw 独占模式