为本机应用推荐的 WebRTC 服务器配置 (iOS/Android)?

Recommended WebRTC Server Configuration for Native app (iOS/Android)?

我尝试构建一个服务器以将 webrtc 原生 API 集成到原生应用程序中,但我不确定应该如何配置服务器,例如 ICE/STUN/TURN、信令、媒体服务器等。 据我所知是开源项目:https://github.com/priologic/easyrtc 有人可以给一些建议吗? 谢谢

在 WebRTC 基础架构中,涉及几件事。客户端部分用Java脚本编写,在浏览器上运行。

但正如您所说,它是服务器端的一部分。首先有一个 ICE/STUN/TURN 服务器,如果它位于 NAT 后面,客户端将使用它来发现其 public IP 地址。根据您的要求,可能不需要 build/deploy 您自己的服务器,但可以使用已经 public(且免费)的现有服务器 - here's a list. You can also deploy an open source one like Stuntman.

然后是信令部分,两个客户端使用它来协商和启动 webrtc 会话。这里没有标准,您有几种选择。

您可以使用带有 Jingle 扩展名的 XMPP 服务器。您可以部署现有的 XMPP 服务器,例如 OpenFire or Tigase

您也可以使用 SIP,这是一种在 VoIP 中比较常见的协议。您可以使用 JAIN-SIP or SIP Servlets.

或者您可以使用类似 websockets 的东西开发您自己的信号协议。

我给你的服务器端选项是基于 Java 的选项,但你也可以找到其他基础架构的类似选项。

STUN/TURN 是必需的。使用 public 个(不是绝对稳定的)或从源获得 Ubuntu 机器和安装:https://code.google.com/p/rfc5766-turn-server/

信令是微不足道的。您只需在同行之间转发消息。搭建一个简单的聊天服务器即可。

媒体服务器完全不同,需要复杂的客户端-服务器配置。