Visual C++音频/视频处理技术及工程实践

出版时间:2009-1  出版社:电子工业出版社  作者:路锦正,周冬梅 著  页数:644  
Tag标签:无  

前言

  c++2005对c++标准几乎无缝支持,它集成的开发环境(IDE)相比较早期的版本更强大、功能更丰富,可以大大提高开发效率。Visual c++2005是Visual Studio 2005集成环境,以后转c#、ASENET、VB.NET更容易;Visual c++2005的MSDN与开发环境是集成的,使用在线帮助更简单:Visual c++2005的MFC编程更方便、强大;Visual c++2005支持Visual  C++.NET。  Visual c++2005使用易跨平台、通用性强的C++或c语言编程,几乎支持所有的开发技术:网络、数据库、图形图像、多媒体等应用开发,应用程序、静态,动态链接库、驱动程序等全系列程序开发。目前市面上关于Visual C++6.0的开发书籍种类繁多,也有众多的技术人  员从事Visual c++6.O的编程开发,关于Visual c++6.0的技术网站或论坛也是数不胜数。Visualc++6.0的通用性、普适性可见一斑。而Visual c++6.O的升级版Visual c++2005的有关技术书籍却很少,关丁Visual c++ 2005音,视频编程的书籍,目前市面上更是没有。  音/视频处理的Pc软件工具有DirectSound、DirectShow、VFW等,这些SDK都可以在Visual c++2005环境下编程。VC开发结合DSP编程是进行音,视频开发的典型路线。主流的视频算法MPEG一4/H.264实现平台有vc和DSP,对于算法实用工程本书选择最优秀的开源代码Xvid和X264。本书就是在Visual c++2005这一广为软件开发者选用的平台下,进行音/视频的捕获采集、流媒体数据的播放、音/视频数据的编,解码,讲解使用MMX/SSE多媒体汇编语言和DSP进行视频编/解码等。  本书精选了实用工程中的原型案例,结合源代码分析音,视频编程的思路和难点。用户既可以直接使用这些案例,也可以基于此继续丰富功能,编写出自己的音,视频程序。所有案例的源代码和使用说明均附在光盘上以供读者使用。

内容概要

  《Visual C++音频/视频处理技术及工程实践》内容包含16章,分为4篇,详细讲解了使用各种软件和平台进行音/视频多媒体编程的技术,以案例为对象展示实现过程、分析技术难点。主要内容包括Visual C++ 2005的开发技术、DirectSound开发音频、DirectShow/VFW开发视频、MMX/SSE进行多媒体汇编编程、DM642 DSP进行音/视频算法优化和主流视频算法MPEG-4/H.264的编码原理及工程实践。  《Visual C++音频/视频处理技术及工程实践》系统地介绍了使用Visual C++ 2005进行流媒体编程的基本思路和方法,采用案例为主的叙述方式,将大量的技术理论融入具体的案例剖析中。书中采用的案例均来源于作者实际开发工作,具有很好的实用价值,方便广大开发者在开发中进行参考或直接应用。  随书所附光盘包含书中实例源文件。  《Visual C++音频/视频处理技术及工程实践》内容丰富、安排合理、工程实用性强,能够为广大数字媒体或音/视频开发人员、高等院校相关专业的课程设计、毕业设计提供参考,同时也可以作为科研单位、企业进行流媒体开发的技术指导用书。

作者简介

  路锦正,近10年的研究所和外企工作经历,积累了丰富的音视频编解码工作经验,尤其是对Visual C++、DSP开发音视频应用、优化视频算法等方面有较深的理解。现任职于西南科技大学信息工程学院,长期从事音视频项目开发和研究,同时就相关技术对企业进行培训和技术支持。  周冬梅,副教授,现任职于成都理工大学信息工程学院,长期是从事DSP音视频应用及算法优化等方面研究。

书籍目录

