@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 的性能/资源使用情况,而 ant media 比 kurento 更好地使用系统资源。让我解释一下为什么?
Kurento 是一款出色的媒体服务器,旨在进行额外的操作,例如过滤、图像渲染、opencv 实现、Rtp 端点、Rtsp 端点等。
然而,这种额外的功能实现会导致 CPU 使用率很高,即使您从未激活它也是如此。
自 2015 年以来,kurento 的性能越来越好。不幸的是,不足以吸引大量观众。
例如:在 kurento 中,当你有 4 核 E5 时,你只能处理 80 个并发 EndPoint。如果您的场景是 4-5 个活跃的流发布者和 1000 个并发观众在同一个房间,您最好挖硬币而不是处理会议 :) 您将需要大量核心。
请注意,在 kurento 中也没有配置或工具供您的私有专用/虚拟服务器自动扩展。
您需要开发自定义 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 等,我一般更喜欢蚂蚁媒体。
- 易于设置
- 易于集成 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 端点