0

好的,所以最近我一直需要使用 WebRTC 创建一个用于视频语音等的应用程序。

因此,在查看了一些库后,我发现 SimpleWebRTC 看起来非常方便: https ://github.com/andyet/SimpleWebRTC

所以我感兴趣的是如何实现 STUN/TURN 服务器?(如果有人能用简单的英语解释这些差异,那就太好了!)还有一种身份验证机制。目前,我的应用程序联系我的数据库并登录用户等,但 stun and turn 服务器将是私有的,并且不会以任何方式参与身份验证过程。

所以基本上:

  • 实施 STUN/TURN 的最佳方法是什么
  • 有什么认证机制吗?

请注意,这是针对混合应用程序的,因此我将为此使用 JavaScript/AngularJS。我选择 SimpleWebRTC 的主要原因。

谢谢!

4

1 回答 1

6

我建议您使用现有的 STUN 或 TURN 服务器,如coturn

STUN 服务器非常轻量级,通常无需身份验证。STUN 服务器基本上告诉客户端它的 IP 地址是什么,这是跨 NAT(网络地址转换)边界建立对等连接所必需的。

TURN 服务器非常占用资源,因为它们中继媒体;通话的所有媒体都可以通过 TURN 服务器,因此确保 TURN 的安全非常重要。您在 UDP 可能被阻止的情况下使用 TURN 服务器,或者用于导致问题的特定类型的 NAT。

coturn 的 TURN 服务器的身份验证可以采用以下两种形式之一:

  1. 简单(用户名、密码)对
  2. 转 REST API。这使用了 TURN 服务器和另一个实体之间的秘密。实体发布带有过期时间的令牌,TURN 服务器验证令牌没有过期并且是在知道共享密钥的情况下发布的。这由 TURN 客户端以文档中描述的格式作为用户名、密码对传递。
于 2016-03-28T22:42:47.917 回答