词条 | 精通网络视频核心开发技术 |
释义 | 基本信息作者: 于广 出版社:电子工业出版社 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 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。