丹·里斯蒂克著的《Learning WebRTC中文版》从教你如伺在网页中使用Media Capture和Streams API来展现音频和视频流开始。你将创建一个可用的WebRTC应用,用来进行语音和视频通话。本书还会带给你一些深入的知识,关于信令和使用Node.js来创建一个信令服务器。当介绍到RTCDataChannel2寸象时,你将学习到它和WebRTC的关系,以及如何在你的应用中添加基于文本的聊天室。另外,通过一些不同的技术,你还将进一步学习到如何让应用支持多用户,以及如何提升应用的性能和安全性。本书还涉及一些使用全网状网络、局部网状网络及多点控制单元的理论知识。本书的最后,你将会对实时通信、WebRTC协议及它的API有一个全方位的了解。
WebRTC是一个支持网络浏览器进行实时语音对话或视频对话的软件架构。
丹·里斯蒂克著的《Learning WebRTC中文版》使用形象的案例介绍,逐步深入地阐述了WebRTC的幕后工作原理。通过阅读本书,读者可以快速、有效地掌握创建一个WebRTC应用所必需的知识,包括获取用户设备信息、创建WebRTC应用的客户端和服务器、连接用户并发送数据、文件共享、数据信息安全和性能优化。
本书适合有一定HTML和JavaScript经验,希望了解WebRTC并想学习实时通信工作原理的开发者参考阅读。
前言
1 开启 WebRTC 之旅
音视频通信领域的发展现状
在 web 平台传输音频和视频
捕捉摄像头和麦克风
音频及视频的编解码
传输层
会话(Session)管理
创建 web 标准
浏览器支持
Chrome、Firefox 和 Opera 的兼容性
安卓操作系统的兼容性
苹果操作系统兼容性
IE 的兼容性
在浏览器中使用 WebRTC
支持 WebRTC 的应用
自测题
小结
2 获取用户媒体
访问媒体设备
配置静态服务器
创建我们的**媒体流页面
Learing WebRTC 中文版
【VIII】
限制媒体流
限制视频捕捉
多设备处理
创建一个拍照室应用
修改媒体流
自测题
小结
3 创建简单的 WebRTC 应用
理解 UDP 传输协议和实时传输
WebRTC API
RTCPeerConnection 对象
信号传递和交涉
会话描述协议(SDP)
找到一条清晰的路线到其他用户
创建一个基本的 WebRTC 应用
创建一个 RTCPeerConnection
建立 SDP OFFER 和返回
寻找 ICE 候选路径
加入流和打磨
运行你的**个 WebRTC 应用
自测题
小结
4 创建信令服务器
构建信令服务器
搭建开发环境
获得一个连接
测试我们的服务器
识别用户
发起通话
呼叫应答
处理 ICE 候选路径
呼叫挂断
完成信令服务器
在实际应用中发送信令
WebSockets 的困境
连接其他服务
自测题
小结
5 把客户端连接到一起
客户端应用
创建页面
获取一个连接
登录到应用程序
开始一个对等连接
发起通话
检测通信
挂断电话
一个完整的 WebRTC 客户端
改进应用程序
自测题
小结
6 使用 WebRTC 发送数据
流控制传输协议和数据传输
RTCDataChannel 对象
数据通道选项
发送数据
加密与安全
添加文字聊天
用例
自测题
小结
7 文件共享
使用文件 API 拾取文件
准备我们的页面
获取对文件的引用
文件分块
使文件分块可读
文件读取与发送
在“另一端”组合文件块
向用户展示进度
自测题
小结
8 高安全性与大规模优化
保护信令服务器
使用编码
使用 OAuth 提供器
支持移动设备
网格网络简介
网格类型
网格网络的缺陷
更多用户的视频会议
视频会议的未来
自测题
小结
附录 自测题答案