【问题标题】:Understanding WebRTC了解 WebRTC
【发布时间】:2019-01-09 11:41:29
【问题描述】:

我目前正在测试WebRTC 的功能,但我有一些大脑逻辑问题。

究竟什么是 WebRTC?

我只阅读“STUN”、“P2P”和其他...但是 WebRTC 在技术方面是正确的(见下)

我需要什么

我正在寻找特定的解决方案。对于此处的示例,网络广播:

一个客户端将他们的麦克风数据发送到服务器,其他连接的客户端将听到它。服务器需要一些功能:只有 一个 客户端可以将他们的麦克风数据分享给其他人。所有其他客户端都被“静音”,但其他客户端可以请求将来发送他们的数据。被选中的客户端是否完成,其他的可以发送。

澄清一下,我需要什么

不,我不想创建网络广播;我想创建一个“唱歌服务器”。一个用户可以选择一首歌曲并用他们的麦克风唱歌。其他客户可以听到。如果用户完成了他们的“歌曲”,其他人可以请求“这里,我要唱这些歌曲......”。

WebRTC 可以吗?目前我认为没有,因为我认为WebRTC 只是一个 Peer-2-Peer 解决方案。服务器无法处理直接音频数据,但对于我的选择,我需要它(我希望在将来实现基础后,修改流数据以添加一些功能,如语音效果)。我用node.js 找到了一些解决方案,但我只在代码中找到了为客户端广播对等点的代码;音频数据永远不会到达服务器。

【问题讨论】:

    标签: webrtc


    【解决方案1】:

    WebRTC 是一种 P2P 解决方案,但它也可以是从发布者到服务器的 P2P 连接,以及从侦听器到服务器的许多 P2P 连接。这正是您所需要的。

    有 3 种主要的 WebRTC 网络拓扑:

    • MESH - 每个参与者向所有其他参与者发送和接收其媒体。不能很好地扩展,视频会话最多可以扩展到 4-6 人,音频最多可以扩展到 10 人。
    • SFU - 可以在您的情况下工作,可以支持大约 10-15 名视频参与者和约 20 名音频参与者。目前最流行的解决方案,易于维护。
    • MCU - 可以支持许多参与者。但需要更多的硬件和更难维护。

    因此,在您的情况下,您肯定需要一些 WebRTC 服务器网关,因为您将有很多听众。

    在您的情况下,尝试流式传输功能可能也不错。

    我可以推荐尝试Janus WebRTC Gateway,尤其是两件事:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-26
      • 2021-05-11
      • 2020-01-12
      • 1970-01-01
      • 2019-02-06
      相关资源
      最近更新 更多