【问题标题】:How to record a relayed stream on server using TURN如何使用 TURN 在服务器上录制中继流
【发布时间】:2014-11-28 15:49:17
【问题描述】:

故事是这样的,我正在构建一个 WebRTC 应用程序,我必须在服务器上记录流。

“WebRTC 是 p2p 老兄,选择一个媒体服务器”

是的,我知道,请避免此评论;)

但后来我想了一件事,如果我强制所有流使用 TURN 服务器会怎样。数据包正在通过服务器,所以我想我可以把它们保存起来

问题是如何做到这一点。

有什么建议吗?

【问题讨论】:

  • 嗯,数据包使用通过 DTLS 协商的任何内容进行加密。所以,最重要的是你的服务器获取这些证书并解密,然后在每个数据包通过服务器时重新加密......
  • 我可能是错的,但除非对等方无法找到彼此(两者都必须在不同的对称 NAT 后面),在一种情况下,他们甚至不会费心与 stun/turn 服务器交谈(两者同一个网络中的对等节点),我将 server_config 保留为 [] 并且对等节点不在乎,他们就像什么都没发生一样进行通信。
  • @mido,不准确。如果您不使用 STUN 或 TURN,则生成的唯一对等点是类型“主机”。如果您使用 TURN 和 STUN,还会生成 relay 和 srflx 类型。但是您可以在 ICE 收集期间强制使用 TURN 删除所有其他候选人(并且仅使用中继类型)。
  • @Manza,有点晚了,但是你有没有看过 kurento 媒体服务器。

标签: webrtc turn


【解决方案1】:

TURN 服务器旨在成为中继媒体,这意味着媒体流不会被解密、复用、处理或记录。我知道你要求避免“选择媒体服务器”的评论,但这就像说 “我需要把这个螺丝钉进去;我应该使用哪个锤子?请不要告诉我要螺丝刀。 " - 锤子不是正确的工具。

您仍然可以使用 WebRTC 和 p2p,但媒体服务器(例如 Jitsi)在星形拓扑中充当对等点,所有流都发送到媒体服务器,并且可以记录、中继、捆绑、等等

【讨论】:

    【解决方案2】:

    您可以使用像 Janus 或 Kurento 这样的 WebRTC 网关(我假设您现在已经弄清楚了 :))

    【讨论】:

    • 是的,我几天前发现了 Kurento。已经开始玩它了。顺便说一句,不知道 Janus,谢谢提示。
    猜你喜欢
    • 2021-07-13
    • 1970-01-01
    • 1970-01-01
    • 2017-06-19
    • 1970-01-01
    • 1970-01-01
    • 2014-12-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多