封面
版权页
序
前言
第1章 WebRTC概述
1.1 WebRTC的历史
1.2 WebRTC的技术架构
1.3 WebRTC的网络拓扑
1.4 Simulcast联播
1.5 可伸缩视频编码
1.6 WebRTC的兼容性
1.7 其他直播技术
1.8 统一计划与Plan B
1.9 本章小结
第2章 本地媒体
2.1 媒体流
2.1.1 构造媒体流
2.1.2 MediaStream属性
2.1.3 MediaStream方法
2.1.4 MediaStream事件
2.2 媒体轨道
2.2.1 MediaStreamTrack属性
2.2.2 MediaStreamTrack方法
2.2.3 MediaStreamTrack事件
2.3 媒体约束
2.3.1 约束类型
2.3.2 数据类型与用法
2.3.3 通用约束
2.3.4 视频约束
2.3.5 音频约束
2.3.6 屏幕共享约束
2.3.7 图像约束
2.3.8 约束的advanced属性
2.4 媒体设备
2.4.1 WebRTC隐私和安全
2.4.2 获取摄像头与话筒
2.4.3 共享屏幕
2.4.4 查询媒体设备
2.4.5 监听媒体设备变化
2.5 从canvas获取媒体流
2.6 从媒体元素获取媒体流
2.7 播放媒体流
2.8 录制媒体流
2.8.1 构造MediaRecorder
2.8.2 MediaRecorder属性
2.8.3 MediaRecorder方法
2.8.4 MediaRecorder事件
2.9 示例
2.9.1 代码结构
2.9.2 获取图片像素数据
2.9.3 替换视频背景
2.10 本章小结
第3章 传输技术
3.1 RTP
3.2 RTCP
3.3 SRTP/SRTCP
3.4 TLS/DTLS
3.5 SDP
3.6 ICE
3.7 搭建STUN/TURN服务器
3.8 本章小结
第4章 连接管理
4.1 WebRTC建立连接的过程
4.1.1 会话描述信息RTCSessionDescription
4.1.2 pending状态与current状态
4.1.3 ICE候选者RTCIceCandidate
4.2 RTCPeerConnection接口
4.2.1 构造函数RTCPeerConnection
4.2.2 连接配置RTCConfiguration
4.2.3 RTCPeerConnection接口的属性
4.2.4 RTCPeerConnection接口的方法
4.2.5 RTCPeerConnection接口的事件
4.3 完美协商模式
4.3.1 SDP冲突问题
4.3.2 使用完美协商模式
4.3.3 再谈ICE重启
4.4 示例
4.4.1 运行示例
4.4.2 使用WebSocket
4.4.3 创建RTCPeerConnection的时机
4.5 本章小结
第5章 RTP媒体管理
5.1 WebRTC编解码
5.2 RTCPeerConnection RTP扩展
5.2.1 RTCPeerConnection扩展方法
5.2.2 RTCPeerConnection扩展事件
5.3 传输媒体流
5.3.1 无流轨道
5.3.2 有流轨道
5.4 RTP收发管理
5.4.1 RTCRtpTransceiver属性
5.4.2 RTCRtpTransceiver方法
5.5 RTP发送器
5.5.1 RTCRtpSender属性
5.5.2 RTCRtpSender方法
5.6 RTP接收器
5.6.1 RTCRtpReceiver属性
5.6.2 RTCRtpReceiver方法
5.7 DTLS传输层
5.7.1 RTCDtlsTransport属性
5.7.2 RTCDtlsTransport方法
5.7.3 RTCDtlsTransport事件
5.8 ICE传输层
5.8.1 RTCIceTransport属性
5.8.2 RTCIceTransport方法
5.8.3 RTCIceTransport事件
5.9 使用DTMF
5.9.1 RTCDTMFSender属性
5.9.2 RTCDTMFSender方法
5.9.3 RTCDTMFSender事件
5.10 RTC错误处理
5.11 通话的挂起与恢复
5.11.1 通话挂起
5.11.2 通话恢复
5.12 示例
5.12.1 动态设置视频码率
5.12.2 使用VP9和H264
5.12.3 使用虚拟背景
5.13 本章小结
第6章 信令服务器
6.1 使用Node.js
6.2 使用TypeScript
6.3 使用Express
6.4 使用Socket.IO
6.5 实现信令服务器
6.6 实现信令客户端
6.7 示例
6.8 本章小结
第7章 数据通道
7.1 SCTP
7.2 RTCPeerConnection数据通道扩展接口
7.3 RTCSctpTransport
7.4 RTCDataChannel
7.5 带内协商与带外协商
7.6 文字聊天与文件传输
7.7 本章小结
第8章 统计数据
8.1 统计数据入口
8.2 RTCStats及其扩展
8.3 实时码率监测
8.3.1 使用Chart.js
8.3.2 获取码率数据
8.4 本章小结
第9章 移动端WebRTC
9.1 原生应用与混合应用
9.2 原生开发环境
9.2.1 Android原生开发环境
9.2.2 iOS原生开发环境
9.3 WebView
9.4 Cordova
9.4.1 编译环境
9.4.2 全局配置config.xml
9.4.3 应用程序行为preference
9.4.4 应用程序图标icon
9.4.5 简单的WebRTC移动应用
9.4.6 调试Cordova应用
9.5 Ionic Framework
9.5.1 安装与使用
9.5.2 开发工具
9.6 基于Ionic的WebRTC移动应用
9.6.1 使用模板创建应用程序
9.6.2 首页组件
9.6.3 连接管理服务
9.6.4 视频与聊天组件
9.6.5 构建Android应用程序
9.6.6 构建iOS应用程序
9.7 本章小结
第10章 从0到1打造多人视频会议系统
10.1 整体设计
10.2 媒体服务器
10.2.1 OWT
10.2.2 Kurento
10.2.3 Janus
10.2.4 Mediasoup
10.2.5 媒体服务器的选择
10.3 Mediasoup信令交互过程
10.4 服务器端实现
10.4.1 房间与参与者
10.4.2 管理与监控接口
10.5 客户端实现
10.5.1 发布媒体流
10.5.2 订阅媒体流
10.5.3 共享桌面
10.5.4 共享本地媒体
10.5.5 文档及白板
10.5.6 文字聊天
10.6 传输质量监控
10.7 从网络故障中恢复
10.8 本章小结
更新时间:2021-04-20 11:42:09