directshow 的安装

转载 2007年10月10日 21:26:00

先是下载,ms要正版的windows才能下载,郁闷;找了n久终于找到可以下载的链接

http://hotdl.com/dl/showfile.php?id=640&category=52

另外,DirectX9.0c已经将DShow分离出去了,下载时请选DirectX9.0b或者一下

再是配置DirectShow的VC开发环境
---------------------------
DirectShow开发环境
关键词: 环境配置                                          
http://mercredi.bokee.com/3057881.html
1,使用VC向导生成一个具体项目,如Win32 Dynamic-Link;

2,包含头文件streams.h;

3,在VC的菜单中选择Project|Settings|C/C++,在弹出的对话框中的Category中选择Code generation,然后在Calling convention中选择_stdcall;

4, 使用多线程语言运行时库,即在VC的菜单中选择Project|Settings|C/C++,在弹出的对话框中的Category中选择Code generation,然后在Use run-time library中,Debug版选择Debug Multithreaded,Release版选择Multithreaded。

5,配置必要的链接库文件,即在VC的菜单中选择Project|Settings|Link,在弹出的对话框中的Category中选择General,然后在Object/library modules中输入如下代码:

    Debug版本   strmbasd.lib, msvcrtd.lib, winmm.lib

    Release版本 strmbase.lib, msvcrt.lib, winmm.lib

并且选中Ignore all default libraries。

DirectShow SDK建议,DirectShow应用程序应该至少连接库文件strmiids.lib和quartz.lib。前者定义了DirectShow标准的 CLSID和IID,后者定义了导出函数AMGetErrorText(如果应用程序中没有使用到这个函数,也可以不连接这个库)。如果程序里包含了头文 件streams.h,则一般库文件还要连接strmbasd.lib、uuid.lib、winmm.lib。

6,将DirectX SDK的Include和Lib目录配置到VC的系统目录中去,并且放在标准的VC目录之前,以保证编译器能够拿到最新版本的源文件。选择 Tools|Options|Directories,在弹出的对话框中的Show directories for中选择Include files,配置如下(假设DirectX SDK安装在D:/DXSDK目录下,VC安装在C:/Program Files下):

    D:/DXSDK/Include

    D:/DXSDK/SAMPLES/C++/DIRECTSHOW/BASECLASSES

    D:/DXSDK/SAMPLES/C++/COMMON/INCLUDE

    C:/Program Files/Microsoft Visual Studio/VC98/INCLUDE

    C:/Program Files/Microsoft Visual Studio/VC98/MFC/INCLUDE

    C:/Program Files/Microsoft Visual Studio/VC98/ATL/INCLUDE

再在Show directories for中选择Library files,配置如下:

    D:/DXSDK/Lib

    D:/DXSDK/SAMPLES/C++/DIRECTSHOW/BASECLASSES/DEBUG

    D:/DXSDK/SAMPLES/C++/DIRECTSHOW/BASECLASSES/RELEASE

    C:/PROGRAM FILES/MICROSOFT SDK/LIB

    C:/Program Files/Microsoft Visual Studio/VC98/LIB

    C:/Program Files/Microsoft Visual Studio/VC98/MFC/LIB

7, 因为DirectShow应用程序是一种COM客户程序,因此在调用任何COM函数之前调用CoInitialize()(或 CoInitializeEx)函数进行COM库的初始化(一般是在应用程序启动的时候调用一次),在结束COM库使用时调用 CoUninitialize()函数进行反初始化(一般是在应用程序退出前调用一次)。
----------------------------
配置时的问题【一定要注意】
1。include和lib的路径前后顺序一定要“非常严格按照上面顺序排列”,否则
  1.1 DXSDK/Include和VC98/INCLUDE有头文件名是重名的,例如control.h,strmif.h。所以要优先选择DXSDK的文件声明。
  2.1 DXSDK/Lib和VC98/LIB对 DWORD_PTR 这个数据类型的声明顺序出现编译上连接的歧异!!!!

