标题：精通网络视频核心开发技术
基本信息
作者： 于广    
出版社：电子工业出版社 
ISBN：9787121126482
上架时间：2011-3-7
出版日期：2011 年4月
开本：16开
页码：1
版次：1-1
内容简介
《精通网络视频核心开发技术》由浅入深地讲解了visual c++在音频和视频领域的开发技术，并通过具体的实例来讲解其具体的实现流程。全书内容分为18章，详细讲解了使用各种软件和平台进行音/视频多媒体编程的技术，以案例为对象展示实现过程、分析技术难点。主要内容包括directsound开发音频、directshow/vfw开发视频、mmx/sse进行多媒体汇编编程、dm642 dsp进行音/视频算法优化和主流视频算法mpeg-4/h.264的编码原理及工程实践。
《精通网络视频核心开发技术》系统地介绍了使用visual c++ 2005进行流媒体编程的基本思路和方法，采用案例为主的叙述方式，将大量的技术理论融入具体的案例剖析中。书中采用的案例均来源于作者的实际开发工作，具有很好的实用价值，方便广大开发者在开发中进行参考或直接应用。
随书所附光盘包含书中实例源文件。
内容丰富、安排合理、工程实用性强，能够为广大数字媒体或音/视频开发人员、高等院校相关专业的课程设计、毕业设计提供参考，同时也可以作为科研单位、企业进行流媒体开发的技术指导用书。 
目录
《精通网络视频核心开发技术》 
第1章 音频/视频技术基础 1 
1.1 数字音频、视频的基本概念 2 
1.1.1 数字音频技术的发展 2 
1.1.2 常见数字音频、视频文件格式 3 
1.2 数字音/视频的编/解码技术介绍 8 
1.2.1 音频数据的编码、解码 8 
1.2.2 视频数据的编码、解码 10 
1.2.3 音频/视频编码方案 11 
1.2.4 未来的音频/视频编码技术标准 11 
1.3 视频信息网络传输基础 13 
1.4 常见的音频/视频处理平台 15 
1.5 常用的音频/视频开发工具 15 
1.5.1 directsound 16 
1.5.2 directshow 16 
1.5.3 ccs算法 16 
第2章 visual c++ 2005开发环境介绍 18 
2.1 visual studio.net基础 19 
2.1.1 visual studio.net工具介绍 19 
2.1.2 安装visual studio 2005 19 
.2.2 初识visual studio 2005环境 21 
2.2.1 visual studio 2005设置 21 
2.2.2 新建项目 22 
2.2.3 解决方案和类视图 24 
2.2.4 文本编辑器 26 
2.2.5 生成与查错 28 
2.3 使用向导完成开发 29 
2.3.1 创建应用程序 29 
2.3.2 生成应用库lib/dll 39 
2.4 安装visual studio 2005的常见问题 40 
第3章 mfc介绍 42 
3.1 mfc概述 43 
3.1.1 mfc编程的特点 43 
3.1.2 mfc类的分层结构 44 
3.1.3 mfc中的winmain()函数 44 
3.2 windows消息机制 44 
3.2.1 消息概述 45 
3.2.2 windows句柄 46 
3.2.3 消息的传送 46 
3.2.4 消息与事件 47 
3.3 对话框编程 48 
3.3.1 构建对话框应用程序 48 
3.3.2 设置对话框属性 51 
3.3.3 常见对话框的种类 54 
3.4 控件基础 59 
3.4.1 windows公共控件 60 
3.4.2 activex控件 61 
3.5 msdn中的巨大资源 64 
第4章 directx实现音频开发 67 
4.1 directx基础 68 
4.1.1 directx的历史 68 
4.1.2 版本与功能 68 
4.1.3 结构 72 
4.1.4 组成 72 
4.2 搭建directx开发环境 75 
4.2.1 获取directx 76 
4.2.2 安装directx sdk 78 
4.2.3 配置directx sdk 80 
4.3 directsound开发基础 82 
4.3.1 directsound能做什么 83 
4.3.2 directsound和directmusic的区别 83 
4.3.3 directsound sdk结构 84 
4.3.4 directsound播放功能介绍 85 
4.4 directsound使用方法详解 85 
4.4.1 directsound开发的基本步骤 85 
4.4.2 directsound对象介绍 86 
4.4.3 使用directsound设备对象 87 
4.4.4 使用directsound缓冲区对象 92 
4.4.5 使用wav数据 100 
4.4.6 使用directx媒体对象控制音效 103 
4.5 directsound环境配置 108 
4.5.1 directsound开发环境配置 108 
4.5.2 开发环境配置 110 
4.6 调试程序 112 
4.6.1 visual c++调试器 112 
4.6.2 一些基本的调试技术 115 
第5章 制作一个音频播放器 116 
5.1 先了解基础知识——缓冲区 117 
5.1.1 缓冲区的几种类型 117 
5.1.2 缓冲区通知 117 
5.2 系统总体设计和分析 118 
5.2.1 mci 119 
5.2.2 playsound()函数 119 
5.2.3 低级别wav音频设备 120 
5.3 播放文件 122 
5.3.1 创建directsound对象 122 
5.3.2 创建播放缓冲区 122 
5.3.3 创建directsoundbuffer对象 125 
5.4 总结directsound音频编程的步骤及方法 127 
5.5 项目具体实现 128 
5.5.1 创建项目程序框架 128 
5.5.2 添加控件和变量 129 
5.5.3 封装cdirectsound类实现directsound 129 
5.5.4 对话框界面操作 139 
5.5.5 编译和调试 142 
第6章 3d音效编程 143 
6.1 先了解基础知识 144 
6.1.1 directsound 3d介绍 144 
6.1.2 最大距离和最小距离 145 
6.1.3 处理模式介绍 145 
6.1.4 buffer的位置和速度 146 
6.1.5 声音的锥效应 146 
6.2 directsound 3d缓冲区对象 147 
6.3 directsound 3d虚拟听众 148 
6.3.1 听众空间参数 148 
6.3.2 获取3d听者 150 
6.3.3 距离因子和多普勒效应（doppler） 151 
6.4 增加声音特技using effects 151 
6.5 项目具体实现 152 
6.5.1 创建项目程序框架 152 
6.5.2 添加控件和变量 153 
6.5.3 实现流程分析 155 
6.5.4 编译和调试 172 
第7章 录制音频 174 
7.1 先了解基础知识 175 
7.1.1 录音的基本原理 175 
7.1.2 实现流程分析 176 
7.2 项目具体实现 184 
7.2.1 封装类 184 
7.2.2 管理函数 188 
7.2.3 编译和调试 199 
第8章 引入directshow 201 
8.1 directshow基础 202 
8.1.1 directshow介绍 202 
8.1.2 directshow构成 202 
8.2 搭建directshow sdk开发环境 205 
8.2.1 获取directshow sdk 205 
8.2.2 安装directshow sdk 206 
8.3 配置directshow sdk开发环境 208 
8.3.1 生成directshow sdk库 208 
8.3.2 配置visual c++ 2005 213 
8.3.3 最后看笔者机器的调试过程 215 
8.4 directshow使用案例 219 
8.4.1 滤镜和图像滤镜介绍 219 
8.4.2 编写一个directshow程序 220 
8.4.3 使用graphedt.exe播放avi文件 220 
8.4.4 编程实现播放avi文件 221 
第9章 directshow开发详解 225 
9.1 filter graph及其组成 226 
9.1.1 directshow的filter 226 
9.1.2 filter graph manager对象 227 
9.1.3 媒体类型 228 
9.1.4 媒体样本samples和分配器allocators 231 
9.2 构建filter graph 231 
9.2.1 链表构建组件 231 
9.2.2 智能连接初步介绍 232 
9.2.3 grap构建概述 232 
9.2.4 智能连接详解 233 
9.3 数据流在filter graph里的流动 235 
9.3.1 传输 236 
9.3.2 样本samples和分配器allocators 236 
9.3.3 filter状态 238 
9.3.4 拉模式 239 
9.4 事件通知机制 239 
9.4.1 概述 239 
9.4.2 从队列中取事件 240 
9.4.3 当事件发生时 240 
9.5 directshow中的时间和时钟 242 
9.5.1 参考时钟 243 
9.5.2 时钟时间 243 
9.5.3 时间戳 244 
9.5.4 实时源 245 
9.6 动态重建 246 
9.6.1 动态重连 246 
9.6.2 filter链 248 
9.7 插件发布者 249 
9.8 directshow的重要接口 251 
9.8.1 常用的directshow接口 251 
9.8.2 用directshow来使用摄像头 252 
9.9 再次总结directshow程序开发过程 253 
9.10 directshow sdk典型开发案例 254 
9.10.1 开发一个媒体播放器 254 
9.10.2 基于directshow的流媒体解码和回放 255 
9.10.3 尝试用directshow实现视频马赛克处理 256 
9.10.4 使用directshow驱动摄像头 262 
9.10.5 directshow视频采集 264 
9.10.6 录制视频 274 
9.10.7 音频采集 279 
9.10.8 directshow在网络方面的应用 281 
第10章 dv视频采集编程 303 
10.1 系统分析与设计 304 
10.1.1 采集设备的枚举 304 
10.1.2 使用capturegraphbuilder 307 
10.1.3 采集参数的设置 307 
10.2 使用vmr实现视频图像捕获 309 
10.2.1 vmr技术基础 309 
10.2.2 graphedit模拟实现视频捕获预览 310 
10.2.3 实现视频图像捕获类cvmr_capture 311 
10.2.4 界面设计 319 
10.2.5 运行演示 323 
第11章 vfw视频处理 325 
11.1 系统分析与设计 326 
11.1.1 vfw概述 326 
11.1.2 vfw开发流程 326 
11.1.3 vfw视频捕获流程 328 
11.1.4 视频编辑和播放 329 
11.2 一个简单的基于vfw的视频预览 330 
11.3 vfw实现视频捕获和预览 333 
11.3.1 建立单文档应用程序 333 
11.3.2 创建视频窗口 335 
11.3.3 创建回调函数 336 
11.3.4 设置视频图像 339 
11.3.5 捕获预览视频 341 
11.3.6 设置视频格式和图像参数 342 
11.3.7 其他相关操作 343 
11.4 视频压缩管理器 347 
11.4.1 视频压缩管理器初步（1） 347 
11.4.2 视频压缩管理器初步（2） 348 
11.4.3 压缩、解压缩及renderers的注册表项目 353 
11.4.4 能完成的任务 354 
11.4.5 vfw中vcm的基本操作过程及相关函数 356 
11.4.6 应用vcm案例 358 
11.5 xvid codec算法实现编码、解码 363 
11.5.1 xvid基础 364 
11.5.2 编译xvid 372 
11.5.3 xvid编码、解码实例 374 
第12章 编码和解码基础 382 
12.1 数字音频和数字视频介绍 383 
12.1.1 数字音频 383 
12.1.2 数字视频 384 
12.1.3 视频压缩 386 
12.2 音频编码处理 388 
12.2.1 音频编码方法 388 
12.2.2 mpeg-1音频 392 
12.2.3 mpeg-2音频 400 
12.2.4 mpeg-4音频 404 
12.3 视频编码处理 411 
12.3.1 h.261和h.263标准 412 
12.3.2 mpeg标准 414 
12.3.3 mpeg-1和mpeg-2视频标准 418 
12.3.4 mpeg-4编码标准 424 
12.3.5 mpeg-7编码标准 425 
第13章 mmx/sse编程 427 
13.1 mmx/sse基础 428 
13.1.1 mmx多媒体扩展 428 
13.1.2 sse指令 428 
13.1.3 3d now指令 429 
13.1.4 其他几种技术 430 
13.2 mmx指令介绍 431 
13.2.1 mmx指令基础 431 
13.2.2 cpu寄存器 436 
13.2.3 mmx内联汇编原则 437 
13.2.4 mmx在visual c++中的使用 438 
13.2.5 mmx编程实例 439 
13.3 sse/sse 2指令 450 
13.3.1 sse/sse 2基础 450 
13.3.2 sse/sse 2编程设计 451 
13.3.3 sse编程实例 453 
第14章 dm642视频编码/解码编程 459 
14.1 tms320dm642概述 460 
14.2 ccs开发环境 460 
14.2.1 ccs概述 461 
14.2.2 ccs系统配置 462 
14.2.3 代码生成工具 463 
14.2.4 ccs集成开发环境简介 464 
14.2.5 dsp/bios 插件 465 
14.2.6 硬件仿真和实时数据交换 467 
14.2.7 第三方插件 469 
14.2.8 ccs文件和变量 469 
14.3 ccs开发一个简单的应用程序 470 
14.3.1 创建工程文件 471 
14.3.2 向工程添加文件 471 
14.3.3 查看源代码 472 
14.3.4 编译和运行程序 473 
14.3.5 修改程序选项和纠正语法错误 474 
14.3.6 使用断点和观察窗口 475 
14.3.7 测算源代码执行时间 476 
14.4 常见应用介绍 477 
14.4.1 dm642在视频应用的模块 478 
14.4.2 dm642启动过程分析 479 
14.4.3 在dsp dm642上移植yaffs2 481 
14.4.4 dm642 rf框架小结 483 
14.4.5 基于tms320c64x/dm64x的视频编码优化 486 
14.4.6 dm642视频采集与回放 489 
14.4.7 视频会议系统的主流解决方案与技术趋势 493 
14.5 dsp视频算法优化 498 
14.5.1 基于dsp的视频算法系统优化若干策略 498 
14.5.2 mpeg音频解码算法的dsp设计和优化 501 
14.5.3 基于dsp的信道译码算法优化 504 
14.6 基于dsp的jpeg图像解码算法的实现 508 
14.6.1 jpeg图像算法基础 508 
14.6.2 jpeg编码算法的dsp优化实例 511 
14.7 最后的迷津——哈夫曼编码 519 
第15章 实现mpeg-4编码/解码 528 
15.1 mpeg-4编/解码概述 529 
15.1.1 基于对象的mpeg-4视频编码 529 
15.1.2 xvid格式文件播放 529 
15.2 xvid codec编/解码分析 529 
15.2.1 mpeg-4编/解码设计分析 530 
15.2.2 mmx/sse2实现xvid codec 556 
15.3 sse2汇编指令优化核心模块 559 
15.4 dm642下的xvid codec优化 561 
15.5 运行xvid codec系统 566 
15.5.1 yuv原始视频数据及其显示 566 
15.5.2 在visual c++平台下编译/运行xvid codec 567 
15.5.3 codec在dsp下软仿真和硬仿真 569 
15.6 系统运行效果 569 
第16章 h.264/avc编码技术详解 571 
16.1 h.264/avc的特点与结构 572 
16.1.1 技术特点 572 
16.1.2 编码结构与格式 573 
16.2 h.264/avc的预测编码 577 
16.2.1 帧内预测 577 
16.2.2 帧间预测与运动补偿 580 
16.3 h.264/avc的块编码 582 
16.3.1 4×4整数dct 583 
16.3.2 量化 586 
16.3.3 cavlc 588 
16.3.4 cabac 592 
16.4 x.264视频编码设计和分析 596 
16.4.1 x.264应用工程 596 
16.4.2 libx264编码库 602 
16.4.3 视频帧的存放和获取 604 
16.4.4 视频帧压缩编码vcl 607 
16.4.5 码流nal打包输出 614 
16.5 x.264核心模块的mmx/dsp汇编优化 615 
16.5.1 mmx/dsp汇编优化 615 
16.5.2 dm642线性汇编优化 616 
第17章 制作一个媒体播放器 619 
17.1 系统分析和设计 620 
17.1.1 功能需求和效果展示 620 
17.1.2 设计filtergraph结构 621 
17.1.3 实现graphedit模拟 621 
17.1.4 设计界面 623 
17.2 实现媒体控制类 627 
17.2.1 cdxgraph类初始化 627 
17.2.2 创建graph滤波器链表 629 
17.2.3 设计图像窗口 631 
17.2.4 媒体播放控制 632 
17.2.5 视频全屏显示 635 
17.2.6 抓图保存 636 
17.3 实现播放器主题 637 
17.3.1 打开一个媒体文件 637 
17.3.2 渲染媒体文件 637 
17.3.3 播放媒体文件 638 
17.3.4 实现控制功能 639 
17.3.5 实现拖放功能 643 
17.3.6 实现音量调节功能 644 
17.3.7 添加背景图片 645 
第18章 网络视频监控系统 647 
18.1 中国视频监控市场现状与发展趋势 648 
18.2 系统分析 648 
18.3 系统设计 649 
18.4 系统预览 649 
18.5 编码规则介绍 650 
18.6 设计数据库 651 
18.7 开发前的最后准备——选购监控卡 652 
18.7.1 选购监控卡 652 
18.7.2 软件准备 653 
18.7.3 安装监控卡 653 
18.8 具体编程实现 653 
18.8.1 设计公共模块 653 
18.8.2 设计主窗体 659 
18.9 设计管理员登录模块 675 
18.10 设计监控管理模块 677 
18.10.1 监控管理技术分析 678 
18.10.2 编程监控管理 678 
18.10.3 单元测试处理 682 
18.11 设计广角自动监控模块 682 
18.11.1 可行性分析 683 
18.11.2 编程实现 684 
18.11.3 单元测试 687 
18.12 设计视频回放模块 688 
18.12.1 技术分析 689 
18.12.2 编程实现 689 
18.13 分析绚丽界面的实现方法 690 
18.13.1 绚丽的界面是客户的需求 690 
18.13.2 编程实现 690