首页>参考读物>计算机科学与技术>综合

WebRTC权威指南(原书第3版)
作者 : [美]艾伦 B.约翰斯顿(Alan B.Johnston),丹尼尔C.伯内特(Daniel C.Burnett)著
译者 : 声网Agora.io 译
丛书名 : Web开发技术丛书
出版日期 : 2016-08-24
ISBN : 978-7-111-54715-0
定价 : 59.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 258
开本 : 16
原书名 : WebRTC: APIs and RTCWEB Protocols of the HTML5 Real-Time Web
原出版社: Digital Codex LLC
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

图书特色

WebRTC标准和SIP标准主要作者联袂撰写,互联网实时通信技术的权威指南,Amazon全五星评价
全方位深入解读标准的方方面面,阐释WebRTC相关概念、技术及最佳实践,包含大量的演示应用、示例代码、各类数据和图表

中国互联网发展迅猛。基础云服务、开源技术、HTML5、移动SDK等技术,让中国的开发者能最快速地开发移动和网页App,与世界比肩。下一个风口,一定会是融合了实时通信技术的应用,比如视频通话、实时互动直播等。WebRTC无疑是推动实时通信技术发展至关重要的技术之一。
—— 赵斌(Tony Zhao), 声网Agora.io CEO

2011年,Google公司正式对外推出了开源实时通信项目WebRTC。在之后的几年里,WebRTC成为一个全球性的平台,为全球700多个公司和项目提供创造性地融合了实时通信技术的产品和服务。我们非常高兴中国的开发者终于有了中文的WebRTC权威指南,帮助他们进行WebRTC的实践与开发。
—— Google WebRTC Team

本书是互联网实时通信开发者和技术决策者的权威参考指南。作者Daniel C. Burnett博士是WebRTC标准的主要作者,在书中对标准的方方面面做了精确到位的介绍。Alan Johnston 博士则是今日通信业核心标准SIP的主要作者,多年的行业实践和全局视野让他能够深入浅出地给出WebRTC相关技术问题和发展方向的真知灼见。
本书循序渐进地介绍了WebRTC,阐述了诸如本地媒体、信令等概念,并通过独立可运行的演示程序来介绍对等连接。此外,还详细描述了浏览器媒体协商过程,如何使用Wireshark来监控WebRTC协议的注意事项以及例子捕捉等。书中给出了大量示例代码、各类数据和图表,所有的代码都可以在http://webrtcbook.com/code3.html免费下载,你还可以在http://demo.webrtcbook.com上试用。

作者简介
Alan B. Johnston 目前是Avaya公司的杰出工程师和圣路易斯华盛顿大学的兼职讲师。他在SIP、IP语音(Voice over IP,VoIP)和互联网通信领域有超过13年的从业经验,参与编写了SIP规范和许多其他IETF RFC,其中包括ZRTP媒体安全协议。他著有四本关于互联网通信、SIP和安全的技术类畅销书,还有一本科技惊险小说《Counting from Zero》。他还是SIP论坛的董事会成员。

Daniel C. Burnett 目前是Tropo的首席科学家和Voxeo(Aspect旗下的一家公司)的标准总监。他从事计算机标准工作十余年,曾编写和编辑了W3C的许多标准,这些标准为当今的大多数自动化交互式语音应答(Interactive Voice Response, IVR)系统奠定了基础。由于在自动语音识别(声音辨别)领域的标准制定方面贡献卓越,他曾两度荣获《Speech Tech》杂志颁发的久负盛名的“语音杰出人物”奖。作为PeerConnection和getUserMedia W3C WEBRTC规范的编辑以及IETF的参与者,Daniel从一开始就投入到了这个令人振奋的新领域。

