【问题标题】:WebRTC - Networking issue on Codelab STUN/TURN serversWebRTC - Codelab STUN/TURN 服务器上的网络问题
【发布时间】:2018-02-06 19:45:25
【问题描述】:

这是我在 stackoverflow 中的第一个问题,我很受阻,我需要一些帮助。首先非常感谢。

我正在尝试在 Web 应用程序中开发 WebRTC 解决方案,以从不同的机器流式传输视频。我正在使用 NodeJS 开发它,只是遵循 the WebRTC codelab 的指导方针。一旦我复制并理解了它,我就开发了一个部署文件来将解决方案部署到 Azure Web 应用程序。 现在我可以看到我的视频流,如果我从不同的主机连接但在同一个网络中,我可以看到两个视频流,每个视频流来自不同的机器。好的,这就是我想要的。但是一旦我从不同的网络访问我的网络,它就不起作用了。我可以在控制台中看到来自其他对等方的连接和来自它的消息(可能是因为 STUN 服务器?)但视频流没有出现。

我认为是TURN服务器的原因,但我不确定因为我正在尝试使用其他人,它仍然无法正常工作。

这与我上面指出的代码实验室的代码相同,有人在这里遇到同样的问题吗? TURN服务器是否可能无法正常工作?

(Turn服务器添加的部分代码)

    if (location.hostname != 'localhost') {
  requestTurn(
    'https://computeengineondemand.appspot.com/turn?username=41784574&key=4080218913\''
  );
}

谢谢!

【问题讨论】:

    标签: node.js webrtc stun turn simplewebrtc


    【解决方案1】:

    嗯,转播大量数据的 TURN 服务器需要花钱才能运行。很多钱。没有人会让你免费访问他们的,你需要自己运行。详情请见this blog post

    URL from the codelab 也指向 404 页面。

    【讨论】:

    • @dev_ed :我刚刚回答了一个相关的帖子来设置你自己的 TURN 服务器。 Look at this
    【解决方案2】:

    19:19 minute mark 我相信你需要实现一个 ICE 服务器。基本上要通过互联网遍历 NAT,您需要知道您的外部 IP 地址是什么以及支持哪些协议,即 UDP http 等。ice 服务器在 json 对象中提供要使用的协议和 url 或 ip 地址的选项。视频不需要纠错,因此 http 不是首选,但有时是唯一可用的选项

    【讨论】:

      猜你喜欢
      • 2017-11-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多