搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
出版时间 :
WebRTC音视频实时互动技术:原理、实战与源码分析
0.00     定价 ¥ 89.00
泸西县图书馆
此书还可采购1本,持证读者免费借回家
  • ISBN:
    9787111685012
  • 作      者:
    李超
  • 出 版 社 :
    机械工业出版社
  • 出版日期:
    2021-07-01
收藏
荐购
编辑推荐


★本书是一本WebRTC从入门到进阶的书籍,不仅对WebRTC的网络传输做了细致、大量的分析,而且还向你详细介绍了如何通过WebRTC实现Web端与Android和iOS端的互联互通;最后还对WebRTC的源码进行了剖析,使你不但可以知道如何使用WebRTC实现音视频通信,还能让你了解其中的原理,并知道WebRTC具体是如何做的。

 

★内容详实、深入浅出、案例丰富,是音视频应用开发工程师必备的参考资料,也可供相关专业的在校学生和入门者学习参考。 得到业内多个行业专家联袂推荐。 

 

★关注“华章计算机”,回复“68501”获取本书配套代码地址及后续例程的更新、通过RTC开发者社区本书专栏地址与作者互动交流。


展开
作者简介

★李超
北京音视跳动科技有限公司首席架构师,曾先后担任沪江网高级架构师、新东方音视频技术专家等,拥有十余年的音视频实时互动直播研发经验及多年团队管理经验,参与设计了多个高负载、高并发服务器架构。曾在全时云会议担任Tang平台研发经理,带领团队研发自主知识产权的全时音视频会议平台——该平台可以同时并发10000场会议,每场可以支持超过1000人的实时互动。


展开
内容介绍

★本书深入浅出地对WebRTC技术进行了系统讲解,既有原理又有实战,从WebRTC是如何实现实时音视频通信的,到如何应用WebRTC库实现音视频通信,再到WebRTC源码的剖析,逐步展开讲解。此外,对WebRTC的传输系统进行了重点分析,相信读者通过本书可以一窥WebRTC传输的奥秘。


第1~3章介绍音视频实时通信的由来,WebRTC做了什么,以及它要解决什么问题;

第4~10章是实战部分,介绍如何使用WebRTC库实现音视频通信,并对其实现原理进行讲解;

第11~13章对WebRTC源码进行分析,让读者对WebRTC有更深层次的认知。

想了解WebRTC实现的专业开发人员可以通过本书了解WebRTC运转机理;

学生、老师和音视频爱好者可以通过本书了解WebRTC可以做什么,如何通过WebRTC实现音视频的实时通信。

 


展开
精彩书评

★1998年WebEx推出网络会议服务以来,音视频多点实时互动技术所支持的多人聊天、办公协同、在线教育、游戏直播等应用越来越被大众认可甚至依赖,前景非常广阔。李超的这本书通过讲解WebRTC的架构和源码,深入浅出、清晰全面地介绍了这个领域的前沿技术,让具有一定编程能力的人可以快速上手做出产品,是这方面非常难得的工具书。

 ——严石  WebEx创业员工之一, 原全时云平台VP 

 

★李超是流媒体应用领域资深专家,他要出书,是件好事。一方面他多年来在媒体领域的实践和探索经验得以传播,惠及他人;另一方面,也能为业界技术和应用的推广提供助力。这本书值得希望钻研WebRTC的读者拥有。

——包研  LiveVideoStack 创始人  

 

★李超老师的这本书内容十分实用,原理清晰,实战性强,能够让初学者跟着节奏一步一步地轻松实现一套WebRTC实时互动系统,是一本值得多次阅读的好书。 

 ——刘歧 《FFmpeg从入门到精通》作者,FFmpeg官方代码维护者 

 

★这本书结合作者的实际经验,从音视频通信的历史讲起,深入浅出地讲解了WebRTC通信的原理、特点及应用场景,更从源代码角度深入剖析了WebRTC通信的关键要素和细节,内容全面又不失深度,适合各水平的音视频从业人员阅读。

——杜金房 《FreeSWITCH权威指南》作者  

 

★实时互动RTC技术无疑是“全真互联网”时代的金钥匙,而WebRTC作为实时音视频技术领域广泛应用的标准,有着无数的拥趸。作为多年前的老同事,我非常高兴超哥能把这么多年在RTC方面的经验加以总结,将WebRTC的相关概念、架构、疑难解析、示例等结合起来,形成一本非常好看又实用的技术书籍。这本书既能帮助初学者熟悉RTC相关技术,掌握实时音视频领域的专业概念和最佳实践,也能助力在RTC领域耕耘多年的从业者进一步拓展技术领域,改进自己的系统,并进行不同场景的探索。希望大家阅读后有更多收获。

 ——董海兵 Agora声网教育行业架构师


展开
目录

●第1章 音视频直播的前世今生1

1.1音视频的历史1

1.2移动互联网3

1.3音视频直播的两条技术路线3

1.4音视频直播的现状5

1.5音视频直播的未来6

1.6小结7

 

●第2章 为什么要使用WebRTC8

2.1自研直播客户端架构8

2.1.1拆分音视频模块9

2.1.2跨平台10

2.1.3插件化管理11

2.1.4其他13

2.2WebRTC客户端架构14

2.3小结16

 

●第3章 音视频实时通信的本质17

3.1两种指标18

3.1.1实时通信延迟指标18

3.1.2音视频服务质量指标19

3.2实时通信的主要矛盾20

3.2.1增加带宽20

3.2.2减少数据量22

3.2.3适当增加时延24

