@lenville
2016-04-29T20:27:17.000000Z
字数 1265
阅读 556
WebRTC试译稿
创建基于 WebRTC 的通信平台,先要通过用户的网络摄像头和麦克风获取实时的视频和音频流,过去我们通常用浏览器插件来实现这个功能,现在可以用 JavaScript 调用浏览器的 getUserMedia
API 来实现。
本章将讨论以下几个话题:
开发者们很久以前就开始尝试向浏览器屏幕中接入媒体设备,他们通常会纠结于各种解决方案,有的基于 Flash,而有的基于插件,但这些方案都需要在浏览器中安装某些程序来捕捉用户的摄像头。为此,W3C 最终决定筹备一个专门的小组来制定相关标准。在最新的浏览器中,你可以通过 JavaScript 访问 getUserMedia
API,又名 MediaStream
API。
译注:目前
getUserMedia
API 已被废除,请使用MediaStream
API。
这组 API 有几个关键的功能:
stream
对象:这个对象用以表示音频或视频形式的实时媒体流。在我们进行下一步之前,需要提前准备好相应的编程环境。首先,要有一个可以编辑 HTML 和 JavaScript 的文本编辑器,如果你购买了这本书,我猜你很可能已经有一个趁手的编辑器了。
其次,你还需要一台服务器来托管 HTML 和 JavaScript 文件并提供伺服服务。浏览器的权限及安全限制要求凡是与用户摄像头和麦克风连接的必须是通过真实服务器伺服的文件,如果你用本书提供的代码在本地双击打开,不会正常运行。
所有开发者都应该先学会如何配置一台本地的 Web 服务器,世面上的编程语言多种多样,不同语言的服务器也成千上万,我个人最喜爱的是 Node.js 的 node-static
,它是一个易用且出色的 Web 服务器:
访问 Node.js 网站http://nodejs.org/
,点击首页那个巨大的 INSTALL 按钮,在你的操作系统中安装 Node.js;
译注:Node.js 现分为两个分支独立发展,建议使用 v4.4.* LTS 分支),下载并根据指引操作可将 Node.js 安装到你的操作系统中。
Node.js 的包管理器(npm)会随 Node.js 一同安装到系统中;
打开终端或命令行界面并输入 npm install -g node-static
(你很可能需要管理员权限);
然后你可以进入到任何你希望提供伺服服务的目录,需要将相关 HTML 文件置入其中;
运行 static
指令启动一个静态web服务器,在浏览器中输入 http://localhost:8080
访问你的文件。
你也可以通过同样的方式为其它任何 HTML 文件提供伺服服务,也可以将本书提供的示例文件放到目录下访问查看效果。
除了
node-static
外你还有很多其它选择,但由于我们稍后需要使用 npm,所以我推荐你现在就去了解它的相关语法。
现在我们就继续创建我们的第一个项目!