第1篇 开发基础第1章 数字音视频开发技术基础1.1 数字音视频基本概念1.1.1 数字音频技术基础1.1.2 各种数字音频文件格式基础1.1.3 视频的相关基础概念1.1.4 常见的视频文件格式1.2 数字音视频数据的编解码技术1.2.1 音频数据的编解码1.2.2 视频数据的编解码1.2.3 音视频编码的相关标准1.3 音视频处理平台的选择1.3.1 个人多媒体计算机1.3.2 嵌入式处理器ARM1.3.3 数字媒体处理器DSP1.4 音视频开发的典型应用1.4.1 个人消费类电子产品1.4.2 公共领域的音视频应用1.5 常用音视频开发工具1.5.1 DirectSound音频开发1.5.2 DirectShow视频开发1.5.3 DSP CCS算法开发1.6 本章 小结第2章 Visual C++ 2005开发基础2.1 Visual C++ 2005新增特性2.1.1 句柄(Handles)2.1.2 类型的声明2.1.3 对代码编辑的改进2.2 VC能做的事情2.2.1 生成传统的控制台应用程序2.2.2 生成基于MFC的应用程序2.2.3 生成静态链接库2.2.4 生成动态链接库2.3 利用向导完成基本开发2.3.1 生成应用程序2.3.2 生成应用库LIB/DLL2.4 MFC编程基础2.4.1 Windows消息与事件2.4.2 消息与事件的响应2.4.3 常用消息2.5 基于对话框的编程2.5.1 创建和编辑对话框2.5.2 对话框种类2.6 常用控件使用技巧2.6.1 按钮类控件的使用2.6.2 文本可编辑类控件的使用2.6.3 静态类控件的使用2.6.4 其他控件2.7 Visual 2005开发技术资源2.7.1 MSDN在线帮助2.7.2 丰富的网络资源2.8 Visual 2005开发的常见问题2.8.1 如何使用volatile和const_cast2.8.2 如何构造unicode版本的程序2.8.3 如何使用.def文件2.8.4 如何正确编写Win32 DLL2.8.5 如何编写和使用资源DLL2.8.6 如何实现对话框的数据交换2.9 本章 小结第2篇 音频开发第3章 DirectSound开发基础3.1 Microsoft DirectSound SDK3.1.1 比较DirectSound与DirectMusic3.1.2 DirectSound SDK能做什么3.1.3 如何获取DirectSound SDK3.1.4 DirectSound SDK的基本结构3.1.5 Directsound SDK安装3.1.6 选择最适合用户的DirectSound SDK3.1.7 用DirectSound进行编程的必要步骤3.2 DirectSound的详细使用方法3.2.1 DirectSound设备对象3.2.2 DirectSound缓冲区对象3.2.3 使用WAV数据3.2.4 使用音效3.3 开发环境配置3.3.1 Visual C++基本开发环境配置3.3.2 DirectSound应用程序的开发环境配置3.3.3 DirectSound Filter开发环境配置3.4 调试音频处理程序3.4.1 Visual C++调试器3.4.2 DirectSound中常用的调试技术3.5 DirectSound开发的常见问题3.6 本章 小结第4章 打造自己的音频播放器4.1 系统设计和分析4.2 缓冲区和通知基础4.2.1 缓冲区的概念4.2.2 缓冲区的通知4.3 播放文件4.3.1 创建DirectSound对象4.3.2 创建播放缓冲区4.3.3 调用方法播放声音4.3.4 结束播放4.4 系统效果演示4.4.1 新建基于对话框的程序框架4.4.2 添加控件及变量4.4.3 封装CDimctSound类实现DimctSound声音播放4.4.4与对话框界面相关操作实现4.4.5程序运行结果4.5 DirectSound开发常见问题4.6 本章 小结第5章 语音3D特效器制作5.1 系统设计和分析5.2 DirectSound 3D缓冲区5.2.1 获取3D缓冲区对象5.2.2 最大距离和最小距离5.2.3 处理模式5.2.4 声音圆锥5.3 DirectSound 3D虚拟听众5.3.1 获得3D听众5.3.2 听众的空间参数5.3.3 距离因子与Doppler效应5.3.4 滚降因子与延迟设置5.4 系统效果演示5.4.1 具体的实现步骤5.4.2 程序的实现代码5.4.3 程序运行结果5.5 DirectSound 3D开发常见问题5.6本章 小结第6章 对拾音设备录制自己的语音文件6.1 系统分析和设计6.2 管理捕获缓冲区6.2.1 创建捕获缓冲区6.2.2 启动缓冲区6.2 3 封锁缓冲区6.2.4 解锁缓冲区6.2.5中止捕获6.3系统效果演示6.3.1声音类的封装6.3.2声音管理函数的实现6.3.3程序运行结果6.4 DirectSound录制语音文件开发常见问题6.5 本章 小结第3篇 视频开发第7章 DirectShow开发基础7.1 Microsoft DirectShow SDK7.1.1 DtrectX及成员组成7.1.2 DirectShow SDK能做什么7.1.3 如何获取DirectShow SDK7.1.4 安装DirectShow SDK7.2 开发环境配置7.2.1 生成DirectShow SDK开发库7.2.2 Visual c++开发环境配置——7.2.3 常见问题解析集锦7.3 DirectShow SDK基本架构一7.3.1 DirectShow SDK总体架构7.3.2 DirectShow SDK简单应用程序案例7.3.3 滤波器链表Filer Graph及各种组件7.3.4 构建滤波器链表(Building Filer Graph)7.3.5 滤波器链表中的数据流动Data Flow7.3.6 DirectShow中的事件通知机制7.3.7 常用DirectShow SDK接口7.4 DirectShow SDK常用开发案例7.4.1 通用开发流程7.4.2 系统初始化7.4.3 媒体播放方法7.4.4 消息处理方法7.4.5 视频采集技术7.4.6 音频采集案例7.5 本章 小结第8章 打造自己的媒体播放器8.1 系统分析与设计8.1.1 FiltcrGraph结构设计8.1.2 GraphEdit模拟实现8.1.3 界面设计8.2 实现媒体控制类8.2.1 CDXGraph类初始化8.2.2 创建Graph滤波嚣链表8.2.3 图像窗口设计8.2.4 媒体播放控制8.2.5 全屏显示及抓图存盘实现8.3 实现一个简单的媒体播放器8.4 升级你的播放器8.4.1 添加控制功能8.4.2 添加拖放功能8.4.3 添加音量调节功能8.4.4 添加欢迎背景图片8.5 系统效果展示8.6 如何播放更多的文件格式8.7 本章 小结第9章 自制DV实现视频采集9.1 系统分析与设计9.1.1 采集设备的枚举9.1.2 使用captureGraphBuilder9.1.3 采集参数的设置9.2 使用经典采集技术实现视频捕获9.2.1 GraphEdit模拟实现9.2.2 视频捕获类CCaptureClass的实现9.2.3 界面设计9.3 使用VMR技术实现视频图像捕获9.3.1 VMR技术基础9.3.2 GraphEdit模拟实现视频捕获预览9.3.3 视频图像捕获类CVMR_Capture的实现9.3.4 界面设计9.4 系统效果演示9.4.1 实例一系统效果演示9.4.2 实例二系统效果演示9.5 本章 小结第10章 VFW技术实现视频处理通用平台10.1 vFw开发技术流程分析10.1.1 技术概述10.1.2 vFw采集开发流程图10.2 使用vFw实现视频捕获和预览10.2.1 建立单文档应用程序10.2.2 创建视频窗口10.2.3 设计回调函数10.2.4 视频图像显示设置10.2.5 捕获预览视频lO.2.6 配置视频格式及图像参数10.3 使用系统插件实现视频编,解码10.3.1 使用系统视频编,解码插件10.3.2 视频编码码流写AVI文件10.3.3 关闭平台10.4 使用xviD cODEc算法实现视频编/解码10.4.l 生成XviD算法静态库(编译过程)10.4.2 实现XviD CODEC视频编码算法函数10.4.3 实现XviDCOlDEC视频解码算法函数10.4.4 使用XviDCOlDEC编,解码算法10.5 平台应用效果展示10.6 本章 小结第4篇编,解码技术第11章 纵览音/视频编,解码技术11.1 数字音,视频基础11.2 音/视频编/解码及方法11.2.1 音频编码方法ll.2.2 视频编码方法11.3 编/解码技术标准11.3.1 静态图像编码标准11.3.2 MPEG-4/H.264视频算法11.3.3 AVS国产视频鳊码标准11.4 编/解码产业及发展11.4.l 编/解码资源一览11.4.2 编,解码发展前景11.5 本章 小结第12章 使用MMX/SSE 2进行多媒体编程12.1 MMX/SSE 2技术基础12.2 MMX/SSE 2指令剖析12.2.1 MMX媒体扩展指令12.2.2 MMX程序设计12.2.3 SSE/SSE 2媒体扩展指令12.2.4 SSE程序设计详细解析12.3 使用MMX/SSE2进行音/视频开发12.3.1 开发前技术准备12.3.2 MMX/SSE 2视频编/解码编程12.3.3 使用VC调试MMX/SSE 2程序12.4 MMX/SSE 2开发常见问题一12.4.1 制订计划12.4.2 哪部分代码可使用MMX技术改进12.4.3 代码是浮点型还是整型12.4.4 EMMS准则12.4.5 CPUlD的检测MMx技术的用法12.4.6 数据对齐12.4.7 数据安排12.4.8 应用程序最后的调整12 5 本章 小结第13章 用DM642实现视频编/解码技术13.l 数字媒体处理器TMS320DM642DSP概述13.2 DSP软件开发环境CCS13.2.1 安装CCSl3.2.2 CCS主要部件13.4.5 使用乒乓式EDMA实现算法优化13.5 DM642优化视频算法常见问题13.6 本章 小结第14章 XviD CODEC实现MPEG-4编/解码14.1 MPEG.4编,解码概述14.1.1 基于对象的MPEG-4视频编码14.1.2 XviD格式文件播放14.2 XviD CODECc编/解码分析14.2.1 MPEG-4编/解码设计与剖析14.2.2 MMx/SSE 2实现XviD CODEC14.2.3 DM642下XviD CoDEC优化14.3 运行xvi DCODEC系统14.3.1 YUV原始视频数据及其显示14.3.2 VC平台下编译和运行XviD CoDEC14.3.3 CODEc在DSP下软仿真和硬仿真14.4 系统效果展示14.5 本章 小结第15章 X264实现H.264/AVC视频编码第16章 打造自己的DVR监控系统附录A 旧版VC升级到VC 2005程序安全的10点注意事项附录B 开发常见问题