本书由WebRTC标准和SIP标准的主要作者联袂撰写,全方位深入解读标准的方方面面,并通过大量的演示应用、示例代码、各类数据和图表,深入浅出地阐释WebRTC相关概念、技术及最佳实践,为互联网实时通信开发者和技术决策者提供权威参考。
全书共14章,第1章简要介绍WebRTC及其新的功能特性;第2章介绍如何建立WebRTC会话、会话运行期间可执行哪些操作,以及如何关闭会话等;第3章介绍WebRTC的媒体模型以及如何捕获和控制本地媒体;第4章介绍信令相关知识;第5章介绍如何建立对等媒体;第6章介绍对等连接和提议/应答协商;第7章介绍数据通道、JavaScript API以及底层协议;第8章介绍W3C WebRTC标准文档;第9章介绍NAT和防火墙穿透;第10章讨论与WebRTC相关的协议;第11章介绍IETF文档;第12章介绍与IETF相关的RFC文档;第13章介绍和探讨WebRTC安全和隐私的诸多方面;第14章介绍主流浏览器对WebRTC API和协议的支持。

上架指导

计算机\网络

封底文字

中国互联网发展迅猛。基础云服务、开源技术、HTML5、移动SDK等技术,让中国的开发者可以最快速地开发移动和网页App,和世界比肩。下一个风口,一定会是融合了实时通信技术的应用,比如视频通话、实时互动直播等。WebRTC无疑是推动实时通信技术发展至关重要的技术之一。

-赵斌(Tony Zhao), 声网Agora.io CEO


2011年,Google公司正式对外推出了开源实时通信项目WebRTC。在之后的几年里,WebRTC成为一个全球性的平台,为全球700多个公司和项目提供创造性地融合了实时通信技术的产品和服务。我们非常高兴中国的开发者终于有了中文的WebRTC权威指南,帮助他们进行WebRTC的实践与开发。

- Google WebRTC Team

本书是互联网实时通信开发者和技术决策者的权威参考指南。作者Daniel C. Burnett博士是WebRTC标准的主要作者,在书中对标准的方方面面做了精确到位的介绍。Alan Johnston 博士则是今日通信业核心标准SIP的主要作者,多年的行业实践和全局视野让他能够深入浅出地给出WebRTC相关技术问题和发展方向的真知灼见。
本书循序渐进地介绍了WebRTC,阐述了诸如本地媒体、信令等概念,并通过独立可运行的演示程序来介绍对等连接。此外,还详细描述了浏览器媒体协商过程,如何使用Wireshark来监控WebRTC协议的注意事项以及例子捕捉等。书中给出了大量示例代码、各类数据和图表,所有的代码都可以http://webrtcbook.com/code3.html免费下载,你还可以在http://demo.webrtcbook.com上试用。

图书序言

Preface?中文版序言
中国的互联网产业正以爆炸式的速度增长。云服务、开源技术、HTML5以及移动端SDK让中国的开发者们迅速地建立起面向全世界的网页端和移动端应用。互联网+创业也已经成为国家级的主题,这代表了科技给中国带来的新机会。WebRTC正是其中极富潜力的一个。自2011年Google发起WebRTC开源项目和标准化工作以来,WebRTC已经成为未来最有希望统一互联网音视频通信服务的技术标准。尽管初衷是建立浏览器之间的音视频通信能力,但作为一个高质量的开源音视频引擎,WebRTC也帮助了成千上万的开发者和项目团队为移动应用和其他常见使用搭建通信功能。这一点进一步扩大了WebRTC在全行业的影响力,以及未来的发展空间。
声网(Agora.io)很高兴能在中国推出这一领域最有影响力的技术书籍《WebRTC权威指南》。作者Daniel C. Burnett博士是WebRTC标准的主要作者,在书中对标准的方方面面做了精确到位的介绍。Alan B. Johnston 博士则是今日通信业核心标准SIP的主要作者,多年的行业实践和全局视野让他能够深入浅出地给出WebRTC相关技术问题和发展方向的真知灼见。加上书中大量详实的具体解读、演示应用、示例代码以及各类数据和图表,本书已成为互联网实时通信开发者和技术决策者最权威的参考文献,英文版已经再版多次。
作为对WebRTC社区的贡献,声网希望此书的中文版能够填补这方面中文资料的空白,帮助中国软件开发者和技术团队了解和使用这一开源项目和技术标准,在时代的科技大潮中大展宏图。

