DirectShow之配置说明

    目前正在写一个网络音视频聊天及文件传输系统,主要完成在局域网内的音视频聊天,文件传输,多人视频会议等。系统的视频编码采用H263编码格式,并采用RTP/RTCP协议,以保证视频的传输质量。

    这个项目刚刚启动,需要学习的东西有许多,如音视频的捕获、视频的编译码、RTP/RTCP协议等。

    这两天一直在查DirectShow方面的资料,收获很多,这里将DirectShow的配置简要在这里提一下。

    首先需要下载DX(SDK),我没有下载最新的DX,而是在网上找了个DX9.0,这个文件比较小,能用。网址如下:

    http://download.microsoft.com/download/8/0/e/80ebbf72-fc51-4799-a2f4-7fcca37b8bb3/dx9sdk.exe

    解压缩后开始安装install.exe,系统会自动安装在C:/DXSDK文件夹中,在VC6.0中依次选择:Tools->Options->Directories,你会发现这里面多了一个C:/DXSDK/Include和C:/DXSDK/Lib,这样就说明安装成功。

    安装完后作个测试,也就是运行DX帮助文档DirectShow下面的第一个例子How To Play a File,代码就不贴了,注意编译可能会有问题,需要做一些小的设置:

    首先是库的设置,在代码开始部分添加#pragma comment(lib, "strmiids.lib"),有时候可能还需要包含COM方面的头文件<atlbase.h>等。

    其次是设置MFC的动态链接库,选择Project->Settings->General->Use MFC in a Shared DLL,DirectShow本身可能依赖一些MFC的动态链接库吧。

    最后还有一点需要提一下,网上有2本讲解DirectShow的书籍,分别是《DirectShow开发指南》和《DirectShow实务精选》,这2本书和源代码都可以在CSDN上下载。它们的源码都涉及到一个头文件<streams.h>,而DX安装后可没有这个头文件。为了能运行这些带有<streams.h>的代码,我们还需要自己编译2个lib,打开C:/DXSDK/Samples/C++/DirectShow/BaseClasses,用VC6.0打开工程编译,Debug和Release模式各运行一次,便得到2个不同名的lib文件。将这2各lib放到C:/DXSDK/Lib中,再将BaseClasses下面的头文件全部拷贝到C:/DXSDK/Include中,这样便能使用<streams.h>这个头文件了:)。   

DirectShow之配置说明_第1张图片

DirectShow之配置说明_第2张图片

注意请按图所示将DX9.0的SDK路径(include和lib)放在VC标准路径前面!!!

    好了,配置就到这里,接下来开始解析DS的示例及涉及的知识点。当然,这些解析将与本项目紧密相关。

你可能感兴趣的:(DirectShow之配置说明)