【问题标题】:Record webRTC session on server在服务器上记录 webRTC 会话
【发布时间】:2015-03-12 20:16:02
【问题描述】:

我最近发现了一个名为 phoneRTC 的 cordova 插件,它允许实现 webrtc。我构建并运行了提供的演示,我对结果非常满意。现在我想知道如何在 Web 服务器上记录 webrtc 会话。目前的基础设施是这样的:

   Signalling Server
   /               \
CLIENT---------CLIENT



  TURN Server
    /     \
CLIENT    CLIENT

所以信令服务器用于发现参与者并建立连接。如果无法在参与者之间直接建立连接,则使用 TURN 服务器。

对于转向服务器,使用 rfc5766-turn-server,对于信令服务器,使用 socket.io

我想做的是记录通过 TURN 服务器的会话。这可能吗?如果是这样,我该如何实现?

编辑:我还阅读了有关 Kurento 的信息,但我无法理解是否可以通过它实现这一目标。

【问题讨论】:

  • 使用 Kurento(或任何其他媒体/MCU 服务器),这是可能的。使用 TURN 服务器,您必须破解它,因为它只是设计用于中继而不是解密/重新加密 srtp 数据包。
  • 感谢您的回复。我自己也一直在对 Kurento 进行一些研究,但没有找到很多初学者的东西。你能推荐一个好的教程/指南,让我开始使用 phoneRTC 和 Kurento 进行实施吗?
  • @PU2014 看看tutorials,尤其是this one,它显示了工作中的录制功能,以及一些额外的功能,例如通过 gstreamer 过滤器进行实时流处理。
  • @igracia 感谢您的回复。我一直在阅读教程并试图理解这个概念,但我似乎无法掌握如何将 kurento 与 phonertc 集成的部分

标签: cordova webrtc turn rfc5766turnserver kurento


【解决方案1】:

来自 PhoneRTC 网站

无需任何第三方服务器即可轻松地将基于 WebRTC 的视频和语音聊天添加到您的 Cordova 应用程序。 Android、iOS 和浏览器支持!

我不是PhoneRTC 专家,但经过一番审查后,它似乎在所有客户端之间创建了p2p 连接。服务器仅用于信令平面,因此您在这里不走运,至少对于一个简单的解决方案而言。

如果您想在服务器中进行录制,您的媒体流将必须通过服务器,要么使用 MCU,要么将所有流作为另一个客户端发送到服务器(这有点脏,恕我直言)

【讨论】:

  • 客户端之间无法建立直接p2p连接时不使用TURN服务器吗?据我了解,如果 p2p 连接由于某种原因(可能是网络配置)失败,TURN 服务器被用作代理。我正在考虑以某种方式强制使用 TURN 服务器(或者尽可能使用媒体服务器而不是 TURN 服务器)。
  • @PU2014 TURN 服务器用于对称 NAT 的情况下,由于 NAT 的性质而无法进行 p2p 连接。在大多数情况下,使用 STUN 服务器来遍历 NAT 并获得另一个端点必须连接到的公共 IP 来交换媒体就足够了。 Kurento 不是 TURN/STUN 服务器,而是使用 STUN/TURN 来遍历 NAT 的媒体服务器。您所描述的是 MCU 架构,其中所有客户端都连接到媒体服务器。从这个意义上说,PhoneRTC 对您没有帮助,因为它用于 p2p 连接。
  • 感谢您的解释。你知道任何可以与 kurento 集成并在 ios 和 android 上运行的 cordova 插件吗?还是我必须自己编写 webrtc js 实现来使用cordova和kuranto?
  • @PU2014 也许你可以查看 Iconic 框架。此外,还有一些用户为 iOS 和 Android 编写了自己的客户端,但我不知道他们走了多远。也许你可以联系他们,看看他们是否有一些可用的代码。
猜你喜欢
  • 2015-12-09
  • 2021-07-10
  • 2011-12-12
  • 1970-01-01
  • 2014-10-14
  • 1970-01-01
  • 1970-01-01
  • 2010-09-11
  • 2023-03-07
相关资源
最近更新 更多