为什么 kurento 媒体服务器与 ant-media 相比性能低?

wru*_*esh 4 kurento ant-media-server-sdk

我正在尝试为数千个并发调用扩展 kurento 媒体服务器。

我打算使用 OpenVidu Pro 进行缩放。

我还保留了一个替代方案来开发我自己的应用服务器和管理 kms 节点。

我关心的是与kms节点具有相同硬件容量的ant-media-server,与kms相比,它支持更多的并发调用。

以上信息来源

如果上述信息属实,kms 做了什么额外的工作以使用更多的硬件资源?

可以做些什么来优化公里数。

如果可能,请说明一些情况。

Emr*_*ğlu 7

@Maximillian 提供错误信息。比较苹果和橙子是荒谬的。

我想主要问题是混淆了流媒体协议。

对于低延迟,您应该使用 webrtc,并且 ant media 和 kurento 都支持这一点。正如@Maximillian 所说,您应该决定,您是否需要具有大量观众的低延迟或延迟无关紧要?场景是一对多还是多对多?

在此处输入图片说明

8-10 秒的延迟在 HLS 中而不是在 webrtc 中,也不是 ant-media 或其他 Rtmp Hls 服务器故障,而是 HLS 的实现/设计。(不是 LL HLS 的意思)

在 Hls 中,您至少需要 3 个 ts 包,它应该至少为 2 秒(默认为 10 秒),这就是为什么您看到 Hls 流的延迟为 6-30 秒。

在您的问题中,您指出 webrtc 的性能/资源使用情况,并且蚂蚁媒体使用系统资源比 kurento 更好。让我解释一下为什么?

Kurento 是一个很棒的媒体服务器,旨在进行额外的操作,例如过滤、图像渲染、opencv 实现、Rtp 端点、Rtsp 端点等。但是,即使您从未激活过这种额外的功能实现,也会导致 CPU 使用率很高。自 2015 年以来,kurento 性能不断提高,并且越来越好。不幸的是,对于大量观众来说还不够。例如:在kurento中,当您有4个内核和E5时,您只能处理80个并发端点。如果你的场景是 4-5 个活动流发布者,在同一个房间里有 1000 个并发观众,你最好挖硬币而不是处理会议:) 你将需要很多核心。

请注意,在 kurento 中也没有配置或工具可让您的私人专用/虚拟服务器自动扩展。

您需要开发您的自定义 docker 管理器和流重新发布器/重新发布器来分发您的流。相信我会非常痛苦。@2016 当时在亚马逊市场上有一个项目 ElasticRtc,在亚马逊云上管理集群/扩展 Kurento。然而在 twillio 收购了 kurento 之后,它就停止了。

Ant-media webrtc 产品真的很好,比其他sfu 的要好。您可以在此处查看Ant Media、Jitsi 和 Janus的性能比较 哪一种最适合在移动应用程序中开始一对多的实时语音流?

如您所见,开源/付费 sfu 有很多选择,例如 mediasoup、medooze、janus、flashphoner、wowza 等,我通常更喜欢 ant media。

  • 易于设置
  • 易于集成 api(在 kurento 中,媒体管道和端点管理也很痛苦)
  • 比其他付费媒体引擎便宜(wowza、flashphoner)
  • 易于准备集群
  • 支持 Rtmp 摄取、Hls 和 webrtc 播放
  • 支持 Webrtc 摄取、Hls 和 webrtc 播放
  • 基于 API 的单独开始/停止记录流
  • 支持 webrtc 和 hls 的 ABR 联播
  • 使用相同规格的服务器
    • Kurento 250 端点
    • Wowza 650-700 端点
    • Janus & mediasoup 500-750 端点 - Ant media 1400 端点