视频端口管理器

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

视频端口管理器筛选器 (VPM) 使视频混合呈现器筛选器 7 (VMR-7) 能够与使用视频端口的视频捕获设备或硬件解码器配合使用。 视频端口是与图形芯片的直接硬件连接。 它使视频可以直接传输到图形芯片,而无需通过系统总线。

注意

视频端口管理器与 VMR-9 不兼容,因为 VMR-9 不支持视频端口。

 

Label
筛选器接口 IAMVideoDecimationPropertiesIBaseFilterIKsPropertySetIQualPropIVPManager
输入引脚媒体类型 MEDIATYPE_Video、MEDIASUBTYPE_VPVideo 或 MEDIASUBTYPE_VPVBI、FORMAT_None
输入引脚接口 IKsPinIKsPropertySetIMemInputPinIPinIPinConnectionIQualityControl
输出引脚媒体类型 MEDIATYPE_Video、FORMAT_VideoInfo2
输出引脚接口 IPinIQualityControl
筛选器 CLSID CLSID_VideoPortManager
优点 MERIT_NORMAL
筛选器类别 CLSID_LegacyAmFilterCategory

 

备注

视频端口管理器结合了 覆盖混音器筛选器 的视频端口功能和 VBI Surface 分配器的功能。 VPM 分配视频端口和图面,并从视频端口同步数据捕获。 它允许独立于呈现的基于视频端口的捕获。 如果需要预览,VPM 会与 VMR-7 协调以显示捕获的视频端口数据。 当系统上存在视频端口时,捕获筛选器需要额外的缓冲区才能从视频流中提取 VBI 数据。 这些缓冲区由 VPM 提供。 捕获筛选器提取 VBI 数据后,它会在单独的引脚上将其传送到 CC 解码器等筛选器。 下图显示了筛选器图中的 VPM 及其连接。

视频端口管理器筛选器图段

在系统上检测到视频端口时,DVD 图形生成器会自动将 VPM 添加到筛选器图。 添加到图形后,VPM 将使用视频混合呈现器提供的 DirectDraw 对象来分配两个或三个图面。 这些图面从上游捕获筛选器接收数字化的帧。 为了响应在图面中存在数据时发送的用户模式事件通知,VPM 对 VMR 提供的屏幕外图面执行自动 blit。

事实上,VPM 对其输入缓冲区使用多个图面意味着它需要比之前的 DirectShow 视频端口实现更多的 VRAM。 从 VPM 到 VMR-7 的额外 blit 需要额外的视频内存带宽。 由于不再使用硬件自动翻转,因此存在丢弃帧的理论可能性,但经验证据表明,这种情况不会发生。

DirectShow 筛选器

IVPManager 接口