音视频开发进阶指南:基于Android与iOS平台的实践

音视频开发进阶指南:基于Android与iOS平台的实践

  • 大小:17.6 MB
  • 类型:电子书
  • 格式:PDF
  • 出版:机械工业出版社
  • 作者:展晓凯
  • 更新:2022-07-19 09:20:33
版权投诉 / 资源反馈(本资源由用户 徐茂彦 投稿)

这是一个关于音视频开发相关的电子书资料,由机械工业出版社出版,作者是展晓凯,介绍了关于iOS、Android、音视频开发方面,格式为PDF,资源大小17.6 MB,目前在音视频开发类资源综合评分为:9.1分。

内容介绍

本书采用从零开始,逐级深入的方式写作,以项目实战为阶段性目标,外加实际生产环境下的特殊案例作为优化方案,让读者可以全方位掌握移动平台下音视频开发的大部分内容。首先介绍实现视频播放器和录制需要的基础知识,然后通过案例讲解如何实现视频播放器和一个视频录制的应用。但是一款录制的应用,要想上线,其实还要进行给音频视频美化,所以在提高篇,介绍了相应的内容,并给出了一个实际生产环境中的案例,之后,指导读者进阶,把前面学到的基础内容应用到直播中。后,给出排错方法和工具,和大家分享如何更有效率地开发应用程序。

目录

  • 推荐序一
  • 推荐序二
  • 前言
  • 第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 添加自定义文字 278
  • 9.4.3 美颜效果器 282
  • 9.4.4 动图贴纸效果器 284
  • 9.4.5 主题效果器 288
  • 9.5 本章小结 291
  • 第10章 专业的视频录制应用实践 292
  • 10.1 视频硬件解码器的使用 292
  • 10.1.1 初始化信息准备 292
  • 10.1.2 VideoToolbox解码H264 294
  • 10.1.3 MediaCodec解码H264 298
  • 10.2 音频效果器的集成 304
  • 10.2.1 Android音效处理系统的实现 305
  • 10.2.2 iOS音效处理系统的实现 308
  • 10.3 一套跨平台的视频效果器的设计与实现 309
  • 10.4 将特效处理库集成到视频录制项目中 315
  • 10.4.1 Android平台特效集成 316
  • 10.4.2 iOS平台特效集成 321
  • 10.5 本章小结 325
  • 第11章 直播应用的构建 327
  • 11.1 直播场景分析 327
  • 11.2 拉流播放器的构建 329
  • 11.2.1 Android平台播放器增加后处理过程 329
  • 11.2.2 iOS平台播放器增加后处理过程 332
  • 11.3 推流器的构建 335
  • 11.4 第三方云服务介绍 340
  • 11.5 礼物系统的实现 341
  • 11.5.1 Cocos2dX项目的运行原理 342
  • 11.5.2 关键API详解 344
  • 11.5.3 实现一款动画 348
  • 11.6 聊天系统的实现 350
  • 11.6.1 Android客户端的WebSocket实现 351
  • 11.6.2 iOS客户端的WebSocket实现 352
  • 11.7 本章小结 353
  • 第12章 直播应用中的关键处理 354
  • 12.1 直播应用的细节分析 354
  • 12.1.1 推流端细节分析 354
  • 12.1.2 拉流端细节分析 355
  • 12.2 推流端的关键处理 355
  • 12.2.1 自适应码率的实践 356
  • 12.2.2 统计数据保证后续的应对策略 361
  • 12.3 拉流端的关键处理 363
  • 12.3.1 重试机制的实践 364
  • 12.3.2 首屏时间的保证 366
  • 12.3.3 统计数据保证后续的应对策略 370
  • 12.4 本章小结 371
  • 第13章 工欲善其事,必先利其器 372
  • 13.1 Android平台工具详解 372
  • 13.1.1 ADB工具的熟练使用 372
  • 13.1.2 MAT工具检测Java端的内存泄漏 377
  • 13.1.3 NDK工具详解 387
  • 13.1.4 Native层的内存泄漏检测 389
  • 13.1.5 breakpad收集线上Crash 396
  • 13.2 iOS使用Instruments诊断应用 399
  • 13.2.1 Debug Navigator 399
  • 13.2.2 Time Profiler 400
  • 13.2.3 Allocations 402
  • 13.2.4 Leaks 403
  • 13.3 本章小结 405
  • 附录A 通过Ne10的交叉编译输入理解ndk-build 406
  • 附录B 编码器的使用细节 415
  • 附录C 视频的表示与编码 423

以上就是本次关于书籍资源的介绍和部分内容,我们还整理了以往更新的其它相关电子书资源内容,可以在下方直接下载,关于相关的资源我们在下方做了关联展示,需要的朋友们也可以参考下。

