Learning WebRTC 中文版
  • 推荐0
  • 收藏2
  • 浏览2.3K

Learning WebRTC 中文版

(美)Dan Ristic(丹·里斯蒂克) (作者)  丁坚 (译者)

  • 书  号:978-7-121-28817-3
  • 出版日期:2016-06-12
  • 页  数:168
  • 开  本:16(185*235)
  • 出版状态:上市销售
  • 原书名: Learning WebRTC
  • 原书号:9781783983667
  • 维护人:张春雨
WebRTC 是一个支持网络浏览器进行实时语音对话或视频对话的软件架构。
本书使用形象的案例介绍,逐步深入地阐述了 WebRTC 的幕后工作原理。通过阅读本书,读者可以快速、有效地掌握创建一个 WebRTC 应用所必需的知识,包括获取用户设备信息、创建 WebRTC 应用的客户端和服务器、连接用户并发送数据、文件共享、数据信息安全和性能优化。
本书适合有一定 HTML 和 JavaScript 经验,希望了解 WebRTC ,并想学习实时通信工作原理的开发者参考阅读。
视频直播|语音实时聊天主流技术独家放送
前言
第一次写 HTML 代码的时候,我非常兴奋。我在键盘上输入的每一个字符都会作为指令告诉计算机该怎么处理。我很高兴我能创造出一些东西并用这些指令表达我的创造力。当我保存我的劳动成果,打开浏览器然后显示页面,这一切让我心生敬畏。当看到自己的名字以大号粗体字展现在一个叫作 GIF 的动态图片上时,心里像是有一团窜动的火焰。
web 由来已久,事实上它不仅是一个创造新事物的地方,也是展示和分享创意给他人的平台。这个表达创意的强大平台驱动着 web 以更快的速度发展。由于 web 越来越普及,我们整个生活都依赖于它。网站支持着你的邮件、娱乐、银行账号、法律文件和税收,甚至连这本书的部分撰写也是使用了 web 工具。人们想把生活搬到 web 上的需求促进了 API的快速有力发展,例如 WebRTC。
WebRTC 是 web 平台的最实质的加法指令之一。它带来了一整套的新技术,如摄像头、流动数据,甚至整个网络的协议栈。令人吃惊的是,不仅看到有大量的工作进入 Web RTCAPI,而且任何应用开发者使用它都是完全免费的。
WebRTC 的目的是实现实时通信大众化。早些时候,创建一个较小的视频通信应用需要花费几个月时间,即使是做一个很小的应用程序都需要一些定制工程。但是,现在只要花费一半甚至更少的时间。同时它也把开源社区带入实时通信领域。你可以查看全世界的其他的 WebRTC 例子,通过搜索一些源代码看看这些应用是怎么实现的。
正是这些创造性的表达方式和网络带来的自由促成了本书的出世。我非常高兴能有机会通过我的作品把这些东西带给大家,我希望能激励其他人像我当初一样,同样由于被激励做了第一个网页。写这本书是我工作中最重要也是最困难的事之一,但我非常感激在这过程中所学习到的东西。
如果你正在寻找能创建一个新的最简单的实时通信的经验,并想分享给他人,可以读这本书。这本书像其他技术书籍一样,只是引导人们在 web 上创造一些更好的东西的途径。你不仅能学会怎样使用 WebRTC,也能够做到举一反三。这本书不仅是一个学习工具,而且也是对有激情地创造一些事情的激励。
这本书包含了什么
第 1 章,开启 WebRTC 之旅,囊括了 WebRTC 怎么以网页为基础,来实现音频和视频的通信。可以在你的浏览器上运行一个 WebRTC 应用。
第 2 章,获得 User Media,介绍了创建通信应用程序的第一步、网络摄像头和麦克风的获取。这一章还包括如何使用媒体和流 API 捕捉你的信息,我们也开始开发建设基础通信的例子。
第 3 章,创建简单的 WebRTC 应用,包括了对第一个 WebRTC-RTC 对等连接的介绍。同时看到 WebRTC 里面的复杂结构以及开始使用 API 后我们可以期待些什么,来奠定创建一个 WebRTC 应用程序的基础。
第 4 章,创建信令服务器,包括创建我们自己的信令服务器,来帮助客户在互联网上找到彼此的步骤。这也包括在 WebRTC 上信令是如何工作,以及如何运用到我们的示例应用程序中去的深层信息。
第5章,把客户端连接到一起,包括我们的信令服务器的实际使用,也包括使用WebRTCAPI、媒体捕捉和在前面章节用来创建我们示例应用的信令服务器,来成功连接两个用户。
第 6 章,使用 WebRTC 发送数据,包括了 RTCDataChannel 介绍,以及它是如何用于两个对等体之间的原始数据发送的。这一章通过为客户添加文本聊天来详细说明我们的示例。
第 7 章,文件共享,通过观察如何在两个对等体之间的共享文件,阐述了发送原始数据的概念。这将展示音频和视频共享以外的 WebRTC 的许多用途。
第8章,高安全性与大规模优化,包括高级的主题,比如如何提供一个大规模的WebRTC应用程序。我们还关注安全和其他公司使用的性能优化。
附录,自测题答案,包括每一章最 后自测题的答案。
你需要准备什么
本书中所有的例子都是建立在 web 标准上的。由于 WebRTC 规范是相当新的,建议运行示例时使用更新过的浏览器,优先使用最新的 Firefox 和 Chrome 浏览器。
所有的服务器代码均使用 Node.js 编写。Node.js 框架大多数在 Windows、Linux 和 MacOSX 的机器内运行。
你可以使用任何支持 JavaScript 和 HTML 代码的文本编辑器。
这本书是写给谁的
你应该有一些使用 HTML 和 JavaScript 构建 web 应用程序的经验。也许,你现在正在构建应用程序,或有一个利用用户间音频和视频交流力量来构建新的应用程序的想法。你可能还需要通过在用户之间转移高性能数据来实现应用程序。
你应该牢固地掌握编程概念和网络基础,但是这本书是写给新入门的网络工程师的。提到的概念很深入,并且是一点一点地深入,而不是一开始就进入高级话题。你可能完不知道 WebRTC 或者只听说过一点,而且想学习实时通信的内部工作原理。

