本书以DirectX SDK 9.0版为蓝本,内容几乎涵盖了在Windows平台上使用DirectShow进行C++编程的方方面面。全书共分4个部分。第1部分详细介绍了DirectShow的基础知识。第2部分重点讨论了Filter的开发,以及DirectShow应用程序的开发,包括目前非常流行的音视频采集、数码摄像机的支持、非线性编辑等应用。第3部分深入分析了DirectShow SDK提供的部分典型源代码。第4部分结合作者个人的一些开发实践,通过案例和开放源代码分析,进一步介绍DirectShow的实务应用。\r\n 本书内容丰富,条理清晰,实用性强。适合广大的流媒体应用开发人员,以及对Windows平台上多媒体处理感兴趣的编程爱好者学习、参考。
第1部分 DirectShow基础知识\r\n 第1章 系统概述\r\n 1.1 DirectX大家族\r\n 1.2 DirectShow简介\r\n 1.3 COM编程基础\r\n 第2章 Filter原理\r\n 2.1 Filter概述\r\n 2.2 Filter的注册\r\n 2.3 Filter的媒体类型\r\n 2.4 Filter的连接\r\n 2.5 Filter的数据传送\r\n 2.6 Filter的状态转换\r\n 2.7 媒体定位的实现\r\n 2.8 质量控制的实现\r\n 2.9 音视频同步解决方案\r\n 2.10 对硬件的支持\r\n 2.11 VMR-9的发布\r\n 第3章 DirectX媒体对象(DMO)\r\n 3.1 DMO概述\r\n 3.2 DMO的使用\r\n 3.3 DMO的开发要点\r\n第2部分 DirectShow开发与应用\r\n 第4章 Filter组件的开发\r\n 4.1 开发环境的配置\r\n 4.2 SDK基类分析\r\n 4.3 Filter项目的功能分析\r\n 4.4 Filter的设计\r\n 4.5 编码实现\r\n 4.6 Filter的调试\r\n 4.7 MFC Filter\r\n 第5章 DirectShow应用开发过程\r\n 第6章 音频采集\r\n 第7章 视频采集\r\n 第8章 数码摄像机的支持\r\n 第9章 非线性编辑DES\r\n 第10章 DVD播放\r\n 第11章 Windows Media应用\r\n第3部分 SDK典型源码分析\r\n 第12章 Source Filter例子\r\n 第13章 Transform Filter例子\r\n 第14章 Renderer Filter例子\r\n 第15章 DMO例子\r\n 第16章 枚举例子\r\n 第17章 媒体播放器例子\r\n第部分 开放源码分析\r\n 第18章 MPEG流的网络客户端播放\r\n 第19章 MPEG2视频解码器
流媒体的处理以其复杂性和技术性而闻名, 一向广受业界的关注. 特别是伴随着因特网的普及, 流媒体在网络上广泛应用, 怎样使流媒体的处理变得简单而富有成效逐渐成为了焦点问题. 选择一种合适的应用方案, 将会事半功倍. 此时, 微软公司的DirectShow给了我们一个不错的选择.
本书以DirectX SDK 9. 0版为蓝本, 内容几乎涵盖了在Windows平台上使用DirectShow进行C++编码的方方面面. 全书共分4个部分. 第1部分详细介绍了DirectShow的基础知识. 第2部分重点讨论了Filter的开发, 以及DirectShow应用程序的开发, 包括目前非常流行的音视频采集. 数码摄像机支持. 非线性编辑等应用. 第3部深入分析了DirectShow SDK提供的部分典型源代码例子. 第4部分结合作者个人的一些开发实践, 通过案例和开放源码分析, 进一步介绍DirectShow的实务应用.
促使我写作这本书的原因是多方面的. 首先, 我自己学习DirectShow的时候并不轻松, 因为当时除了DirectX的帮助文档外, 找不到更多的资料, 国内市场上也找不到一本有关DirectShow的参考书, 而且当时国内从事相关开发的公司或个人甚少, 难得有交流的机会. 其次, 因为我在网上发表了很多有关DirectShow的文章, 很多朋友认为我是这方面的"高手". (其实我不是所谓的高手, 但我很愿意拿我的平生所学来与大家交流. )于是, 经常有人向我咨询如何学习DirectShow, 以及要求我协助解决DirectShow应用中的很多实际问题. 看到DirectShow越来越受欢迎, 我一边兴奋, 一边也萌发了这样一个念头:"是出一本DirectShow书的时候了".
本书提供DirectXSDK 9. 0的安装程序, 以及书中涉及的所有例子的源代码, 下载地址为http://hqtech. nease. net/DSDeveloper/DsBkSource. zip.
本书是集体智慧的结晶. 我首先要感谢彭木昌先生. 黄重来先生, 以及出版社的夏非彼老师. 李才应编辑, 没有这些朋友的鼓励和帮助, 就不会有这本书的问世. 本书初稿完成后, 还特邀了敏递软件(上海)有限公司的工程部经理金邦飞先生, 进行了严格的技术审校. 值得一提的是, 本书的封面由我的爱人谭洁红设计. 感谢她出色的工作, 以及长期以来对本人无微不至的关怀. 由于时间短促, 再加之本人的水平有限, 书中的错误以及疏漏之处在所难免, 望广大专家. 同行批评指正.
陆其明
2003年11月于上海