【问题标题】:What is the role of SFU., Janus, mediasoup or medooze. on a webRTC applicationSFU.、Janus、mediasoup 或 medooze 的作用是什么。在 webRTC 应用程序上
【发布时间】:2020-05-09 21:03:09
【问题描述】:

我正在使用带有 simple-peer npm 包的 webRTC 应用程序。

我想知道所有这些主题的目的是什么(SFU.、Janus、mediasoup 或 medooze。)以及如何将它们整合到我的应用程序中性能更好?

PS:我正在使用 node.js 服务器来捆绑我的架构上的对等方之间的请求和信令。这些服务器和服务是使我的应用程序性能良好所必需的吗?

希望我能在这里找到答案...

【问题讨论】:

  • 这能回答你的问题吗? Understanding SFU's, TURN servers in WebRTC
  • 不,因为我已经在使用 STUN/TURN,我想知道我上面提到的那些服务器的用途以及它们是否需要我的系统性能。

标签: node.js webrtc janus simple-peer mediasoup


【解决方案1】:

使用常规 webrtc,每个对等点都需要分别向其他对等点发送和接收其数据。 因此,假设有 10 个同行进行视频聊天。然后每个对等点必须同时发送他们的视频 9 次,并且还要接收 9 次。 每个对等点都会使用他们通常没有的大量上传带宽。

SFU 通过每个对等点仅向媒体服务器发送一个流并让该服务器完成到其他对等点的所有路由来解决此问题。这样每个peer只发送1个流,接收9个。下载的最大下载带宽通常高于上传带宽。

还有一种叫做联播的东西,它会根据对等方的可用带宽自动切换质量。我已经能够通过mediasoup 实现这一目标。

【讨论】:

  • 感谢您的重播,现在我将服务器端与 node.js 一起使用,正如您所说,如果我有 10 个同伴,我有一个同伴作为整个管弦乐队的领导者,并且该对等方会将流发送给所有其他人,所有其他人将发送一个并接收一个。如何在我的机箱上使用 SFU?
  • @Lakkini “所有其他人都会发送一个并接收一个”你是什么意思?所以如果你只需要一个领导者是唯一的一个广播,那么他将发送 1 个流,所有接收者也将只接收一个流。如果您想在每个人之间呼叫一个房间,那么每个参与者将发送一个流并为每个其他参与者接收一个流
  • 是的,就像广播一样,要了解更多,它是一个教育应用程序,老师会看到所有学生,而学生只会看到老师而不是他们的朋友。以及所有尊重房间概念的东西(我用 sockets.io 提出了这个概念)
  • @Lakkini 我有一个 github 项目,其中包含使用 mediasoup github repo 进行多用户视频/音频会议的示例。你可以以它为例,应用到你的项目中。
  • 500 个消费者是指导方针,但取决于 pc 的 cpu/ram 等
【解决方案2】:

根据我上面的问题和之后的许多研究,我发现:

SFU 是引领 WebRTC 通信的技术(服务器端):

  • 如何产生(共享)点之间的流。
  • 如何在其他对等方使用此媒体流。
  • PRODUCERS(共享流媒体的人)和 CONSUMERS 之间的拓扑(如果我可以这么说的话)是如何工作的。

这是关于它的全球理念,因为您必须更深入地实施。

我询问的服务如 Mediasoup、Medooze...等,它们是实现 SFU 技术的服务。

你可以去其中一个那里学习如何实现 SFU throw it。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-09-15
    • 1970-01-01
    • 2017-07-16
    • 1970-01-01
    • 2021-10-19
    • 2022-12-18
    • 1970-01-01
    • 2020-01-03
    相关资源
    最近更新 更多