DVD 筛选器图形配置

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

本部分介绍 DirectShow 中 DVD 播放的各种筛选器图配置。 这些关系图主要供参考。 DVD 导航器生成图形,因此通常不需要了解图形配置方式的详细信息。 有关详细信息,请参阅 生成 DVD 筛选器图

下图显示了带有软件解码器的 DVD 筛选器图。

windows xp 的 dvd 筛选器图

存在硬件解码器时,它通常直接连接到视频端口卡的视频。 这样,解码的视频位可以直接发送到图形卡上的帧缓冲区,而无需传入主机内存。 若要在早期版本的 Windows 上管理此直接连接,DirectShow 支持通过 覆盖混合器筛选器上的接口 (VPE) DirectDraw 视频端口扩展。

注意

覆盖混合器现已弃用。

 

在 Windows XP 及更高版本中,硬件解码器可以连接到 视频端口管理器 筛选器。

带硬件解码器的 windows xp 的 dvd graph

在所有这些图形中,DVD 导航器是源筛选器;它执行多个任务:

  • 从光盘中读取导航和视频数据。
  • 将视频、音频和子图片数据分解为单独的流。
  • 将流泵入图形中,以便进一步处理和最终呈现。
  • 通知应用程序 DVD 相关事件。

在音频流上,DVD 导航器在下游连接到音频解码器,该解码器连接到默认音频呈现 器 DirectSound 呈现器筛选器。 在视频和子图片流上,下游筛选器是第三方视频解码器,视频混合呈现器 (或 覆盖混合器,以及下层应用程序上的 视频呈现器) 。 如果应用程序将处理第 21 行隐藏式字幕数据,则必须将 DirectShow Line 21 解码器 2 筛选器添加到图形。 这涉及单个方法调用;筛选器将自动连接。

应用程序通过 DVD 导航器公开的自定义接口与 DVD 导航器通信和控制 DVD 导航器: IDvdControl2(“set”方法)和 IDvdInfo2(“get”方法)。 它还必须通过 IMediaControl) 与筛选器图管理器 (通信,以停止、启动和以其他方式控制图形。 你可能还需要控制其他单独的筛选器,例如用于在窗口显示和全屏显示之间切换的覆盖混音器筛选器。 有关详细信息,请参阅 IMixerPinConfig2。 图形的确切配置将因已安装的 MPEG-2 解码器类型、是否需要处理第 21 行隐藏字幕数据以及其他因素而异。

DVD 应用程序