kurento - 为什么 kurento 媒体服务器与 ant-media 相比表现不佳?

标签 kurento ant-media-server

我正在尝试为数千个并发调用扩展 kurento 媒体服务器。
我打算使用 OpenVidu Pro 进行缩放。
我还保留了另一种方法来开发自己的应用服务器和管理 kms 节点。
我担心的是与 kms 节点具有相同硬件容量的 ant-media-server 支持比 kms 更多的并发调用。
Source of the above information
如果上述信息属实,kms 会做什么额外的工作以使用更多的硬件资源?
可以做些什么来优化公里数。
如果可能,请提供一些启示。

最佳答案

@Maximillian 提供错误信息。比较苹果和橙子是荒谬的。
我猜主要问题是混淆了流协议(protocol)。
对于低延迟,您应该使用 webrtc 并且 ant media 和 kurento 都支持这一点。正如@Maximillian 所说,您应该决定,您是否需要低延迟和大量观众或延迟无关紧要?场景是一对多还是多对多?
enter image description here
8-10 秒的延迟在 HLS 中而不是在 webrtc 中,也不是 ant-media 或其他 Rtmp Hls 服务器故障,而是 HLS 的实现/设计。 (不是指 LL HLS)
在 Hls 中,您至少需要 3 个 ts 包,并且应该最少 2 秒(默认 10 秒)
这就是为什么您会看到延迟为 6-30 秒的 Hls 流。
在您的问题中,您指出 webrtc 的性能/资源使用情况,而 ant media 比 kurento 更好地使用系统资源。让我解释一下为什么?
Kurento 是一款出色的媒体服务器,旨在进行额外的操作,例如过滤、图像渲染、opencv 实现、Rtp 端点、Rtsp 端点等。
然而,这种额外的功能实现会导致 CPU 使用率很高,即使您从未激活它也是如此。
自 2015 年以来,kurento 的性能越来越好。不幸的是,不足以吸引大量观众。
例如:在 kurento 中,当你有 4 核 E5 时,你只能处理 80 个并发 EndPoint。如果您的场景,4-5 个活跃的流发布者和 1000 个并发观众在同一个房间,你最好挖币而不是处理 session :) 你需要很多核心。
请注意,在 kurento 中,您的私有(private)专用/虚拟服务器也没有配置或工具来自动扩展。
您需要开发自定义 docker 管理器和流重新发布器/重新流化器来分发您的流。相信我会很痛苦。 @2016 当时在亚马逊市场 ElasticRtc 上有一个项目,在亚马逊云上管理集群/扩展 Kurento。然而,在 twillio 收购 kurento 之后,它就停止了。
蚁媒webrtc的产品真的比其他sfu的好用。
您可以在此处查看性能比较
Ant Media, Jitsi and Janus Which one is best to start live voice stream one to many in Mobile Applications?
如您所见,开源/付费 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 媒体 1400 端点

  • 关于kurento - 为什么 kurento 媒体服务器与 ant-media 相比表现不佳?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62626194/

    相关文章:

    javascript - Kurento 媒体服务器 HelloWorld Javascript 示例 webSocket 错误

    java - 更改 kurento 测试端口

    linux - 使用 ubuntu 终端在 Windows 上安装 Antmedia 时出错

    linux - Kurento - WebRTC 不能在 linux 虚拟机 azure 服务器上运行

    ios - Kurento + Java Spring Client + IOS - Web 到 IOS 通信

    java - 运行 Kurento 应用程序

    webrtc - 如何在 Ant Media Server 中完全禁用音频转码以提高性能?

    ssl - 没有互联网连接时如何将SSL安装到Ant Media Server?

    ios - 为什么我无法在iOS中使用Chrome浏览器发布到Ant Media Server?