WebRTC Native 开发实战

WebRTC Native 开发实战

作者:许建林

出版社:清华大学

出版年:2020年8月

ISBN:9787302558132

所属分类:诗歌文集

书刊介绍

《WebRTC Native 开发实战》内容简介

本书是WebRTC方面的专著,WebRTC是一项实时通信领域革命性的技术,在实时音视频通信领域已经产生了深远的影响。本书涵盖了Native端WebRTC SDK基本场景的使用、基本场景下完整流程的源码导读,还介绍了一些高级的功能和场景,比如多人通话、屏幕共享、H.265、美颜、伴奏、本地录制等,最后还对Server端展开了一些讨论。本书通过细致的代码分析和源码导读,来讲解WebRTC Native的具体实战,分析WebRTC内部主要的数据流程,力图使读者能够通过实际操作快速入门和理解WebRTC Native的开发技巧。
本书主要面向的是所有希望从事WebRTC Native开发的IT从业人员,且要求读者具备一定的Java/Objective-C/C++语言基础。
许建林,网名Piasy,毕业于清华大学计算机系,毕业后创业,参与从零到一打造社交直播APP YOLO的全过程。目前就职于PowerInfo(北京世纪鼎点软件有限公司),从事高稳定低延时音视频实时传输技术的研发工作,对实时音视频领域有着深入的研究。开源爱好者,GitHub近两千关注者,开源了数个上千标星的项目。技术分享者,曾在北京GDG Meetup、DroidCon Beijing进行技术分享,是WebRTC Native源码导读系列博客作者。

作品目录

内容简介
作者简介
本书特色
前言
第1章:开发环境搭建
1.1、WebRTC简介
1.2、iOS/macOS编译环境
1.3、Android/Linux编译环境
1.4、Windows编译环境
1.5、更新WebRTC编译环境
1.6、macOS上的Android编译环境
第2章:运行官方Demo
2.1、官方Demo简介
2.2、部署AppRTC
Server
2.3、运行iOS
AppRTCMobile
2.4、运行macOS
AppRTCMobile
2.5、运行Android
AppRTCMobile
2.6、iOS/macOS/Android
AppRTCMobile互通测试
2.7、Android
C++代码单步调试
2.8、部署PeerConnection
Server
2.9、运行Windows
PeerConnection
Client
2.10、运行Linux
PeerConnection
Client
第3章:基本流程分析
3.1、拓扑结构
3.2、通话过程
3.3、核心API和Demo代码位置
3.4、SDP初探
第4章:编译工具介绍
4.1、Ninja
4.2、GN
4.3、系统宏定义
4.4、添加源码目录和预编译依赖库
第5章:SDP详解
5.1、Plan
B
v.s.
Unified
Plan
5.2、Transceiver
5.3、SDP详解
5.4、操纵SDP
第6章:线程模型
6.1、三大线程的使用
6.2、三大线程的创建
第7章:视频数据流程
7.1、视频数据流程概览
7.2、视频采集
7.3、视频渲染
7.4、视频编解码
7.5、视频数据流程调用栈
第8章:音频数据流程
8.1、音频数据流程概览
8.2、音频采集和播放
8.3、音频设备模块ADM
8.4、音频编解码模块ACM
8.5、音频数据流程调用栈
第9章:DataChannel
9.1、概览
9.2、iOS
DataChannel
9.3、Android
DataChannel
9.4、RTCQuicTransport
第10章:纯音/视频
10.1、概览
10.2、AudioTrack的禁用与启用
10.3、VideoTrack的禁用与启用
10.4、HijackCapturerObserver
10.5、track状态的通知
10.6、录制相关
第11章:多人通话
11.1、概览
11.2、客户端代码实现
第12章:日志和状态统计
12.1、概览
12.2、iOS集成Mars
XLog
12.3、Android集成Mars
XLog
12.4、RTCStatsReport
第13章:屏幕共享
13.1、概览
13.2、iOS屏幕共享
13.3、Android屏幕共享
第14章:H.265支持
14.1、概览
14.2、SDP
14.3、编解码
14.4、RTP封包解包
第15章:美颜
15.1、Android美颜处理器
15.2、iOS美颜处理器
第16章:伴奏
16.1、概览
16.2、解码音频数据
16.3、播放非接收的音频数据
16.4、伴奏混音发送
16.5、其他控制和调节功能
第17章:本地录制
17.1、概览
17.2、添加接口
17.3、获取数据
17.4、FFmpeg调用
17.5、视频关键帧
17.6、视频方向
17.7、纯音/视频录制
第18章:项目外使用WebRTC
18.1、概览
18.2、摘取源码
18.3、使用整体静态库
18.4、使用子模块静态库
第19章:信令
19.1、AppRTC
Server信令协议
19.2、OWT
Server信令协议
19.3、P2P网状结构信令协议
第20章:NAT穿透
20.1、NAT穿透原理
20.2、coturn的基本使用
第21章:OWT
Server
SFU数据流程
21.1、进程结构和JavaScript代码处理流程
21.2、C++代码处理流程
第22章:OWT
Server
MCU数据流程
22.1、JavaScript代码处理流程
22.2、C++代码处理流程
后记

相关推荐

微信二维码