赵斌
声网CEO
Agora.io





第3版序言?Preface
WebRTC领域的变化是惊人的,但有时是反复无常的。有时,它迅速前进,取得重大进展。有时,它看起来很慢,几乎像冰川一样一动不动,毫无进展。当今的互操作性是一流的,并使得我们的演示应用程序在浏览器(Chrome和Firefox)和平台(Windows和Mac)上实现语音、视频和数据通信变成一件轻而易举的事。而另一方面,关于潜在视频互操作性问题和其他的API还有一些疑惑。
时间会告诉我们哪些人物会主宰WebRTC向前发展。当然,相比之前的第1版,标准和实现的日趋完善及融合,让我们的代码编写和写作变得更加得心应手。
这个版本的新内容体现在增强的演示应用程序,它展示了如何实现浏览器之间直接发送实时文本的数据通道功能。此外,还涉及浏览器媒体协商过程中的完整描述(Firefox和Chrome的SDP会话描述),如何使用Wireshark来监控WebRTC协议的注意事项以及例子捕捉。另外,支持NAT和防火墙穿透的TURN 服务器也是本版新加入的内容。
此版本还逐步介绍了WebRTC,阐述了诸如本地媒体、信令等概念,并通过独立可运行的演示程序来介绍对等连接。与往常一样,所有的代码都可以在http://webrtcbook.com/code3.html免费下载,你还可以在http://demo.webrtcbook.com上试用。我们希望这个新版本能有助于你实现WebRTC的开发和集成。




Preface?第2版序言
自从出版了本书第1版,在几个月的时间里,WebRTC继续得到演化和发展。
虽然在IETF和W3C标准的许多领域已经取得了实质性的进展,但我们还有很多工作要做。事件触发,流在协议层次上的表示,甚至连一些回调函数的语法也还在讨论的话题之内;例如多个视频轨道如何体现在单个媒体流里,当一个绑定在HTML元素的媒体流出现音视频轨道的新增或者删除时会发生什么,这些细节都才刚开始进入考虑范畴。但是,API的核心在逐渐稳固。在使用方面,由于人们力求理解WebRTC的影响和机遇,很多会议、聚会网站、创业公司如雨后春笋般涌现,而且规模得到快速扩张。
其他趋势也变得清晰明了。有关编解码器的分歧,尤其是视频编解码器,正从“打斗”“战争”慢慢发展到了“冷战”。笔者衷心希望在标准和行业上能就视频编码器的实现迅速达成一致。
虽然现在WebRTC的基本组成部分在演示和应用程序上运行良好,但是围绕着安全和信令通道(这在本书第2版有全新的章节进行介绍),WebRTC还有许多顾虑和问题。此外,现在网络上的示例代码要么过于复杂,要么解释不充分,因此这也促使本版呈现出完整运行且充分解释的例子。这个能在Chrome和Firefox浏览器上运行的演示代码,也能在网站http://demo.webrtcbook.com上下载。
我们希望更新后的版本能激起你对WebRTC的兴趣并了解WebRTC。祝你阅读愉快!