2。 BASECLASSES/DEBUG和BASECLASSES/RELEASE目录和目录里面是内容是没有的,如果你在应用程序中使用了 BASECLASSES里面的class,function,filter,interface,就要先用VC编译baseclasses.dsw,编译 时请分别选定DEBUG和RELEASE,因为baseclasses.dsw有4个版本,而且默认下都不是DEBUG和RELEASE。编译后生成两个 重要文件:strmbasd.lib(Debug),STRMBASE.lib(Release),在以后将用到。


 

Win7下设置DirectShow编译环境小结(特别的x64位环境)

1. 下载DirectShow 由于现在directShow没有和direcxtx一起发布,而是和windows sdk 打包发布了,Windows SDK 7.1 地址:http://www.mic...
  • dijkstar
  • dijkstar
  • 2016年03月19日 22:32
  • 2738

完整的DirectShow捕获音视频的demo(源码)

下载:DirectShow获取视频和音频数据        近段时间由于工作上的需要,大概看了下DirectShow,写了个小的demo,方便理解。以后在深入的学习下DirectShow。贴出代码...
  • wangqiulin123456
  • wangqiulin123456
  • 2013年03月14日 15:39
  • 16657

什么是DirectX,DirectShow与DirectX有什么区别?

在介绍同三维万能高清视频采集卡和全能音视频解码编码器软件等多媒体软件时,我们多次提到DirectShow、DirectX,那么什么是DirectShow?什么是DirectX,DirectShow与D...
  • wishfly
  • wishfly
  • 2015年10月17日 23:44
  • 994

一个清华学子写的关于directshow的学习心得【转】

学习DirectShow有一段时间了,把这段学习过程中翻译出来的SDK与大家分享,同时也希望专家们指出我理解上的错误,万分感谢。 1. DirectShow介绍     DirectShow是一个wi...
  • wishfly
  • wishfly
  • 2015年11月18日 10:30
  • 9884

c++ DirectShow播放任意格式的视频

利用opencv只能处理.avi的视频,opencv之前的版本之前试过好像是只能处理.avi未压缩版本的视频,未压缩过的视频相当大,一个文件大概是几十个G。(这个不确定,因为之前用的压缩过的.avi的...
  • KUAILE123
  • KUAILE123
  • 2013年09月08日 16:29
  • 2220

DirectShow 开发环境搭建(整理)

directshow sdk 开发32位程序,用GRMSDK_EN_DVD.iso, 开发64位程序,用GRMSDKX_EN_DVD.iso。 找到Samples\Multimedia\Di...
  • 91program
  • 91program
  • 2014年05月20日 16:16
  • 1781

最简单的基于DirectShow的示例:视频播放器自定义版

本文记录一个简单的基于DirectShow的自定义的视频播放器。这里所说的“自定义播放器”,实际上指的是自己在Filter Graph中手动逐个添加Filter,并且连接这些Filter的后运行的播放...
  • leixiaohua1020
  • leixiaohua1020
  • 2015年01月11日 18:05
  • 10038

DirectSHOW中的视频捕捉 (乱七八糟整理)

DIRECTSHOW中的视频捕捉 -------------------------DirectSHOW 真不好玩............ 本篇文档主要描述关于用Directsho...
  • yulinxx
  • yulinxx
  • 2015年11月10日 11:12
  • 2516

DirectShow 学习笔记

DirectX(简称:DX)是微软推出的一套基于Windows系统的多媒体应用程式接口APIs函式。在开发中,DX分为两个部分,一个是运行库,通过DX编译出来的程式必须要有运行库的支持,另外一个是开发...
  • shishuo365
  • shishuo365
  • 2015年07月16日 23:11
  • 904

DirectShow Filter 开发典型例子分析 ——字幕叠加 (FilterTitleOverlay)1

本文分析一下《DirectShow开发指南》中的一个典型的Transform Filter的例子:字幕叠加(FilterTitleOverlay)。通过分析该例子,我们可以学习到DirectShow ...
  • leixiaohua1020
  • leixiaohua1020
  • 2013年10月09日 12:47
  • 10560
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:directshow 的安装
举报原因:
原因补充:

(最多只允许输入30个字)