- WebRTC 教程
- WebRTC - 首页
- WebRTC - 概述
- WebRTC - 架构
- WebRTC - 环境
- WebRTC - MediaStream API
- WebRTC - RTCPeerConnection API
- WebRTC - RTCDataChannel API
- WebRTC - 发送消息
- WebRTC - 信令
- WebRTC - 浏览器支持
- WebRTC - 移动设备支持
- WebRTC - 视频演示
- WebRTC - 语音演示
- WebRTC - 文本演示
- WebRTC - 安全性
- WebRTC 资源
- WebRTC - 快速指南
- WebRTC - 有用资源
- WebRTC - 讨论
WebRTC - 环境
在开始构建我们的 WebRTC 应用程序之前,我们应该设置我们的编码环境。首先,您应该有一个文本编辑器或 IDE,您可以在其中编辑 HTML 和 Javascript。由于您正在阅读本教程,因此您可能已经选择了首选的编辑器。就我而言,我使用的是 WebStorm IDE。您可以在 https://www.jetbrains.com/webstorm/ 下载其试用版。我还在使用 Linux Mint 作为我的首选操作系统。
普通 WebRTC 应用程序的另一个要求是拥有一个服务器来托管 HTML 和 Javascript 文件。代码不会仅仅通过双击文件就能运行,因为除非文件由实际服务器提供服务,否则浏览器不允许连接到摄像头和麦克风。显然,这是为了避免安全问题而做出的。
有大量的不同的 Web 服务器,但是在这个教程中,我们将使用 Node.js 和 node-static -
访问 https://node.org.cn/en/ 并下载最新的 Node.js 版本。
将其解压到 /usr/local/nodejs 目录。
打开 /home/YOUR_USERNAME/.profile 文件,并在末尾添加以下行 - export PATH=$PATH:/usr/local/nodejs/bin
然后您可以重新启动计算机或运行 source /home/YOUR_USERNAME/.profile
现在 node 命令应该可以在命令行中使用了。npm 命令也可以使用。NMP 是 Node.js 的包管理器。您可以在 https://npmjs.net.cn/ 了解更多信息。
打开终端并运行 sudo npm install -g node-static。这将为 Node.js 安装静态 Web 服务器。
现在导航到包含 HTML 文件的任何目录,并在该目录内运行 static 命令以启动您的 Web 服务器。
您可以导航到 https://:8080 以查看您的文件。
还有另一种安装 nodejs 的方法。只需在终端窗口中运行 sudo apt-get install nodejs。
要测试您的 Node.js 安装,请打开您的终端并运行 node 命令。键入一些命令以检查其工作方式 -
Node.js 运行 Javascript 文件以及在终端中键入的命令。创建一个名为 index.js 的文件,其内容如下 -
console.log(“Testing Node.js”);
然后运行 node index 命令。您将看到以下内容 -
在构建我们的信令服务器时,我们将使用 Node.js 的 WebSockets 库。要安装,请在终端中运行 npm install ws。
为了测试我们的信令服务器,我们将使用 wscat 实用程序。要安装它,请在您的终端窗口中运行 npm install -g wscat。
| 序号 | 协议及描述 |
|---|---|
| 1 | WebRTC 协议
WebRTC 应用程序使用 UDP(用户数据报协议)作为传输协议。如今,大多数 Web 应用程序都是使用 TCP(传输控制协议)构建的。 |
| 2 | 会话描述协议
SDP 是 WebRTC 的重要组成部分。它是一种旨在描述媒体通信会话的协议。 |
| 3 | 查找路由
为了连接到另一个用户,您应该找到您自己的网络和另一个用户的网络周围的清晰路径。但是,您正在使用的网络可能有多个级别的访问控制,以避免安全问题。 |
| 4 | 流控制传输协议
使用对等连接,我们可以快速发送视频和音频数据。当使用 RTCDataChannel 对象时,SCTP 协议如今用于在当前设置的对等连接之上发送 Blob 数据。 |
总结
在本章中,我们介绍了几种支持对等连接的技术,例如 UDP、TCP、STUN、TURN、ICE 和 SCTP。您现在应该对 SDP 的工作原理及其用例有一个表面的了解。