第1版序言?Preface
互联网和万维网已经改变了我们的世界。当撰写这段历史时,大多会谈到20世纪末和21世纪初这些技术对生活的影响。网络改变了我们获取信息、与其他人互动、工作和娱乐的方式。现在,网络即将极大地改变我们使用语音和视频沟通的方式。这本书给出了被称为WebRTC(Web Real-Time Communications)的最新的标准和行业成就最新的快照。这项技术与HTML5浏览器的其他进展,拥有可能彻底地改变我们在私人和商业领域沟通方式的潜力。
笔者多年涉足互联网通信行业,见证了互联网上语音和视频通信的进步和影响。我们致力于制定信令协议,例如会话发起协议(SIP)和会话描述协议(SDP),以及安全协议,例如用于语音和视频通信系统的ZRTP,它将为势必替代电话系统的公共交换电话网络或PSTN奠定基础。这些互联网通信技术带来了一波惊人的“破坏”浪潮,但我们相信WebRTC很有可能造成更大的“破坏”。
这本书为想要抓住这个新浪潮(尽管它还在形成中)的Web开发人员和电话开发人员提供了信息。WebRTC所需的标准和协议仍在开发和发明中。浏览器也开始渐渐地支持实现WebRTC功能。然而,作者认为需要有一本书来解释这项仍在发展中的技术。本书将解释WebRTC的技术目标、结构、协议和应用程序编程接口(API)。我们计划频繁地更新本书的版本,可能一年会有三次,并且倾向于数字化交付和按需出版以节省成本并获得最大超链接有效性。想要获得最新版本的信息和更新及修改的列表,请访问http://webrtcbook.com。
本书首先介绍了WebRTC,进而讨论了它的新进展。我们研究了WebRTC 对等媒体流的独特方面,并且解释了网络地址转换(NAT)穿越。然后讨论了W3C和IETF组织的工作文件,最终确定了那些正在形成WebRTC标准的文件。每章都以参考资料结尾,并列出各种标准文件。以[RFC ...]形式出现的引用是IETF请求注解文件,以[draft- ......]形式出现的引用是IETF标准草案工作文件,里面的内容可能会因本书的出版而被更新或者修改。在大多数情况下,本书所提供的超链接能检索到最新版本的文档。W3C草案的引用包括最新公开工作草案的链接和最新编辑草案的链接。对于那些不熟悉W3C和IETF标准化进程的读者,我们提供了附录A和附录B作为参考。最后我们讨论了目前WebRTC在主流浏览器中的部署状况。
如果你是一名Web开发人员,那么欢迎来到互联网通信领域!借助应用程序中的实时语音和视频功能,你可以让用户很好地与对方互动。要理解我们的API描述,你需要有HTML、JavaScript的相关知识和一些网页应用程序的经验。可以参阅附录D获取一些有用的参考。
如果你是一名VoIP或者电话开发人员,那么欢迎来到网络世界!你的用户将享受到高质量的音频和视频通信功能及以网络驱动的丰富的用户界面。为了能够更好地理解我们对用于传输语音、视频和数据的线上协议的描述,你需要对互联网有一个基本的了解。而掌握如SIP或Jingle之类的另一种互联网通信信号协议的知识也是非常有用的。可以参阅附录D获取一些有用的参考。
在许多方面,WebRTC是网络世界和电话世界之间的一种融合。为了帮助弥合网络世界和电话世界之间的鸿沟,附录C中包含一个术语表来简要解释每个领域的一些常见术语和概念。
笔者期待着参与WebRTC可能会发起的下一个毁坏和革新浪潮。我们希望收到你的来信,并和我们在推特(@alanbjohnston和@danielcburnett)或者Google+(alanbjohnston@gmail.com和danielcburnett@gmail.com)上进行互动。

作者简介

[美]艾伦 B.约翰斯顿(Alan B.Johnston),丹尼尔C.伯内特(Daniel C.Burnett)著:暂无简介

译者简介

声网Agora.io 译:暂无简介

图书目录

