发表于2024-12-25
作者团队由来自国内一线移动互联网公司的技术专家组成,不仅能确保内容的专业性,而且能把实际一线丰富的经验带给读者,并在github上开源了书中的所有项目,让读者可以更容易的集成到自己的App中,对于移动端的音视频开发者来讲,这本书可以作为枕边书。
书中首先通过介绍音视频的物理现象与基础概念,帮助读者建立模拟信号到数字信号转化的过程,然后重点介绍了如何在移动端开发音视频项目,其中包括开发中所需要了解的各种知识,如音视频的解码与渲染,采集与编码,音视频的处理与性能优化等;在此基础上最后综合当下*流行的直播场景,介绍如何将书中的已有项目改造、适配成为一个直播产品,进一步帮助读者自由、有效的开发出功能丰富、性能一流的音视频App。
展晓凯
曾工作于淘宝,参与设计开发淘宝旅行的机票搜索业务,曾就职于115网盘参与核心功能的研发,现就职于北京*淘科技有限公司,任音视频架构师,在公司的唱吧、唱吧直播间、火星三条产品线都负责客户端核心的架构设计与开发工作,其中唱吧目前公布的数据已有几亿用户,月活也在千万量级。作者在工作与生活中非常乐于帮助同事与朋友,痴迷于互联网可以推动整个人类历史的发展,同时作为这个大时代的一个小人物,作者也希望帮助更多的人参与到互联网行业中。
魏晓红
多年以来一直从事Android应用的开发工作,在Android点播、直播相关领域有着丰富的经验,由于开发的产品在印度有非常多的Android用户,所以这让其积累了丰富的Android端适配的经验,作者在平时的工作与生活中乐于探讨技术,希望互利网可以改变人类生活。
4G的普及带来了移动互联网多媒体内容的繁荣,基本每个大的app,没有视频,不做直播都有点不好意思。但是真正要把音视频处理好,让用户仅仅依赖弱小的手机处理器实现完美的音视频录制、特效处理以及高效的直播互动并不是件容易的事情。本书是展晓凯及同事们在唱吧的音视频实践中积累的大量经验教训,是一本从入门到精通教人如何在手机里处理音视频的技术书籍,希望能够对行业的整体技术水平有所帮助。
---- 唱吧CEO 陈华
强烈推荐此书给音视频领域的新人,晓凯结合自身丰富实战经验,深入浅出的将音视频开发的诀窍娓娓道来,让音视频开发无难事。
---- 金山云合伙人,视频生态部总经理 林松
晓凯专注于音视频领域多年,跳过各种坑、踩过各种雷,积累的理论和实际经验都相当丰富,相信他的这本书能传递他在音视频方面的经验并帮助到有需要的移动开发者。
---- iOS逆向专家 吴航
这是一本能把我们引入音视频开发领域,并向更深层次翱翔的指南性书籍。它不仅将长期以来束之高阁的技术拉到我们面前,还全方位,多角度的阐述了这种技术在移动互联网市场中的运用。而*重要的是,这本书的作者是具有多年音视频底层开发经验,并开发了当今*火的手机KTV软件《唱吧》。我相信透过这本书所传递出来的知识和经验,会成为助我们点燃成功的火种。所以,我建议每一位想要从事这方面工作的工程师或者经理来阅读这本书。
---Unity金牌讲师,灿黎网络CEO 吕剑锋
Contents?目 录
推荐序一
推荐序二
前言
第1章 音视频基础概念 1
1.1 声音的物理性质 1
1.1.1 声音是波 1
1.1.2 声波的三要素 2
1.1.3 声音的传播介质 3
1.1.4 回声 3
1.1.5 共鸣 4
1.2 数字音频 4
1.3 音频编码 6
1.4 图像的物理现象 7
1.5 图像的数值表示 8
1.5.1 RGB表示方式 8
1.5.2 YUV表示方式 9
1.5.3 YUV和RGB的转化 10
1.6 视频的编码方式 10
1.6.1 视频编码 10
1.6.2 编码概念 11
1.7 本章小结 13
第2章 移动端环境搭建 14
2.1 在iOS上如何搭建一个基础项目 14
2.2 在Android上如何搭建一个基础项目 21
2.3 交叉编译的原理与实践 26
2.3.1 交叉编译的原理 26
2.3.2 iOS平台交叉编译的实践 27
2.3.3 Android平台交叉编译的实践 33
2.3.4 使用LAME编码MP3文件 38
2.4 本章小结 42
第3章 FFmpeg的介绍与使用 43
3.1 FFmpeg的编译与命令行工具的使用 43
3.1.1 FFmpeg的编译 43
3.1.2 FFmpeg命令行工具的使用 51
3.2 FFmpeg API的介绍与使用 60
3.3 FFmpeg源码结构 68
3.3.1 libavformat与libavcodec介绍 68
3.3.2 FFmpeg通用API分析 69
3.3.3 调用FFmpeg解码时用到的函数分析 70
3.3.4 调用FFmpeg编码时用到的函数分析 71
3.3.5 面向对象的C语言设计 72
3.4 本章小结 74
第4章 移动平台下的音视频渲染 75
4.1 AudioUnit介绍与实践 75
4.2 Android平台的音频渲染 84
4.2.1 AudioTrack的使用 85
4.2.2 OpenSL ES的使用 87
4.3 视频渲染 90
4.3.1 OpenGL ES介绍 90
4.3.2 OpenGL ES的实践 91
4.3.3 上下文环境搭建 98
4.3.4 OpenGL ES中的纹理 104
4.4 本章小结 109
第5章 实现一款视频播放器 110
5.1 架构设计 110
5.2 解码模块的实现 115
5.3 音频播放模块的实现 118
5.3.1 Android平台的音频渲染 118
5.3.2 iOS平台的音频渲染 119
5.4 画面播放模块的实现 121
5.4.1 Android平台的视频渲染 121
5.4.2 iOS平台的视频渲染 122
5.5 AVSync模块的实现 124
5.5.1 维护解码线程 124
5.5.2 音视频同步 125
5.6 中控系统串联起各个模块 127
5.6.1 初始化阶段 127
5.6.2 运行阶段 128
5.6.3 销毁阶段 129
5.7 本章小结 130
第6章 音视频的采集与编码 131
6.1 音频的采集 131
6.1.1 Android平台的音频采集 131
6.1.2 iOS平台的音频采集 134
6.2 视频画面的采集 137
6.2.1 Android平台的视频画面采集 137
6.2.2 iOS平台的视频画面采集 146
6.3 音频的编码 156
6.3.1 libfdk_aac编码AAC 156
6.3.2 Android平台的硬件编码器MediaCodec 158
6.3.3 iOS平台的硬件编码器AudioToolbox 161
6.4 视频画面的编码 166
6.4.1 libx264编码H264 166
6.4.2 Android平台的硬件编码器MediaCodec 172
6.4.3 iOS平台的硬件编码器 175
6.5 本章小结 184
第7章 实现一款视频录制应用 185
7.1 视频录制的架构设计 185
7.2 音频模块的实现 188
7.2.1 音频队列的实现 189
7.2.2 Android平台的实现 191
7.2.3 iOS平台的实现 194
7.3 音频编码模块的实现 198
7.3.1 改造编码器 198
7.3.2 编码器适配器 199
7.4 画面采集与编码模块的实现 202
7.4.1 视频队列的实现 202
7.4.2 Android平台画面编码后入队 203
7.4.3 iOS平台画面编码后入队 204
7.5 Mux模块 205
7.5.1 初始化 206
7.5.2 封装和输出 208
7.5.3 销毁资源 212
7.6 中控系统串联起各个模块 213
7.7 本章小结 214
第8章 音频效果器的介绍与实践 215
8.1 数字音频基础 215
8.1.1 波形图 215
8.1.2 频谱图 217
8.1.3 语谱图 219
8.1.4 深入理解时域与频域 219
8.2 数字音频处理:快速傅里叶变换 222
8.3 基本乐理知识 229
8.3.1 乐谱 229
8.3.2 音符的音高与十二平均律 231
8.3.3 音符的时值 233
8.3.4 节拍 233
8.3.5 MIDI格式 234
8.4 混音效果器 235
8.4.1 均衡效果器 236
8.4.2 压缩效果器 239
8.4.3 混响效果器 240
8.5 效果器实现 243
8.5.1 Android平台实现效果器 243
8.5.2 iOS平台实现效果器 252
8.6 本章小结 255
第9章 视频效果器的介绍与实践 256
9.1 图像处理的基本原理 256
9.1.1 亮度调节 257
9.1.2 对比度调节 258
9.1.3 饱和度调节 259
9.2 图像处理进阶 259
9.2.1 图像的卷积过程 260
9.2.2 锐化效果器 260
9.2.3 高斯模糊算法 262
9.2.4 双边滤波算法 263
9.2.5 图层混合介绍 264
9.3 使用FFmpeg内部的视频滤镜 266
9.3.1 FFmpeg视频滤镜介绍 266
9.3.2 滤镜图的构建 267
9.3.3 使用与销毁滤镜图 269
9.3.4 常用滤镜介绍 270
9.4 使用OpenGL ES实现视频滤镜 272
9.4.1 加水印 273
9.4.2 添
音视频开发进阶指南:基于Android与iOS平台的实践 下载 mobi pdf epub txt 电子书 格式 2024
音视频开发进阶指南:基于Android与iOS平台的实践 下载 mobi epub pdf 电子书买了看了一周,感觉这本书就是个坑,知识点都是点到为止,不够深入,贴上的代码很多都是莫名其妙,多处莫名其妙的方法调用,很多属性也没定义就突然冒出来了,可读性极差,哎!
评分不错,书挺好的!
评分慢慢啃
评分内容不错,第一次接触音频
评分价格合适,物流快,非常满意
评分价格不错,送货准时,品质如一
评分刚哈更哈更好好好好好好好
评分还没看 希望是一本好书
评分好。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
音视频开发进阶指南:基于Android与iOS平台的实践 mobi epub pdf txt 电子书 格式下载 2024