前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >通过WebRTC进行实时通信-结合对等连接和信令

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

作者头像
音视频_李超
发布2020-04-02 18:35:19
2.3K0
发布2020-04-02 18:35:19
举报
替换HTML和JavaScript

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

代码语言:javascript
复制
<!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文件夹或当前工作文件夹的依赖项。从你的工作目录中运行下面的命令:

代码语言:javascript
复制
npm install

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

代码语言:javascript
复制
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. 如何改变应用?

你学到什么

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

  • 使用在Node.js上的 Socket.IO运行 WebRTC信令服务。
  • 使用该服务在用户间交换WebRTC 元数据。

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

提示

  • WebRTC 将态和调试数据可以在chrome://webrtc-internals查看。
  • test.webrtc.org可用于查测你的本地环境和测试你的camera及microphone。
  • 如果您遇到奇怪的缓存问题,请尝试以下方法:
    • 按住ctrl并单击“重新加载”按钮进行硬刷新
    • 重启浏览器
    • 在命令行运行npm cache clean

下一步

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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 运行 Node.js 服务
  • 点滴
  • 你学到什么
  • 提示
  • 下一步
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档