您好,欢迎来到聚文网。 登录 免费注册
WebRTC技术详解 从0到1构建多人视频会议系统

WebRTC技术详解 从0到1构建多人视频会议系统

  • 装帧: 平装
  • 出版社: 机械工业出版社
  • 作者: 栗伟
  • 出版日期: 2021-05-01
  • 商品条码: 9787111678441
  • 版次: 1
  • 开本: 16开
  • 页数: 320
  • 出版年份: 2021
定价:¥99 销售价:登录后查看价格  ¥{{selectedSku?.salePrice}} 
库存: {{selectedSku?.stock}} 库存充足
{{item.title}}:
{{its.name}}
精选
编辑推荐
(1)本书得到了来自阿里云、金山云等企业的多位音视频技术专家的高度评价。(2)作者在音视频领域有多年开发经验,对WebRTC有深入研究,利用WebRTC技术开发了直播、在线课堂、视频会议等商业产品,并发用户数达到500万。(3)技术维度,详细讲解了WebRTC规范和全部API、信令系统、底层技术、移动端和服务端实现,总结作者多年来的“踩坑”经验;(4)实战维度,提供了可直接应用于视频会议和在线教育等场景的真实案例,开源了一个可商用的视频会议系统WiLearning,(5)本书将手把手教读者如何从0到1搭建一个高并发、易扩展的视频会议系统和一个视频聊天APP。
内容简介
这是一本全面、详细讲解WebRTC技术以及如何使用它构建一个可商用的视频会议系统的著作。
在技术维度,本书不仅详细讲解了WebRTC规范和全部API、信令系统、底层技术、移动端、服务端实现,还总结了作者多年来的“踩坑”经验;在实战维度,本书不仅提供了可直接应用于视频会议和在线教育等场景的真实案例,还开源了一个可商用的视频会议系统WiLearning,教读者如何从0到1搭建一个高并发、易扩展的视频会议系统。
目录

