WebRTC - 环境


在开始构建 WebRTC 应用程序之前,我们应该设置编码环境。首先,您应该有一个文本编辑器或 IDE,可以在其中编辑 HTML 和 Javascript。当您阅读本教程时,您很可能已经选择了首选。至于我,我正在使用 WebStorm IDE。您可以在https://www.jetbrains.com/webstorm/下载其试用版。我还使用 Linux Mint 作为我选择的操作系统。

常见 WebRTC 应用程序的另一个要求是拥有一个服务器来托管 HTML 和 Javascript 文件。仅通过双击文件该代码将无法工作,因为除非文件由实际服务器提供服务,否则不允许浏览器连接到摄像头和麦克风。这样做显然是出于安全问题。

有大量不同的 Web 服务器,但在本教程中,我们将使用 Node.js 和 node-static -

  • 访问https://nodejs.org/en/并下载最新的 Node.js 版本。

  • 将其解压到 /usr/local/nodejs 目录。

  • 打开 /home/YOUR_USERNAME/.profile 文件并将以下行添加到末尾 - export PATH=$PATH:/usr/local/nodejs/bin

  • 您可以重新启动计算机或运行 source /home/YOUR_USERNAME/.profile

  • 现在应该可以从命令行使用节点命令npm命令也可用。NMP 是 Node.js 的包管理器。您可以在https://www.npmjs.com/了解更多信息。

  • 打开终端并运行sudo npm install -g node-static。这将为 Node.js 安装静态 Web 服务器。

  • 现在导航到包含 HTML 文件的任何目录,并在该目录中运行static命令来启动 Web 服务器。

  • 您可以导航到http://localhost:8080查看您的文件。

还有另一种安装nodejs的方法。只需在终端窗口中运行sudo apt-get install nodejs即可。

要测试 Node.js 安装,请打开终端并运行node命令。输入一些命令来检查它是如何工作的 -

打开终端

Node.js 运行 Javascript 文件以及在终端中键入的命令。创建一个包含以下内容的index.js文件 -

console.log(“Testing Node.js”);

然后运行节点索引命令。您将看到以下内容 -

运行节点终端

在构建我们的信令服务器时,我们将使用 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 的工作原理及其用例有一个初步的了解。