您好,欢迎来到聚文网。 登录 免费注册
WebRTC音视频实时互动技术 原理、实战与源码分析

WebRTC音视频实时互动技术 原理、实战与源码分析

  • 装帧: 平装
  • 出版社: 机械工业出版社
  • 出版日期: 2021-07-01
  • 商品条码: 9787111685012
  • 版次: 1
  • 开本: 16开
  • 页数: 288
  • 出版年份: 2021
定价:¥89 销售价:登录后查看价格  ¥{{selectedSku?.salePrice}} 
库存: {{selectedSku?.stock}} 库存充足
{{item.title}}:
{{its.name}}
精选
编辑推荐
1.本书内容详实、深入浅出、案例丰富,是音视频应用开发工程师推荐的参考资料,也可供相关专业的在校学生和入门者学习参考。2.业内多个行业专家联袂推荐。3.读者可以在www.avdancedu.com下载本书配套代码及后续例程的更新,还可以通过 https://www.webrtc.org.cn/ 论坛与作者互动交流。
内容简介
本书分成四大部分:?第1部分为基础篇,主要介绍WebRTC是干什么的,大体结构是怎样的。我们该如何下载源码,如何对源码进行编译以及WebRTC的目录结构是如何安排的,每个目录的主要作用是什么。实际上,目前90%的同学还不清楚WebRTC的源码该如何下载,源码下载后该如何编译。之所以会有这个问题是因为WebRTC的代码量过于庞大,必须要命名用它自己的工具进行下载。而困难点在于国内不能直接访问WebRTC的源码地址,这就给很多学习者带来了特别大的困难。另一方面,WebRTC的编译工具也是自己写的,不是我们通常使用的编译工具。因此,对于一个新手来说,可以几周甚至几个月都搞不定这件事儿。?第2部分为应用该,在这部分核心的目的是要向读者讲明白如何通过WebRTC实现1对1的通信。要实现一个1:1的实时通信系统,必然要涉及到很多知识。如SDP协议,媒体协商过程,NAT穿越,信令通信等等相关的知识。因此,在这部分我以实现WebRTC1对1实时通信为目的,让读者讲解必要的知识,从而为后面知识的讲解打好基础。?第3部分是本书的核心内容,首先向读者讲解WebRTC的整体框架,让他们对WebRTC有个全局的认识,之后再逐步向他们介绍WebRTC如何采集音视频灵敏据,如何进行音视频的编解码,如何播放声音,如何渲染视频等相关的知识。?第4部分是提高篇,在这部分我会向读者讲解我们在使用WebRTC时经常要解决的一些问题。如如何给WebRTC增加模块,即目录是的增加x264视频编解码模块,AAC音频编解码模块,在WebRTC中是如何将多路音频进行混音的,WebRTC是如何进行回音清除的等相关的内容。
目录
序言
前言
第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

蜀ICP备2024047804号

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