前言
第1章WebRTC概述1
1.1WebRTC的历史1
1.2WebRTC的技术架构2
1.3WebRTC的网络拓扑3
1.4Simulcast联播4
1.5可伸缩视频编码5
1.6WebRTC的兼容性5
1.7其他直播技术6
1.8统一计划与Plan B8
1.9本章小结9
第2章本地媒体10
2.1媒体流10
2.1.1构造媒体流11
2.1.2MediaStream属性11
2.1.3MediaStream方法11
2.1.4MediaStream事件14
2.2媒体轨道15
2.2.1MediaStreamTrack属性15
2.2.2MediaStreamTrack方法17
2.2.3MediaStreamTrack事件20
2.3媒体约束22
2.3.1约束类型22
2.3.2数据类型与用法23
2.3.3通用约束25
2.3.4视频约束25
2.3.5音频约束25
2.3.6屏幕共享约束26
2.3.7图像约束26
2.3.8约束的advanced属性27
2.4媒体设备28
2.4.1WebRTC隐私和安全28
2.4.2获取摄像头与话筒29
2.4.3共享屏幕30
2.4.4查询媒体设备31
2.4.5监听媒体设备变化33
2.5从canvas获取媒体流34
2.6从媒体元素获取媒体流34
2.7播放媒体流35
2.8录制媒体流36
2.8.1构造MediaRecorder36
2.8.2MediaRecorder属性37
2.8.3MediaRecorder方法39
2.8.4MediaRecorder事件42
2.9示例45
2.9.1代码结构45
2.9.2获取图片像素数据46
2.9.3替换视频背景47
2.10本章小结48
第3章传输技术49
3.1RTP49
3.2RTCP52
3.3SRTP/SRTCP54
3.4TLS/DTLS55
3.5SDP55
3.6ICE57
3.7搭建STUN/TURN服务器63
3.8本章小结65
第4章连接管理66
4.1WebRTC建立连接的过程66
4.1.1会话描述信息RTCSession-Description69
4.1.2pending状态与current状态70
4.1.3ICE候选者RTCIceCandidate70
4.2RTCPeerConnection接口72
4.2.1构造函数RTCPeerConnection73
4.2.2连接配置RTCConfiguration74
4.2.3RTCPeerConnection接口的属性76
4.2.4RTCPeerConnection接口的方法82
4.2.5RTCPeerConnection接口的事件90
4.3完美协商模式94
4.3.1SDP冲突问题95
4.3.2使用完美协商模式95
4.3.3再谈ICE重启97
4.4示例98
4.4.1运行示例98
4.4.2使用WebSocket99
4.4.3创建RTCPeerConnection的时机100
4.5本章小结102
第5章RTP媒体管理103
5.1WebRTC编解码104
5.2RTCPeerConnection RTP扩展110
5.2.1RTCPeerConnection扩展方法111
5.2.2RTCPeerConnection扩展事件113
5.3传输媒体流114
5.3.1无流轨道115
5.3.2有流轨道115
5.4RTP收发管理116
5.4.1RTCRtpTransceiver属性117
5.4.2RTCRtpTransceiver方法118
5.5RTP发送器118
5.5.1RTCRtpSender属性119
5.5.2RTCRtpSender方法119
5.6RTP接收器123
5.6.1RTCRtpReceiver属性123
5.6.2RTCRtpReceiver方法123
5.7DTLS传输层126
5.7.1RTCDtlsTransport属性126
5.7.2RTCDtlsTransport方法127
5.7.3RTCDtlsTransport事件127
5.8ICE传输层128
5.8.1RTCIceTransport属性128
5.8.2RTCIceTransport方法130
5.8.3RTCIceTransport事件132
5.9使用DTMF134
5.9.1RTCDTMFSender属性134
5.9.2RTCDTMFSender方法135
5.9.3RTCDTMFSender事件135
5.10RTC错误处理136
5.11通话的挂起与恢复137
5.11.1通话挂起137
5.11.2通话恢复138
5.12示例139
5.12.1 动态设置视频码率140
5.12.2 使用VP9和H264141
5.12.3使用虚拟背景144
5.13本章小结145
第6章信令服务器146
6.1使用Node.js147
6.2使用TypeScript156
6.3使用Express164
6.4使用Socket.IO173
6.5实现信令服务器179
6.6实现信令客户端186
6.7示例189
6.8本章小结191
第7章数据通道192
7.1SCTP192
7.2RTCPeerConnection数据通道扩展接口196
7.3RTCSctpTransport199
7.4RTCDataChannel200
7.5带内协商与带外协商206
7.6文字聊天与文件传输206
7.7本章小结216
第8章统计数据217
8.1统计数据入口217
8.2RTCStats及其扩展219
8.3实时码率监测241
8.3.1使用Chart.js242
8.3.2获取码率数据244
8.4本章小结247
第9章移动端WebRTC248
9.1原生应用与混合应用248
9.2原生开发环境249
9.2.1Android原生开发环境249
9.2.2iOS原生开发环境250
9.3WebView251
9.4Cordova252
9.4.1编译环境253
9.4.2全局配置config.xml254
9.4.3应用程序行为preference258
9.4.4应用程序图标icon261
9.4.5简单的WebRTC移动应用264
9.4.6调试Cordova应用267
9.5Ionic Framework268
9.5.1安装与使用269
9.5.2开发工具269
9.6基于Ionic的WebRTC移动应用270
9.6.1使用模板创建应用程序271
9.6.2首页组件272
9.6.3连接管理服务275
9.6.4视频与聊天组件281
9.6.5构建Android应用程序283
9.6.6构建iOS应用程序285
9.7本章小结286
第10章从0到1打造多人视频会议系统287
10.1整体设计287
10.2媒体服务器289
10.2.1OWT289
10.2.2Kurento289
10.2.3Janus290
10.2.4Mediasoup291
10.2.5媒体服务器的选择291
10.3Mediasoup信令交互过程293
10.4服务器端实现294
10.4.1房间与参与者295
10.4.2管理与监控接口296
10.5客户端实现298
10.5.1发布媒体流298
10.5.2订阅媒体流301
10.5.3共享桌面303
10.5.4共享本地媒体303
10.5.5文档及白板304
10.5.6文字聊天307
10.6传输质量监控308
10.7从网络故障中恢复309
10.8本章小结310

蜀ICP备2024047804号

Copyright 版权所有 © jvwen.com 聚文网