序言
前言
第1章 - 音视频直播的前世今生
1.1 音视频的历史
1.2 移动互联网
1.3 音视频直播的两条技术路线
1.4 音视频直播的现状
1.5 音视频直播的未来
1.6 小结
第2章 - 为什么要使用webrtc
2.1 自研直播客户端架构
2.1.1 拆分音视频模块
2.1.2 跨平台
2.1.3 插件化管理
2.1.4 其他
2.2 webrtc客户端架构
2.3 小结
第3章 - 音视频实时通信的本质
3.1 两种指标
3.1.1 实时通信延迟指标
3.1.2 音视频服务质量指标
3.2 实时通信的主要矛盾
3.2.1 增加带宽
3.2.2 减少数据量
3.2.3 适当增加时延
3.2.4 提高网络质量
3.2.5 快速准确地评估带宽
3.3 小结
第4章 - 构建webrtc一对一信令服务器
4.1 webrtc一对一架构
4.2 细化结构
4.3 信令
4.3.1 信令定义
4.3.2 信令时序
4.3.3 信令传输协议的选择
4.4 构建信令服务器
4.4.1 信令服务器的实现方案
4.4.2 信令服务器的业务逻辑
4.4.3 信令服务器的实现
4.4.4 信令服务器的安装与部署
4.4.5 信令服务器的完整代码
4.5 小结
第5章 webrtc实现一对一通信
5.1 浏览器对webrtc的支持
5.2 遍历音视频设备
5.3 采集音视频数据
5.4 mediastream与mediastream-track
5.5 本地视频预览
5.6 信令状态机
5.7 RTCPeerConnection
5.7.1 创建RTCPeerConnection对象
5.7.2 RTCPeerConnection与本地音视频数据绑定
5.7.3 媒体协商
5.7.4 ICE
5.7.5 SDP与Candidate消息的交换
5.7.6 远端音视频渲染
5.7.7 客户端完整例子
5.8 小结
第6章 webrtc中的ICE实现
6.1 candidate种类与优先级
6.2 ICE策略
6.3 P2P连接
6.3.1 完全锥型NAT
6.3.2 IP限制锥型NAT
6.3.3 端口限制锥型NAT
6.3.4 对称型NAT
6.3.5 NAT类型检测
6.3.6 如何进行NAT穿越
6.4 网络中继
6.4.1 TURN协议中转数据
6.4.2 webrtc使用TURN协议
6.4.3 STUN/TURN服务器的安装与部署
6.5 小结
第7章 - webrtc中的SDP
7.1 SDP标准规范
7.2 webrtc中SDP的整体结构
7.3 媒体信息
7.3.1 音频媒体信息
7.3.2 视频媒体信息
7.3.3 SSRC与CNAME
7.4 PlanB与UnifiedPlan
7.5 webrtc如何保证数据安全
7.6 RTP扩展头
7.7 服务质量
7.8 SDP详解
7.9 ORTC
7.10 小结
第8章 各端的互联互通
8.1 webrtc native的核心
8.2 android端的实现
8.2.1 申请权限
8.2.2 引入webrtc库
8.2.3 构造peerconnection-factory
8.2.4 创建音视频源
8.2.5 视频采集
8.2.6 视频渲染
8.2.7 创建peerconnection
8.2.8 建立信令系统
8.3 IOS端的实现
8.3.1 申请权限
8.3.2 引入webrtc库
8.3.3 构造RTCPeerConnection-Factory
8.3.4 创建音视频源
8.3.5 视频采集
8.3.6 本地视频预览
8.3.7 建立信令系统
8.3.8 创建RTCPeerConnection
8.3.9 远端视频渲染
8.4 PC端与Mac端的实现
8.5 小结
第9章 网络传输协议RTP与RTCP
9.1 如何选择UDP与TCP
9.2 RTP
9.2.1 RTP协议头
9.2.2 RTP的使用
9.2.3 RTP扩展头
9.2.4 RTP中的填充数据
9.3 RTCP
9.3.1 RTCP报文分类
9.3.2 RTCP协议头
9.3.3 webrtc的反馈报文
9.4 小结
第10章 - webrtc拥塞控制
10.1 webrtc的拥塞控制算法
10.1.1 goog-remb
10.1.2 transport-cc
10.1.3 基于丢包的拥塞评估算法原理
10.1.4 webrtc拥塞控制流程
10.2 拥塞控制算法比较
10.2.1 拥塞控制的准确性
10.2.2 与TCP连接并存时的公平性
10.2.3 同种类型连接的公平性
10.2.4 拥塞控制算法在丢包情况下的表现
10.3 小结
第11章 - webrtc源码分析入门
11.1 webrtc源码的选择
11.2 webrtc开发环境的搭建
11.2.1 配置软硬件环境
11.2.2 安装依赖工具包
11.2.3 获取并编译webrtc代码
11.3 国内webrtc镜像
11.4 webrtc目录结构
11.4.1 webrtc主目录
11.4.2 modules目录
11.5 小结
第12章 分析webrtc源码的必经之路
12.1 信令服务器实现分析
12.1.1 信令服务器的组成
12.1.2 信令服务器的工作流程
12.2 PeerConnection客户端分析
12.2.1 运行peerconnection_client
12.2.2 peerconnection_client的组成
12.2.3 界面的展示
12.2.4 视频的渲染
12.2.5 webrtc的使用
12.2.6 信令的处理
12.3 小结
第13章 webrtc源码分析
13.1 webrtc的数据流
13.2 webrtc线程模型
13.2.1 webrtc线程的创建与使用
13.2.2 线程切换
13.3 网络传输
13.3.1 网络接收与分发模块类关系图
13.3.2 网络连接的建立
13.4 音视频数据采集
13.4.1 音频采集与播放
13.4.2 视频采集与渲染
13.5 音视频编解码
13.5.1 音频编码
13.5.2 音频解码
13.5.3 视频编码
13.5.4 视频解码
13.6 小结
相关文章
- 01-265G时代必备 音视频WebRTC实时互动直播技术入门与实战
- 01-26webrtc音视频开发,这么香的技术还不快点学起来,大牛最佳总结
- 01-26webrtc音视频实时互动技术
- 01-265G时代必备 音视频WebRTC实时互动直播技术入门与实战
- 01-26HLS与WebRTC,哪种技术能带来最佳的实时视频流体验?
- 01-26视频会议云服务EasyRTC基于WebRTC 技术实现实时音视频通话会议系统与实践应用
- 01-26Android音视频开发之-WebRTC技术实践
- 01-26“音视频技术WebRTC初探”公开课资料下载
- 01-26实时视频直播客户端技术盘点:Native、HTML5、WebRTC、微信小程序
- 01-26Android IOS WebRTC 音视频开发总结(七六)-- 探讨直播低延迟低流量的粉丝连麦技术