DirectShow 简介

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

Microsoft® DirectShow® 是 Microsoft Windows® 平台上流媒体的体系结构。 DirectShow 提供多媒体流的高质量捕获和播放。 它支持多种格式,包括高级系统格式 (ASF) 、电影专家组 (MPEG) 、Audio-Video交错 (AVI) 、MPEG 音频层 3 (MP3) 和 WAV 声音文件。 它支持基于 Windows 驱动程序模型 (WDM) 或视频从数字和模拟设备捕获。 它会自动检测并使用视频和音频加速硬件(如果可用),但也支持没有加速硬件的系统。

DirectShow 基于组件对象模型 (COM) 。 若要编写 DirectShow 应用程序或组件,必须了解 COM 客户端编程。 对于大多数应用程序,无需实现自己的 COM 对象。 DirectShow 提供所需的组件。 但是,如果要通过编写自己的组件来扩展 DirectShow,则必须将它们作为 COM 对象实现。

DirectShow 专为 C++ 设计。 Microsoft 不提供 DirectShow 的托管 API。

DirectShow 简化了媒体播放、格式转换和捕获任务。 同时,它为需要自定义解决方案的应用程序提供对基础流控制体系结构的访问。 还可以创建自己的 DirectShow 组件以支持新格式或自定义效果。

可以使用 DirectShow 编写的应用程序类型的示例包括文件播放器、电视和 DVD 播放器、视频编辑应用程序、文件格式转换器、音频-视频捕获应用程序、编码器和解码器、数字信号处理器等。

本节包含下列主题:

入门

使用 DirectShow