0

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

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

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

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

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

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

谢谢!

4

2 回答 2

0

嗯,中继大量数据的 TURN 服务器需要花钱才能运行。很多钱。没有人会让你免费访问他们的,你需要自己运行。有关更多详细信息,请参阅此博客文章

来自 codelab的URL也指向 404 页面。

于 2018-02-06T21:32:30.953 回答
0

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

于 2020-03-03T22:34:58.067 回答