音视频开发相关资源

  • iOS应用开发

    iOS应用开发 电子书

    iOS 应用开发 作者:(美)Richard Warren 著 出版时间:2013 《iOS应用开发》主要介绍如何使用iOS提供的强大工具集创建iOS应用。全书对iOS操作系统做了全面的介绍,首先讲解如何构建应用程序的用户界面,涵盖从使用Storyboard连接视图控制器到绘制自定义视图的所有技能;接着介绍如何使用iCloud存储和Core Data管理应用程序的数据模型,并在多个设备上同步数据;最后介绍了一些更高级的主题,包括Core Animation、Core Motion、Core Locatio

    大小:104.01MBiOS开发

  • 自己动手做iOS App:从设计开发到上架App Store

    自己动手做iOS App:从设计开发到上架App Store 电子书

    《自己动手做iOS App:从设计开发到上架App Store》 为想要接触iOS 应用设计、开发的读者提供了由浅入深的详细指导。从iOS 应用制作的步骤是什么,应该使用什么软件,如何发布应用到App Store,

    大小:77.8 MBiOS开发

  • iOS 9开发指南

    iOS 9开发指南 电子书

    iOS 9开发指南 作者:管蕾 出版时间:2015 全书共39章,循序渐进地讲解了iOS 9应用开发的基本知识。本书从搭建开发环境讲起,依次讲解了Objective-C语言基础,Swift语言基础,Cocoa Touch,Xcode Interface Builder界面开发,使用Xcode编写MVC程序,文本框和文本视图,按钮和标签,滑块、步进和图像,开关控件和分段控件,Web视图控件、可滚动视图控件和翻页控件,提醒和操作表,工具栏、日期选择器,表视图,活动指示器、进度条和检索条,UIView,视图控制

    大小:301.18MBiOS开发

  • 《iOS 6应用开发实战》程序代码

    《iOS 6应用开发实战》程序代码

    本书有两大特点:第一,技术新颖,基于最新iOS 6技术撰写,系统讲解开发iPhone和iPad应用所需掌握的基础技术和高级技巧,以及其流程和方法;第二,易于阅读,从认知学角度进行内容规划,一个案例贯穿全书,不仅能从很大程度上降低学习的时间成本,降低阅读门槛,而且还能至始至终让读者在动手实践中保持学习的热情,坚持把这本书读完。 全书共22章,分为两个部分:基础篇(1~13章)分别介绍了开发iOS应用前应该做的准备工作、Xcode 4的基本使用

    大小:66.3 MBiOS开发

  • iOS应用开发从入门到精通

    iOS应用开发从入门到精通 电子书

    《iOS应用开发从入门到精通》 共30章,循序渐进地讲解了iOS系统开发的基本知识。本书从搭建开发环境讲起,依次讲解了下载并安装Xcode开发工具、Objective-C语言基础、基本控件、数据存储、多

    大小:138 MBiOS

  • iOS 核心开发手册(第5版)

    iOS 核心开发手册(第5版) 电子书

    iOS 核心开发手册 原书第五版 作者:(美)萨顿,(美)沃德韦尔 著,爱飞翔 译 出版时间:2015 本书介绍了如何利用iOS7进行程序开发的已经过检验的可信解决方案。作者将当前最优的实践运用到工作代码中,将核心的概念转换为读者方便理解和应用的具体方案,利用实例,充分展示了iOS开发中的“如何进行”和“为什么这么做”两个方面。 目录 译者序 前言 致谢 第1章手势与触摸 1.1触摸 1.1.1触摸操作所处的阶段 1.1.2UIResponder类中的触摸事件响应方法

    大小:68.33MBiOS开发

  • 《Swift iOS应用开发实战》案例

    《Swift iOS应用开发实战》案例

    如果你是一位有经验的Objective-C程序员,本书将会为你快速掌握Swift开发提供捷径;如果你已经掌握了Swift语言,本书能让你轻松获得工程级的项目开发经验!本书基于Swift语言,通过大量案例,详细讲解和演示了iOS中的各种功能和组件的用法,iOS开发中的各种技巧,以及完整的iOS应用开发方法,是专门为有经验的Objective-C程序员和只是掌握了Swift语言的新人量身打造的! 作者是资深的iOS程序员,深谙Objective-C和Swift两种技术,同时也经历了从Objective-C到S

    大小:4.3 MBSwift

下载地址

学习笔记

6小时8分钟前回答

微信小程序开发之IOS和Android兼容的问题

微信小程序开发之IOS和Android兼容的问题 一、时间转换问题: 这不只是小程序上面的问题是ios系统 都有这个问题 就是new Date("2017-06-16") 在IOS会出现NAN的情况所以对于时间转换需要另行封装,解决方案如下 1.替换”-“为”/“ 2.删除……