WebRTC - Codelab STUN/TURN 服务器上的网络问题

WebRTC - Networking issue on Codelab STUN/TURN servers

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

我正在尝试在 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\''
  );
}

谢谢!

嗯,将大量数据中继到 运行 的 TURN 服务器要花钱。很多钱。没有人会让您免费访问他们的,您需要 运行 自己的。有关详细信息,请参阅 this blog post

另外 URL from the codelab 会导致 404 页面。

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