【发布时间】:2015-01-31 11:10:01
【问题描述】:
我尝试构建一个服务器以将 webrtc 本机 API 集成到本机应用程序中,但我不确定应该如何配置服务器,例如 ICE/STUN/TURN、信令、媒体服务器等。 据我所知是开源项目:https://github.com/priologic/easyrtc 有人可以给一些建议吗? 谢谢
【问题讨论】:
我尝试构建一个服务器以将 webrtc 本机 API 集成到本机应用程序中,但我不确定应该如何配置服务器,例如 ICE/STUN/TURN、信令、媒体服务器等。 据我所知是开源项目:https://github.com/priologic/easyrtc 有人可以给一些建议吗? 谢谢
【问题讨论】:
在 WebRTC 基础架构中,涉及到几件事情。客户端部分用 JavaScript 编写并在浏览器上运行。
但正如您所说,它是服务器端部分。首先有一个 ICE/STUN/TURN 服务器,如果它位于 NAT 后面,它用于客户端发现其公共 IP 地址。根据您的要求,不必构建/部署您自己的服务器,而是使用已经公开(且免费)的现有服务器 - here 的列表。您还可以部署像Stuntman 这样的开源软件。
然后是信令部分,由两个客户端用于协商和启动 webrtc 会话。这里没有标准,您有几个选择。
您可以使用带有 Jingle 扩展的 XMPP 服务器。您可以部署现有的 XMPP 服务器,例如 OpenFire 或 Tigase
您还可以使用 SIP,这是一种在 VoIP 中更常见的协议。您可以使用JAIN-SIP 或SIP Servlets。
或者您可以使用 websockets 之类的东西开发自己的信号协议。
我为您提供的服务器端选项是基于 Java 的,但您也可以在其他基础架构中找到类似的选项。
【讨论】:
需要 STUN/TURN。使用公共的(不是绝对稳定的)或从源代码获取 Ubuntu 机器 ans 安装:https://code.google.com/p/rfc5766-turn-server/
信令是微不足道的。您只需在对等方之间转发消息。只需构建一个简单的聊天服务器。
媒体服务器完全不同,需要复杂的客户端-服务器配置。
【讨论】: