《精通网络视频核心开发技术》PDF下载

  • 购买积分:19 如何计算积分?
  • 作  者:于广编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2011
  • ISBN:9787121126482
  • 页数:698 页
图书介绍:本书系统地介绍了使用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章M FC介绍 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封装CDirect5ound类实现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