媒体关注与评论

  随着计算机处理能力的不断增强以及网络基础设施的不断升级,具有海量数据的音视频应用已经渗入各个行业,可以说,基于视频的广泛应用正在给21世纪初叶的人们带来一次蓬勃的无限商机。有感于此,此书结合最流行的微软开发平台Visual Studio 2005,立足于Windows系统下音视频处理平台DirectX,为广大有志于音视频开发的爱好者提供了一本难得的溶语言实现技巧和通俗易懂算法处理的范例教程,希望它的出现能为广大初入音视频处理领域的朋友开辟一个崭新的未来。  科胜讯数字电视(成都)有限公司软件经理王建勤  2008年,我承担了用VC++实现视频ES流打包成TS流算法的项目。由于我之前对TS流算法和VC++编程仅停留在了解阶段,该项目对我来说是一个全新的挑战。此时,我与路锦正老师有了联系,多次向路老师请教,并有幸拜读了《Visual C++ 音频/视频处理技术与工程实践》初稿,收益良多,系统地学习了Visual C++ 2005进行流媒体编程的基本思路和方法,并结合自己学习TS流的相关格式,完成了视频ES流打包成TS流算法的编码。  《Visual C++ 音频/视频处理技术与工程实践》是一本音视频开发人员不可缺少的好书,一本难得的工程实践经验总结。在这里,向路锦正老师和周冬梅老师表示我深深的谢意。  西南自动化研究所工程师周建平  《Visual C++音频/视频处理技术与工程实践》一书紧紧围绕vc++在音视频方面工程应用这一主题,详细的介绍了基于vc++的数字音视频开发原理,调试及优化的实现步骤,内容丰富。  该书既包含了vc++在音视频开发中的基础应用,又包括了其高级应用。特别是在高级篇中,通过结合DSP开发平台,以及作者自己多年的音视频工程开发经验,详细地讲解了主流的视频算法MPEG-4、H.264的DSP算法实现及优化,体现了作者在音视频工程中开发的深厚功底。因此,该书既可以方便初学者的入门,又可以作为应用工程师的参考。  宁波中科集成电路设计中心数字音视频部算法工程师张从连  由于项目需要,我要学习音视频处理方面的知识。在看到这本书之前,我查阅了音视频处理的很多书籍。这些书籍要么只介绍理论知识,没有具体案例,是否不适合开发人员;要么只对案例分析,对基础一笔带过,很不适合初学者。而本书把不但对音视频处理理论介绍很详细,从开发的基本步骤开始讲起,十分好入门,而且书中用很多的工程实例,这些实例很多是现在音视频处理的较先进技术,稍加修改就可以应用到自己的项目之中。总之,本书是一本难得的好书,不仅适合初学者,也适合工程开发人员参考。  西南自动化研究所工程师宋方伟  随着人们对多媒体数据要求得不断加强,开发人员使用的软件也在不断的升级。目前使用VC++6.0的书籍及网站等非常多,但使用VC++2005的书籍较少。本书在VC++2005这一广为软件开发选用的平台下,详细地讲解了使用MMX/SSE多媒体汇编语言和DSP进行视频编解码等;书中选取的实例也是工程原型中的实例。因此本书的实用性特别强,适用于Visual C++入门及各类开发人员;同时对高等院校及进行流媒体开发的科研单位、企业来说,这也不失为一本好的教材。  成都理工大学信息工程学院副院长  教授,硕士生导师郭勇  此书以通俗、简明的语言,由浅入深地讲解了如何利用Visual C++ 2005开发工具进行数字音视频的开发基础知识,并通过实例详细的分析了音视频的开发过程和流程。  此书介绍了数字音视频的基本概念和编解码技术的基本知识,对开发工具Visual C++ 2005的使用和应用进行了详述,音视频的重要开发工具DirectSound和DirectShow通过作者的详解,使读者理解深刻。通过音频和视频的开发实例,使读者对数字音视频的开发有了更进一步的了解和掌握。每个实例都提供了较完整的源代码,使读者在理解的基础上能进行二次开发。总之,此书图文并茂、内容翔实、讲解详细、通俗易懂,有利于读者将学到的知识与实际操作相结合,读后受益匪浅。  罗运先教授

