DVD 筛选器图形配置

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

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

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

windows xpdvd 筛选器图

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

注意

覆盖混音器现已弃用。

 

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

使用硬件解码器dvd 图形

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

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

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

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

DVD 应用程序