DirectShow简介

1.  DirectShow系统 

DirectShowWindows平台下的一个流媒体架构。代号Quartz是微软公司在ActiveMovieVideo for Windows的基础上推出的新一代基于COM的流媒体处理的开发包。提供高质量的捕获、回放多媒体流。当硬件支持的时候,DirectShow 使用DirectDrawDirectSound,当硬件不支持时,DirectShow 使用GDI绘制视频,新的VMR使用D3D绘制视频。使用waveOut * multimedia APIs 播放音频。VISTA系统引入了一套新的SDK:Media Foundation,希望能在以后的Windows版本中逐步取代Dshow。

 

支持多种格式:ASF(Advanced Systems Format)MPEG(Motion Picture Experts Group)AVI(Audio-Video Interleaved)MP3(MPEG Audio Layer-3)WAV()

支持从数字或模拟设备捕获视频、音频。

能自动侦测并使用视频和音频的硬件加速模块。

 

DirectShow SDK现在是Windows SDK的一部分,而不再属于DirectX SDK

DirectShow 核心 DLLQuarzt.dll

 

DirectShow系统示意图:

 

 

从系统示意图中可以看到,DiretcShow通过Filter Graph Manager 与应用程序交互:接收应用程序的指令并将消息发送给应用程序。

 

 

2. 支持的压缩格式

Windows Media Video

ISO MPEG-4 video version 1.0

Microsoft MPEG-4 version 3

Sipro Labs ACELP*

Windows Media Audio*

MPEG Audio Layer-3 (MP3) (decompression only)

Digital Video (DV)

MPEG-1 (decompression only)

MJPEG

Cinepak

 

 

3. 支持的文件类型

Windows Media® Audio (WMA)

Windows Media® Video (WMV)

Advanced Systems Format (ASF)

Motion Picture Experts Group (MPEG)

Audio-Video Interleaved (AVI)

WAV

AIFF

AU

SND

MIDI

4. 开发环境配置

 

http://msdn.microsoft.com/en-us/library/dd377592(v=VS.85).aspx

 

4.1 VC包含文件 配置:

只需添加Windows SDK,并移动到顶端

       D:/Develop SDK/Microsoft SDKs/Windows/v6.0/Include

 

 

 

 

 

 

4.2 VC库文件 配置:

 

只需添加Windows SDK,并移动到顶端:

       D:/Develop SDK/Microsoft SDKs/Windows/v6.0/Lib32位系统选/x8664位系统选/x64

 

 

 

 

 

 

4.3 旧版的库需做以下事:

<1> 编译DXSDK/Samples/C++/DirectShow/BaseClasses 项目,得到下面两个库文件:

DirectShow/BaseClasses/Debug/strmbasd.lib

DirectShow/BaseClasses/Release/strmbase.lib

 

<2> 包含文件配置:

添加DXSDK/Samples/C++/DirectShow/DirectShow/Common

       D:/Develop SDK/DXSDK/Samples/Multimedia/DirectShow/Common

添加DXSDK/Samples/C++/DirectShow/DirectShow/BaseClasses

       D:/Develop SDK/DXSDK/Samples/C++/DirectShow/DirectShow/BaseClasses

 

<3> 库文件配置:

添加DirectShow/BaseClasses/Debug

       D:/Develop SDK/DXSDK/Samples/C++/DirectShow/BaseClasses/Debug

添加DirectShow/BaseClasses/Release

       D:/Develop SDK/DXSDK/Samples/C++/DirectShow/BaseClasses/Release

 

 

 

4.4 代码配置

 

头文件 #include <Dshow.h>

库文件 #pragma comment( lib, "Strmiids.lib" )

               #pragma comment( lib, "Quartz.lib" ) 如果需要调用AMGetErrorText 函数,需加载此库。

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值