使用编解码器
[与此页面关联的功能 DirectShow 是一项旧功能。 它已被 MediaPlayer、 IMFMediaEngine 和 媒体基金会中的音频/视频捕获取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能使用 MediaPlayer、 IMFMediaEngine 和 Media Foundation 中的音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]
Microsoft Windows 提供多个编解码器作为操作系统组件。 可用的编解码器始终包括随 DirectX 版本随附的编解码器,Windows 媒体播放器包含在 Windows 版本中。 安装较新版本的 DirectX 或 Windows 媒体播放器 或 Windows Media SDK 运行时时,可能会安装其他编解码器。 第三方可以在主机系统上安装其他编解码器;这些编解码器可能设计为仅适用于特定应用程序,或者它们可能支持任何 DirectShow 应用程序的常规使用。
编解码器可以通过以下三种不同的方式之一实现:
- 作为视频压缩管理器 (VCM) 或音频压缩管理器 (ACM) 加载的 Windows 类型音频或视频可安装编解码器的视频。 通常,此技术被视为已弃用,不建议使用它。 可安装的编解码器通过 AVI 解压缩器包装器筛选器参与 DirectShow 筛选器图。
- 作为 DirectShow 筛选器。 许多第三方编解码器作为本机 DirectShow 筛选器实现。 其中一个筛选器是 Frauenhofer MP3 解压缩器筛选器。 通常,这些筛选器可以按通常的方式添加到筛选器图中。 此规则的一个例外是,某些 Windows Media™ 音频或 Windows Media 视频编解码器和 Microsoft MPEG-4 编解码器无法手动添加到筛选器图。 这些筛选器只能由 ASF 读取器和 ASF 编写器筛选器添加。
- 作为 DirectX 媒体对象 (DSO) 。 建议通过 DMO 包装器筛选器在 DirectShow 筛选器图中使用编解码器,也可以在任何其他非基于 DirectShow 的流式处理应用程序中独立使用。 某些 Windows Media 音频和 Windows Media 视频编解码器作为 DSO 实现。 与 Windows Media 筛选器一样,这些 D 莫不能在 Windows Media SDK 的上下文之外使用。 这意味着在 DirectShow 中,只能通过 ASF 读取器或 ASF 编写器筛选器将其添加到图形中。
在 GraphEdit 中,所有这些不同类型的编解码器一起显示在以下类别下:
- 音频压缩器
- 视频压缩器
- DirectShow 筛选器
但是,其中许多编解码器由第三方或其他 Microsoft 应用程序或操作系统组件安装,不适合其他 DirectShow 应用程序使用。 GraphEdit 中可见的编解码器列表还取决于主机系统上运行的 Windows 版本以及安装的 DirectShow SDK 版本。