3.2.4提高网络质量24

3.2.5快速准确地评估带宽25

3.3小结25

 

●第4章 构建WebRTC一对一信令服务器27

4.1WebRTC一对一架构27

4.2细化架构28

4.3信令29

4.3.1信令定义29

4.3.2信令时序30

4.3.3信令传输协议的选择31

4.4构建信令服务器31

4.4.1信令服务器的实现方案32

4.4.2信令服务器的业务逻辑32

4.4.3信令服务器的实现33

4.4.4信令服务器的安装与部署35

4.4.5信令服务器的完整代码37

4.5小结40

 

●第5章 WebRTC实现一对一通信41

5.1浏览器对WebRTC的支持41

5.2遍历音视频设备42

5.3采集音视频数据44

5.4MediaStream与MediaStreamTrack47

5.5本地视频预览47

5.6信令状态机49

5.7RTCPeerConnection52

5.7.1创建RTCPeerConnection对象52

5.7.2RTCPeerConnection与本地音视频数据绑定53

5.7.3媒体协商54

5.7.4ICE55

5.7.5SDP与Candidate消息的交换57

5.7.6远端音视频渲染58

5.7.7客户端完整例子59

5.8小结82

 

●第6章 WebRTC中的ICE实现83

6.1Candidate种类与优先级83

6.2ICE策略85

6.3P2P连接87

6.3.1完全锥型NAT89

6.3.2IP限制锥型NAT90

6.3.3端口限制锥型NAT91

6.3.4对称型NAT92

6.3.5NAT类型检测93

6.3.6如何进行NAT穿越97

6.4网络中继101

6.4.1TURN协议中转数据101

6.4.2WebRTC使用TURN协议102

6.4.3STUN/TURN服务器的安装与部署103

6.5小结105

 

●第7章 WebRTC中的SDP106

7.1SDP标准规范106

7.2WebRTC中SDP的整体结构108

7.3媒体信息110

7.3.1音频媒体信息111

7.3.2视频媒体信息112

7.3.3SSRC与CNAME114

7.4PlanB与UnifiedPlan115

7.5WebRTC如何保证数据安全117

7.6RTP扩展头119

7.7服务质量120

7.8SDP详解122

7.9ORTC131

7.10小结131

 

●第8章 各端的互联互通132

8.1WebRTCNative的核心132

8.2Android端的实现134

8.2.1申请权限134

8.2.2引入WebRTC库136

8.2.3构造PeerConnection-Factory138

8.2.4创建音视频源138

8.2.5视频采集139

8.2.6视频渲染142

8.2.7创建PeerConnection144

8.2.8建立信令系统146

8.3iOS端的实现146

8.3.1申请权限146

8.3.2引入WebRTC库147

8.3.3构造RTCPeerConnection-Factory148

8.3.4创建音视频源149

8.3.5视频采集150

8.3.6本地视频预览151

8.3.7建立信令系统153

8.3.8创建RTCPeer-Connection155

8.3.9远端视频渲染158

8.4PC端与Mac端的实现159

8.5小结159

 

●第9章 网络传输协议RTP与RTCP160

9.1如何选择UDP与TCP160

9.2RTP162

9.2.1RTP协议头163

9.2.2RTP的使用165

9.2.3RTP扩展头167

9.2.4RTP中的填充数据170

9.3RTCP171

9.3.1RTCP报文分类171

9.3.2RTCP协议头172

9.3.3WebRTC的反馈报文173

9.4小结174

 

●第10章 WebRTC拥塞控制175

10.1WebRTC的拥塞控制算法175

10.1.1Goog-REMB176

10.1.2Transport-CC181

10.1.3基于丢包的拥塞评估算法原理184

10.1.4WebRTC拥塞控制流程184

10.2拥塞控制算法比较185

10.2.1拥塞控制的准确性186

10.2.2与TCP连接并存时的公平性187

10.2.3同种类型连接的公平性188

10.2.4拥塞控制算法在丢包情况下的表现189

10.3小结191

 

●第11章 WebRTC源码分析入门192

11.1WebRTC源码的选择193

11.2WebRTC开发环境的搭建193

11.2.1配置软硬件环境194

11.2.2安装依赖工具包195

11.2.3获取并编译WebRTC代码195

11.3国内WebRTC镜像196

11.4WebRTC目录结构197

11.4.1WebRTC主目录197

11.4.2modules目录198

11.5小结200

 

●第12章 分析WebRTC源码的必经之路201

12.1信令服务器实现分析201

12.1.1信令服务器的组成202

12.1.2信令服务器的工作流程203

12.2PeerConnection客户端分析206

12.2.1运行peerconnection_client206

12.2.2peerconnection_client的组成207

12.2.3界面的展示213

12.2.4视频的渲染218

12.2.5WebRTC的使用220

12.2.6信令的处理225

12.3小结229

 

●第13章 WebRTC源码分析231

13.1WebRTC的数据流231

13.2WebRTC线程模型234

13.2.1WebRTC线程的创建与使用234

13.2.2线程切换236

13.3网络传输250

13.3.1网络接收与分发模块类关系图250

13.3.2网络连接的建立251

13.4音视频数据采集256

13.4.1音频采集与播放256

13.4.2视频采集与渲染258

13.5音视频编解码261

13.5.1音频编码261

13.5.2音频解码265

13.5.3视频编码267

13.5.4视频解码270

13.6小结272


展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

温馨提示:请使用泸西县图书馆的读者帐号和密码进行登录

点击获取验证码
登录