DirectShow 简介
DirectShow是微软Windows操作系统平台关于多媒体架构的一套API接口。使用DirectShow,应用程序可以执行高质量的视频和音频播放或采集。
DirectShow提供高质量的多媒体流捕获和播放。它支持多种格式,包括Advanced Systems Format(ASF)、Motion Picture Experts Group(MPEG)、Audio Video Interleave(AVI)、MPEG Audio Layer-3(MP3)和WAV声音文件。它支持从基于Windows驱动程序模型(WDM)的数字和模拟设备或用于Windows的视频捕获。它自动检测并使用视频和音频加速硬件(如果可用),但也支持没有加速硬件的系统。
DirectShow基于组件对象模型(COM)。要编写DirectShow应用程序或组件,必须了解COM客户端编程。对于大多数应用程序,您不需要实现自己的COM对象。DirectShow提供了所需的组件。但是,如果要通过编写自己的组件来扩展DirectShow,则必须将它们实现为COM对象。
DirectShow是基于C++开发的,并且不支持C++的托管相关接口。
DirectShow简化了媒体播放、格式转换和捕获任务。同时,它为需要定制解决方案的应用程序提供对底层流控制体系结构的访问。您还可以创建自己的DirectShow组件以支持新格式或自定义效果。
DirectShow的微软官方文档:https://docs.microsoft.com/zh-cn/windows/win32/directshow/directshow
DirectShow开发包及安装
最开始DirectX SDK中包含以前版本的DirectShow SDK。最后一个包含DirectShow的DirectX SDK是DirectX 9.0 SDK Update - (February 2005) Extra。在此版本之后,DirectShow被移动到Windows SDK。若要获取最新版本的DirectShow标头、库和示例,请下载Windows SDK。
本人在当前Win10操作系统中,使用VS2019开发环境使用的是rtmpdirectshowfiltersetup.exe,有需要的同学可以加本站QQ群在群文件中下载。
本文的内容来原于本人对微软官方文档DirectShow的学习笔记,对于DirectShow具有学习需求的同学可以加本站QQ群952873936与站长交流。
微软件官方DirectShow文档:https://docs.microsoft.com/zh-cn/windows/win32/directshow/directshow