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