编辑推荐

  《Visual C++音频/视频处理技术及工程实践》特色:  一线开发工程师十年磨一剑  9大案例经典诠释音视频处理  6位首读者赞誉推荐  一线音/视频开发工程师8年沉淀的经验奉献。9大经典案例全面剖析应用开发技术,学有所用。配套工程原型代码,快速构建用户应用程序。  音/视频工程师兼培训讲师8年经验的倾情奉献;  《Visual C++音频》剖析了DirectSound、DirectShow的功能与特性,以案例详细讲解技术开发过程;  《Visual C++音频》重点对主流的视频算法MPEG-4/h.264进行介绍,从编码原理、工程实践、算法优化、技术效果等出发介绍最实用的开源算法XviD、CODEC、X264编码;  《Visual C++音频》内容丰富而且翔实,一书在手,Visual C++音/视频开发、算法优化无忧;  全程9大经典案例引导学习,目标更加明确,学习效率更高;  源于实践,贴近应用,案例为主,内容生动,深入浅出,通俗易懂;  配套代码光盘,免去烦琐输入代码的工作,提高学习效率。

图书封面

图书标签Tags

评论、评分、阅读与下载


    Visual C++音频/视频处理技术及工程实践 PDF格式下载


用户评论 (总计0条)

 
 

 

250万本中文图书简介、评论、评分,PDF格式免费下载。 第一图书网 手机版

京ICP备13047387号-7