WebRTC

通过WebRTC进行实时通信-结合对等连接和信令

2018-10-18  本文已影响90人  音视频直播技术专家

你将学到什么

在这一步中,您将了解如何:

此步骤的完整版本位于step-05文件夹中。

替换HTML和JavaScript

用内存的内容替换 index.html中的内容:

<!DOCTYPE html>
<html>

<head>

  <title>Realtime communication with WebRTC</title>

  <link rel="stylesheet" href="/css/main.css" />

</head>

<body>

  <h1>Realtime communication with WebRTC</h1>

  <div id="videos">
    <video id="localVideo" autoplay muted></video>
    <video id="remoteVideo" autoplay></video>
  </div>

  <script src="/socket.io/socket.io.js"></script>
  <script src="https://webrtc.github.io/adapter/adapter-latest.js"></script>
  <script src="js/main.js"></script>
  
</body>

</html>

用 step-05/js/main.js替换 js/main.js。

运行 Node.js 服务

如果您没有从工作目录中关注此codelab,则可能需要安装step-05文件夹或当前工作文件夹的依赖项。从你的工作目录中运行下面的命令:

npm install

一旦安装了,如果你的Node.js服务没有运行,调用下面的命令在你的工作目录下启动它:

node index.js

确保你正在使用的是上一步Socket.IO实现的 index.js版本。对于更多的关于Node和Socket.IO的信息,查看一下“建立信令服务去交换消息”一节。

在你的浏览器上输入 localhost:8080。

在窗中的新 tab中再次输入localhost:8080。一个视频元素将显示从getUserMedia()获取的本地流,而另一个将通地 RTCPeerConnection显示'远端'视频流。

你需要重起你的 Node.js 服务,在每次你关闭tab或窗口时。

在浏览器console中查看日志。

点滴

  1. 该应用仅支持1对1的视频聊天,你可以改变这个设计使更多的人共享同一个视频吗?
  2. 这个例子有一个房间名为foo的硬编码,有更好的方法开启另一个房间名吗?
  3. 用户间如何共享房间名?尝试建立一个共享房间名称的替代方案。
  4. 如何改变应用?

你学到什么

在该步骤中你学会了如何:

本步骤的完整例子在step-05目录下。

提示

下一步

了解如何拍摄照片,获取图像数据以及在远程同伴之间共享照片。

上一篇 下一篇

猜你喜欢

热点阅读