展开全部

主编推荐语

从零开始,手把手教你开发音视频。

内容简介

本书采用从零开始,逐级深入的方式写作,以项目实战为阶段性目标,外加实际生产环境下的特殊案例作为优化方案,让你可以全方位掌握移动平台下音视频开发的大部分内容。

首先介绍实现视频播放器和录制需要的基础知识,然后通过案例讲解如何实现视频播放器和一个视频录制的应用。但是一款录制的应用,要想上线,其实还要进行给音频视频美化,所以在提高篇,介绍了相应的内容,并给出了一个实际生产环境中的案例,之后,指导读者进阶,把前面学到的基础内容应用到直播中。最后,给出排错方法和工具,和大家分享如何更有效率地开发应用程序。

目录

  • 版权信息
  • 推荐序一
  • 推荐序二
  • 前言
  • 为什么要写这本书
  • 读者对象
  • 如何阅读本书
  • 勘误和支持
  • 致谢
  • 第1章 音视频基础概念
  • 1.1 声音的物理性质
  • 1.1.1 声音是波
  • 1.1.2 声波的三要素
  • 1.1.3 声音的传播介质
  • 1.1.4 回声
  • 1.1.5 共鸣
  • 1.2 数字音频
  • 1.3 音频编码
  • 1.4 图像的物理现象
  • 1.5 图像的数值表示
  • 1.5.1 RGB表示方式
  • 1.5.2 YUV表示方式
  • 1.5.3 YUV和RGB的转化
  • 1.6 视频的编码方式
  • 1.6.1 视频编码
  • 1.6.2 编码概念
  • 1.7 本章小结
  • 第2章 移动端环境搭建
  • 2.1 在iOS上如何搭建一个基础项目
  • 增加C++支持
  • 2.2 在Android上如何搭建一个基础项目
  • 增加C++支持
  • 2.3 交叉编译的原理与实践
  • 2.3.1 交叉编译的原理
  • 2.3.2 iOS平台交叉编译的实践
  • 2.3.3 Android平台交叉编译的实践
  • 2.3.4 使用LAME编码MP3文件
  • 2.4 本章小结
  • 第3章 FFmpeg的介绍与使用
  • 3.1 FFmpeg的编译与命令行工具的使用
  • 3.1.1 FFmpeg的编译
  • 3.1.2 FFmpeg命令行工具的使用
  • 3.2 FFmpeg API的介绍与使用
  • 3.3 FFmpeg源码结构
  • 3.3.1 libavformat与libavcodec介绍
  • 3.3.2 FFmpeg通用API分析
  • 3.3.3 调用FFmpeg解码时用到的函数分析
  • 3.3.4 调用FFmpeg编码时用到的函数分析
  • 3.3.5 面向对象的C语言设计
  • 3.4 本章小结
  • 第4章 移动平台下的音视频渲染
  • 4.1 AudioUnit介绍与实践
  • 4.2 Android平台的音频渲染
  • 4.2.1 AudioTrack的使用
  • 4.2.2 OpenSL ES的使用
  • 4.3 视频渲染
  • 4.3.1 OpenGL ES介绍
  • 4.3.2 OpenGL ES的实践
  • 4.3.3 上下文环境搭建
  • 4.3.4 OpenGL ES中的纹理
  • 4.4 本章小结
  • 第5章 实现一款视频播放器
  • 5.1 架构设计
  • 5.2 解码模块的实现
  • 5.3 音频播放模块的实现
  • 5.3.1 Android平台的音频渲染
  • 5.3.2 iOS平台的音频渲染
  • 5.4 画面播放模块的实现
  • 5.4.1 Android平台的视频渲染
  • 5.4.2 iOS平台的视频渲染
  • 5.5 AVSync模块的实现
  • 5.5.1 维护解码线程
  • 5.5.2 音视频同步
  • 5.6 中控系统串联起各个模块
  • 5.6.1 初始化阶段
  • 5.6.2 运行阶段
  • 5.6.3 销毁阶段
  • 5.7 本章小结
  • 第6章 音视频的采集与编码
  • 6.1 音频的采集
  • 6.1.1 Android平台的音频采集
  • 6.1.2 iOS平台的音频采集
  • 6.2 视频画面的采集
  • 6.2.1 Android平台的视频画面采集
  • 6.2.2 iOS平台的视频画面采集
  • 6.3 音频的编码
  • 6.3.1 libfdk_aac编码AAC
  • 6.3.2 Android平台的硬件编码器MediaCodec
  • 6.3.3 iOS平台的硬件编码器AudioToolbox
  • 6.4 视频画面的编码
  • 6.4.1 libx264编码H264
  • 6.4.2 Android平台的硬件编码器MediaCodec
  • 6.4.3 iOS平台的硬件编码器
  • 6.5 本章小结
  • 第7章 实现一款视频录制应用
  • 7.1 视频录制的架构设计
  • 7.2 音频模块的实现
  • 7.2.1 音频队列的实现
  • 7.2.2 Android平台的实现
  • 7.2.3 iOS平台的实现
  • 7.3 音频编码模块的实现
  • 7.3.1 改造编码器
  • 7.3.2 编码器适配器
  • 7.4 画面采集与编码模块的实现
  • 7.4.1 视频队列的实现
  • 7.4.2 Android平台画面编码后入队
  • 7.4.3 iOS平台画面编码后入队
  • 7.5 Mux模块
  • 7.5.1 初始化
  • 7.5.2 封装和输出
  • 7.5.3 销毁资源
  • 7.6 中控系统串联起各个模块
  • 7.7 本章小结
  • 第8章 音频效果器的介绍与实践
  • 8.1 数字音频基础
  • 8.1.1 波形图
  • 8.1.2 频谱图
  • 8.1.3 语谱图
  • 8.1.4 深入理解时域与频域
  • 8.2 数字音频处理:快速傅里叶变换
  • 8.3 基本乐理知识
  • 8.3.1 乐谱
  • 8.3.2 音符的音高与十二平均律
  • 8.3.3 音符的时值
  • 8.3.4 节拍
  • 8.3.5 MIDI格式
  • 8.4 混音效果器
  • 8.4.1 均衡效果器
  • 8.4.2 压缩效果器
  • 8.4.3 混响效果器
  • 8.5 效果器实现
  • 8.5.1 Android平台实现效果器
  • 8.5.2 iOS平台实现效果器
  • 8.6 本章小结
  • 第9章 视频效果器的介绍与实践
  • 9.1 图像处理的基本原理
  • 9.1.1 亮度调节
  • 9.1.2 对比度调节
  • 9.1.3 饱和度调节
  • 9.2 图像处理进阶
  • 9.2.1 图像的卷积过程
  • 9.2.2 锐化效果器
  • 9.2.3 高斯模糊算法
  • 9.2.4 双边滤波算法
  • 9.2.5 图层混合介绍
  • 9.3 使用FFmpeg内部的视频滤镜
  • 9.3.1 FFmpeg视频滤镜介绍
  • 9.3.2 滤镜图的构建
  • 9.3.3 使用与销毁滤镜图
  • 9.3.4 常用滤镜介绍
  • 9.4 使用OpenGL ES实现视频滤镜
  • 9.4.1 加水印
  • 9.4.2 添加自定义文字
  • 9.4.3 美颜效果器
  • 9.4.4 动图贴纸效果器
  • 9.4.5 主题效果器
  • 9.5 本章小结
  • 第10章 专业的视频录制应用实践
  • 10.1 视频硬件解码器的使用
  • 10.1.1 初始化信息准备
  • 10.1.2 VideoToolbox解码H264
  • 10.1.3 MediaCodec解码H264
  • 10.2 音频效果器的集成
  • 10.2.1 Android音效处理系统的实现
  • 10.2.2 iOS音效处理系统的实现
  • 10.3 一套跨平台的视频效果器的设计与实现
  • 10.4 将特效处理库集成到视频录制项目中
  • 10.4.1 Android平台特效集成
  • 10.4.2 iOS平台特效集成
  • 10.5 本章小结
  • 第11章 直播应用的构建
  • 11.1 直播场景分析
  • 11.2 拉流播放器的构建
  • 11.2.1 Android平台播放器增加后处理过程
  • 11.2.2 iOS平台播放器增加后处理过程
  • 11.3 推流器的构建
  • 11.4 第三方云服务介绍
  • 11.5 礼物系统的实现
  • 11.5.1 Cocos2dX项目的运行原理
  • 11.5.2 关键API详解
  • 11.5.3 实现一款动画
  • 11.6 聊天系统的实现
  • 11.6.1 Android客户端的WebSocket实现
  • 11.6.2 iOS客户端的WebSocket实现
  • 11.7 本章小结
  • 第12章 直播应用中的关键处理
  • 12.1 直播应用的细节分析
  • 12.1.1 推流端细节分析
  • 12.1.2 拉流端细节分析
  • 12.2 推流端的关键处理
  • 12.2.1 自适应码率的实践
  • 12.2.2 统计数据保证后续的应对策略
  • 12.3 拉流端的关键处理
  • 12.3.1 重试机制的实践
  • 12.3.2 首屏时间的保证
  • 12.3.3 统计数据保证后续的应对策略
  • 12.4 本章小结
  • 第13章 工欲善其事,必先利其器
  • 13.1 Android平台工具详解
  • 13.1.1 ADB工具的熟练使用
  • 13.1.2 MAT工具检测Java端的内存泄漏
  • 13.1.3 NDK工具详解
  • 13.1.4 Native层的内存泄漏检测
  • 13.1.5 breakpad收集线上Crash
  • 13.2 iOS使用Instruments诊断应用
  • 13.2.1 Debug Navigator
  • 13.2.2 Time Profiler
  • 13.2.3 Allocations
  • 13.2.4 Leaks
  • 13.3 本章小结
  • 附录A 通过Ne10的交叉编译输入理解ndk-build
  • A.1 Ne10简介
  • A.2 编译和运行官方Demo
  • A.3 通过Ne10的编译来看ndk-build的执行过程
  • A.4 Ne10提供的Math函数列表
  • A.5 FFT性能测试
  • 附录B 编码器的使用细节
  • B.1 AAC编码器的使用细节
  • B.2 FFmpeg中使用libx264的码率控制
  • 附录C 视频的表示与编码
  • C.1 视频帧的表示格式
  • C.2 显卡上传中字节对齐
  • C.3 编码器的工作编码原理
展开全部

评分及书评

评分不足
1个评分

出版方

机械工业出版社有限公司

机械工业出版社是全国优秀出版社,自1952年成立以来,坚持为科技、为教育服务,以向行业、向学校提供优质、权威的精神产品为宗旨,以“服务社会和人民群众需求,传播社会主义先进文化”为己任,产业结构不断完善,已由传统的图书出版向着图书、期刊、电子出版物、音像制品、电子商务一体化延伸,现已发展为多领域、多学科的大型综合性出版社,涉及机械、电工电子、汽车、计算机、经济管理、建筑、ELT、科普以及教材、教辅等领域。