目录

前言 ............................................................................................................... XI
1 开启 WebRTC 之旅 .................................................................................... 1
音视频通信领域的发展现状 ................................................................................................. 1
在 web 平台传输音频和视频 ................................................................................................. 2
捕捉摄像头和麦克风 ............................................................................................................................. 3
音频及视频的编解码 ............................................................................................................................. 3
传输层 ..................................................................................................................................................... 4
会话(Session)管理 ............................................................................................................................ 4
创建 web 标准 ......................................................................................................................... 5
浏览器支持 ............................................................................................................................. 5
Chrome、Firefox 和 Opera 的兼容性 ................................................................................................... 5
安卓操作系统的兼容性 ......................................................................................................................... 6
苹果操作系统兼容性 ............................................................................................................................. 6
IE 的兼容性 ............................................................................................................................................ 6
在浏览器中使用 WebRTC ...................................................................................................... 6
支持 WebRTC 的应用............................................................................................................. 7
自测题 ..................................................................................................................................... 7
小结 ......................................................................................................................................... 8
2 获取用户媒体 ............................................................................................. 9
访问媒体设备 ......................................................................................................................... 9
配置静态服务器 ................................................................................................................................... 10
创建我们的首个媒体流页面 ............................................................................................................... 11
Learing WebRTC 中文版
【VIII】
限制媒体流 ........................................................................................................................... 14
限制视频捕捉 ....................................................................................................................................... 15
多设备处理 ........................................................................................................................... 18
创建一个拍照室应用 ........................................................................................................................... 20
修改媒体流 ........................................................................................................................... 23
自测题 ................................................................................................................................... 25
小结 ....................................................................................................................................... 26
3 创建简单的 WebRTC 应用 ....................................................................... 27
理解 UDP 传输协议和实时传输 ......................................................................................... 27
WebRTC API ......................................................................................................................... 30
RTCPeerConnection 对象 ..................................................................................................................... 30
信号传递和交涉 ................................................................................................................................... 31
会话描述协议(SDP) ....................................................................................................................... 33
找到一条清晰的路线到其他用户 ....................................................................................................... 35
创建一个基本的 WebRTC 应用 ........................................................................................... 38
创建一个 RTCPeerConnection ............................................................................................................ 38
建立 SDP OFFER 和返回 .................................................................................................................... 43
寻找 ICE 候选路径 .............................................................................................................................. 44
加入流和打磨 ....................................................................................................................................... 46
运行你的第一个 WebRTC 应用 ........................................................................................... 47
自测题 ................................................................................................................................... 51
小结 ....................................................................................................................................... 52
4 创建信令服务器 ........................................................................................ 53
构建信令服务器 ................................................................................................................... 53
搭建开发环境 ....................................................................................................................... 55
获得一个连接 ....................................................................................................................... 56
测试我们的服务器 ............................................................................................................................... 58
识别用户 ............................................................................................................................... 59
发起通话 ............................................................................................................................... 62
目录
【IX】
呼叫应答 ............................................................................................................................... 63
处理 ICE 候选路径 ............................................................................................................... 64
呼叫挂断 ............................................................................................................................... 65
完成信令服务器 ................................................................................................................... 66
在实际应用中发送信令 ....................................................................................................... 70
WebSockets 的困境 .............................................................................................................................. 70
连接其他服务 ....................................................................................................................................... 71
自测题 ................................................................................................................................... 72
小结 ....................................................................................................................................... 73
5 把客户端连接到一起 ................................................................................ 75
客户端应用 ........................................................................................................................... 75
创建页面 ............................................................................................................................... 77
获取一个连接 ....................................................................................................................... 79
登录到应用程序 ................................................................................................................... 81
开始一个对等连接 ............................................................................................................................... 82
发起通话 ............................................................................................................................... 85
检测通信 ............................................................................................................................................... 87
挂断电话 ............................................................................................................................... 88
一个完整的 WebRTC 客户端 ............................................................................................... 89
改进应用程序 ....................................................................................................................... 95
自测题 ................................................................................................................................... 95
小结 ....................................................................................................................................... 96
6 使用 WebRTC 发送数据 ........................................................................... 97
流控制传输协议和数据传输 ............................................................................................... 97
RTCDataChannel 对象 .......................................................................................................... 99
数据通道选项 ..................................................................................................................................... 101
发送数据 ............................................................................................................................................. 101
加密与安全 ......................................................................................................................... 102
添加文字聊天 ..................................................................................................................... 103
Learing WebRTC 中文版
【X】
用例 ..................................................................................................................................... 107
自测题 ................................................................................................................................. 108
小结 ..................................................................................................................................... 109
7 文件共享 ................................................................................................ 111
使用文件 API 拾取文件 ..................................................................................................... 112
准备我们的页面 ................................................................................................................................. 114
获取对文件的引用 ............................................................................................................................. 121
文件分块 ............................................................................................................................. 122
使文件分块可读 ................................................................................................................................. 124
文件读取与发送 ................................................................................................................................. 126
在“另一端”组合文件块 ................................................................................................. 128
向用户展示进度 ................................................................................................................. 130
自测题 ................................................................................................................................. 131
小结 ..................................................................................................................................... 132
8 高安全性与大规模优化 ........................................................................... 133
保护信令服务器 ................................................................................................................. 133
使用编码 ............................................................................................................................................. 134
使用 OAuth 提供器 ............................................................................................................................ 134
支持移动设备 ..................................................................................................................... 136
网格网络简介 ..................................................................................................................... 138
网格类型 ............................................................................................................................................. 139
网格网络的缺陷 ................................................................................................................................. 143
更多用户的视频会议 ......................................................................................................... 144
视频会议的未来 ................................................................................................................. 146
自测题 ................................................................................................................................. 146
小结 ..................................................................................................................................... 147
附录 自测题答案 ........................................................................................ 149

