我正在尝试为数千个并发调用扩展 kurento 媒体服务器。
我打算使用 OpenVidu Pro 进行缩放。
我还保留了另一种方法来开发自己的应用服务器和管理 kms 节点。
我担心的是与 kms 节点具有相同硬件容量的 ant-media-server 支持比 kms 更多的并发调用。
Source of the above information
如果上述信息属实,kms 会做什么额外的工作以使用更多的硬件资源?
可以做些什么来优化公里数。
如果可能,请提供一些启示。
最佳答案
@Maximillian 提供错误信息。比较苹果和橙子是荒谬的。
我猜主要问题是混淆了流协议(protocol)。
对于低延迟,您应该使用 webrtc 并且 ant media 和 kurento 都支持这一点。正如@Maximillian 所说,您应该决定,您是否需要低延迟和大量观众或延迟无关紧要?场景是一对多还是多对多?
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。
- Ant 媒体 1400 端点
关于kurento - 为什么 kurento 媒体服务器与 ant-media 相比表现不佳?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62626194/