中文版序言
第3版序言
第2版序言
第1版序言
作者简介
致谢
第1章 Web实时通信技术介绍 1
1.1 WebRTC介绍 1
1.1.1 Web浏览模式 1
1.1.2 浏览器中的实时通信功能 2
1.1.3 WebRTC系统所含的元素 3
1.1.4 WebRTC三角形 3
1.1.5 WebRTC梯形 4
1.1.6 WebRTC和会话启动协议SIP 4
1.1.7 WebRTC与Jingle 5
1.1.8 WebRTC与公共交换电话网 5
1.2 WebRTC中的多种媒体流 6
1.3 WebRTC中的多方会话 6
1.4 WebRTC标准 8
1.5 WebRTC的新功能 8
1.6 重要的术语说明 9
1.7 参考资料 10
第2章 如何使用WebRTC 11
2.1 建立WebRTC会话 11
2.1.1 获取本地媒体 12
2.1.2 建立对等连接 12
2.1.3 交换媒体或数据 12
2.1.4 关闭连接 13
2.2 WebRTC联网和交互示例 13
2.2.1 在WebRTC三角形中建立会话 14
2.2.2 在WebRTC梯形中建立会话 15
2.2.3 与SIP终端建立WebRTC会话 16
2.2.4 与Jingle终端建立WebRTC会话 17
2.2.5 与PSTN建立WebRTC会话 17
2.2.6 与SIP和媒体网关建立WebRTC会话 18
2.3 WebRTC伪码示例 20
2.3.1 针对手机浏览器的伪码 21
2.3.2 针对笔记本电脑浏览器的伪码 25
2.4 参考资料 28
第3章 本地媒体 29
3.1 WebRTC中的媒体 29
3.1.1 轨道 29
3.1.2 流 30
3.2 捕获本地媒体 31
3.3 媒体选择和控制 31
3.4 媒体流示例 34
3.5 可运行的本地媒体代码示例 36
3.5.1 Web服务器 36
3.5.2 客户端WebRTC应用程序 41
第4章 信令 45
4.1 信令的作用 45
4.1.1 为何没有建立信令标准 45
4.1.2 媒体协商 46
4.1.3 标识和身份验证 47
4.1.4 控制媒体会话 47
4.1.5 双占用分解 47
4.2 信令传输 47
4.2.1 HTTP传输 48
4.2.2 WebSocket传输 48
4.2.3 数据通道传输 49
4.3 信令协议 50
4.3.1 信令状态机 50
4.3.2 信令标识 51
4.3.3 HTTP轮询 51
4.3.4 WebSocket代理 52
4.3.5 Google应用程序引擎通道API 53
4.3.6 WebSocket SIP 54
4.3.7 WebSocket Jingle 56
4.3.8 数据通道专有信令 58
4.3.9 使用叠加网络的数据通道 58
4.4 信令选项总结 59
4.5 可运行的信令通道代码示例 60
4.5.1 Web服务器 60
4.5.2 信令通道 65
4.5.3 客户端WebRTC应用程序 76
4.6 参考资料 86
第5章 对等媒体 87
5.1 WebRTC媒体流 87
5.1.1 不采用WebRTC时的媒体流 88
5.1.2 采用WebRTC时的媒体流 88
5.2 WebRTC和网络地址转换 89
5.2.1 通过多个NAT的对等媒体流 90
5.2.2 通过通用NAT的对等媒体流 90
5.2.3 私有地址和公共地址 92
5.3 STUN服务器 93
5.4 TURN服务器 94
5.5 候选项 95
第6章 对等连接和提议/应答协商 96
6.1 对等连接 96
6.2 提议/应答协商 97
6.3 JavaScript提议/应答控制 98
6.4 可运行的代码示例:对等连接和提议/应答协商 100
第7章 数据通道 113
7.1 数据通道简介 113
7.2 使用数据通道 114
7.3 可运行的数据通道代码示例 116
第8章 W3C文档 129
8.1 WebRTC API参考 129
8.2 WEBRTC建议 141
8.3 WEBRTC草案 141
8.3.1 WebRTC 1.0:浏览器之间的实时通信 141
8.3.2 媒体捕获和流 145
8.3.3 MediaStream捕获情形 148
8.4 相关工作 148
8.4.1 MediaStream录制API规范 148
8.4.2 图像捕获API 148
8.4.3 future 149
8.4.4 媒体隐私 149
8.4.5 MediaStream的非活动状态 149
8.5 参考资料 150
第9章 NAT和防火墙穿透 151
9.1 穿透简介 151
通过TURN服务器提供中继的媒体 152
9.2 交互式连接建立 152
9.2.1 收集候选传输地址 153
9.2.2 交换候选项 154
9.2.3 STUN连接检查 154
9.2.4 选择选定的对并启动媒体 155
9.2.5 长连接 155
9.2.6 ICE重新启动 156
9.3 WebRTC和防火墙 156
9.4 参考资料 158
第10章 协议 159
10.1 协议 159
10.2 WebRTC协议概述 160
10.2.1 HTTP协议 160
10.2.2 WebSocket协议 161
10.2.3 RTP协议和SRTP协议 162
10.2.4 SDP协议 164
10.2.5 STUN协议 165
10.2.6 TURN协议 169
10.2.7 ICE协议 171
10.2.8 TLS协议 174
10.2.9 TCP协议 175
10.2.10 DTLS协议 175
10.2.11 UDP协议 175
10.2.12 SCTP协议 176
10.2.13 IP协议 177
10.3 参考资料 178
第11章 IETF文档 179
11.1 意见征求书 179
11.2 Internet草案 179
11.3 RTCWEB工作组Internet草案 180
11.3.1 “概述:针对基于浏览器的应用程序的实时协议”[draft-ietf-rtcweb-overview] 180
11.3.2 “Web实时通信使用情形和要求”[RFC7478] 180
11.3.3 “Web实时通信(WebRTC):媒体传输和RTP的用法”[draft-ietf-rtcweb-rtp-usage] 181
11.3.4 “RTCWEB安全体系结构”[draft-ietf-rtcweb-security-arch] 181
11.3.5 “RTCWeb安全注意事项”[draft-ietf-rtcweb-security] 183
11.3.6 “RTCWeb数据通道”[draft-ietf-rtcweb-data-channel] 183
11.3.7 “WebRTC数据通道建立协议”[draft-ietfrtcweb-data-protocol] 184
11.3.8 “JavaScript会话建立协议”[draft-ietfrtcweb-jsep] 185
11.3.9 “WebRTC音频编解码器和处理要求”[draft-ietf-rtcweb-audio] 187
11.3.10 “使用STUN刷新许可”[draft-ietf-rtcweb-stunconsent-freshness] 187
11.3.11 “RTCWEB传输”[draft-ietf-rtcweb-transports] 188
11.4 个人Internet草案 188
11.4.1 “用于RTCWeb媒体约束的IANA注册表”[draftburnett-rtcweb-constraints-registry] 188
11.4.2 “关于NAT、防火墙和HTTP代理的RTCWEB注意事项”[draft-hutton-rtcweb-nat-firewall-considerations] 188
11.4.3 “适用于RTCWeb QoS的DSCP和其他数据包标记”[draftdhesikan-tsvwg-rtcweb-qos] 188
11.4.4 “适用于万维网实时通信的Google拥塞控制”[draft-alvestrand-rmcat-congestion] 188
11.5 其他工作组的RTCWEB文档 189
11.5.1 “缓慢型ICE:逐步为交互式连接建立协议增加候选项的配置”[draft-ietf-mmusic-trickle-ice] 189
11.5.2 “利用会话描述协议端口号进行多路协商”[draft-ietf-mmusic-sdp-bundle-negotiation] 191
11.5.3 “会话描述协议中的跨流标识”[draft-ietf-mmusic-msid] 191
11.5.4 “RTP会话中的多种媒体类型”[draft-ietf-avtcore-multi-media-rtp-session] 191
11.5.5 “多媒体拥塞控制:用于单播RTP会话的断路器”[draft-ietf-avtcore-rtp-circuit-breakers] 191
11.5.6 “在一个RTP会话中支持多个时钟速率”[draftietf-avtext-multiple-clock-rates] 192
11.5.7 “会话描述协议中基于流控制传输协议(SCTP)的媒体传输”[draft-ietf-mmusic-sctp-sdp] 192
11.5.8 “会话描述协议中的媒体源选择机制”[draft-lennox-mmusic-sdp-source-selection] 192
11.5.9 TRAM工作组对STUN和TURN进行的扩展 193
11.6 参考资料 194
第12章 与IETF相关的RFC文档 197
12.1 实时传输协议 197
12.1.1 “RTP:用于实时应用程序的传输协议”[RFC3550] 197
12.1.2 “用于音频和视频会议的RTP配置文件”[RFC3551] 197
12.1.3 “安全实时传输协议”[RFC3711] 198
12.1.4 “用于基于RTCP的反馈且经过扩展的安全RTP配置文件(RTP/SAVPF)”[RFC5124] 198
12.1.5 “通过一个端口多路传输RTP数据和控制数据包”[RFC5761] 198
12.1.6 “用于混合器到客户端音频级别指示的实时传输协议标头扩展项”[RFC6465] 199
12.1.7 “用于客户端到混合器音频级别指示的实时传输协议标头扩展项”[RFC6464] 199
12.1.8 “RTP流的快速同步”[RFC6051] 199
12.1.9 “RTP重新传输有效负载格式”[RFC4588] 199
12.1.10 “采用反馈RTP/AVPF的RTP音频–视频配置文件中的编解码器控制消”[RFC5104] 200
12.1.11 “TCP友好速率控制:协议规范”[RFC5348] 200
12.1.12 “用于RTP标头扩展项的常规机制”[RFC5285] 200
12.1.13 “结合使用可变位速率音频与安全RTP的指南”[RFC6562] 200
12.1.14 “支持缩减型实时传输控制协议:契机与后果”[RFC5506] 200
12.1.15 “安全实时传输协议中的标头扩展项加密”[RFC6904] 201
12.1.16 “RTP控制协议规范名称(CNAME)选择指南”[RFC7022] 201
12.2 会话描述协议 201
12.2.1 “SDP:会话描述协议”[RFC4566] 201
12.2.2 浏览器中的WebRTC SDP示例 201
12.2.3 “用于RTP控制协议带宽的会话描述协议带宽修饰符”[RFC3556] 210
12.2.4 “会话描述协议中特定于源的媒体属性”[RFC5576] 210
12.2.5 “在SDP中协商通用图像属性”[RFC6236] 210
12.3 NAT遍历RFC 211
12.3.1 “交互式连接建立:用于提议/应答协议的网络地址转换器遍历协议”[RFC5245] 211
12.3.2 “对称RTP/RTP控制协议(RTCP)”[RFC4961] 211
12.4 编解码器 212
12.4.1 “Opus音频编解码器的定义”[RFC6716] 212
12.4.2 “VP8数据格式和解码指南”[RFC6386] 212
12.5 信令 212
12.6 参考资料 212
第13章 安全和隐私 214
13.1 浏览器安全模型 214
13.1.1 WebRTC权限 215
13.1.2 网站身份 215
13.1.3 浏览器用户身份 216
13.2 新型WebRTC浏览器攻击 217
13.2.1 API攻击 217
13.2.2 协议攻击 217
13.2.3 信令通道攻击 218
13.3 通信安全 219
13.3.1 通信隐私 219
13.3.2 通过信令通道传输密钥 220
13.3.3 媒体路径中的密钥协议 220
13.3.4 身份验证 221
13.3.5 身份 221
13.4 WebRTC中的身份 221
13.5 企业问题 224
13.6 隐私 225
13.6.1 身份隐私 225
13.6.2 IP地址隐私 225
13.6.3 浏览器指纹识别 226
13.7 基于数据通道的ZRTP 226
13.8 总结 227
13.9 参考资料 227
第14章 实现和应用 229
14.1 浏览器 229
14.1.1 Apple Safari 229
14.1.2 Google Chrome 229
14.1.3 Mozilla Firefox 230
14.1.4 Microsoft Internet Explorer 230
14.1.5 Opera 230
14.2 其他浏览器 230
14.3 STUN 和TURN服务器实现 231
14.4 参考资料 231
附录A W3C标准流程 232
附录B IETF标准流程 235
附录C 术语表 238
附录D 补充阅读和信息资源 240

教学资源推荐
作者: 赖晓晨 江贺 韩瑜 编著
作者: [美]肯尼思 H. 罗森(Kenneth H. Rosen)著
作者: 林伟伟 刘波 编著
作者: 吕云翔等编著
参考读物推荐
作者: 尚艺摄影 编著
作者: 马国良 南存微 彭旋子 著
作者: [印]哈伯利特·辛格(Harpreet Singh) [印]希曼舒·夏尔马(Himanshu Sharma) 著