读者评论

  • 再看看呢:)
    张春雨发表于 2016/11/1 9:28:44
  • 随书的代码文件哪里下载啊?
    百变狸猫发表于 2016/10/31 20:39:33
    • 请在本书的【资源文件】处下载

      陈晓猛发表于 2016/11/1 17:10:16

下载资源

电子书版本

  • Epub
  • Mobi

相关图书

写给大忙人的现代JavaScript

(德国)HORSTMANN, CAY S. (作者) 浙江阿里巴巴聚橙技术发展有限公司 (译者)

本书是一本简明的现代 JavaScript 教程,不仅涵盖函数式编程、JS 语法、JS 库等基础性内容,还介绍了国际化、异步编程、标准模块系统、元编程等较为复杂...

¥109.00

JavaScript 二十年

王译锋 (作者)

本书主要讲述了从 1995 年到 2015 年这20年间,JavaScript在创建、设计和演变方面所经历的过程。全书分为4个部分,每个部分都涵盖了 JavaS...

¥79.00

JavaScript语言精髓与编程实践(第3版)

周爱民 (作者)

本书详细讲述JavaScript作为一种混合式语言的各方面特性,包括过程式、面向对象、函数式和动态语言特性等,在动态函数式语言特性方面有着尤为细致的讲述。本书主...

¥144.00

狼书(卷2):Node.js Web应用开发

桑世龙 (作者)

目前市面的nodejs书籍基于0.10的为多,而基于最新4.X的非常少,本书是唯一一本基于node.js 4.0以上版本的书。而Koa是下一代node web的...

¥69.30

狼书(卷1):更了不起的Node.js

狼叔 桑世龙 (作者)

Node.js开发简单,性能极好,一经发布便成了明星级项目。随着大前端领域的蓬勃发展,跨平台开发、API构建、Web应用开发等场景愈加常见,Node.js也成为...

¥55.30

Koa与Node.js开发实战

Node.js 10已经进入LTS时代!其应用场景已经从脚手架、辅助前端开发(如SSR、PWA等)扩展到API中间层、代理层及专业的后端开发。Node.js在企...

¥49.00