实时广播摄像头的最佳方式

Best way to broadcast camera in real-time

我正在尝试找到广播 camara 并将流发送到 200 个连接的最佳方式。

如果我使用 web-rtc,我会受到 CPU 功率的限制。我试过使用服务器作为网关,但我可以执行的最大连接数是 60。2 台服务器时为 120。

我无法使用网络套接字发送流,因为 TCP 协议会产生延迟。

最后的解决方案:使用RTMP协议,但是有5s-10s的延迟。

我的问题:是否有解决方案可以将摄像机实时流式传输到多个客户端 (200/300)?

仅使用 webrtc 是行不通的,因为我认为相机设备需要巨大的带宽。最好的方法是使用 SFU。这会将视频发送到服务器,然后将其广播给每个对等方。如果仅使用视频,它通常能够处理 200 个连接。

我已经使用 mediasoup 实现了这样的服务器。它还允许您在多个 cpu 和多个服务器上平衡负载。

这里是 simple project 使用这个库的地方。 还有其他解决方案,如 Janus 网关或 kurento 服务器。虽然我没用过。

第二种解决方案

我发现 This github repository 即使对于大量观众也可以点对点转发视频。基本上将流转发给其他对等方,这些对等方也将转发他们接收到的流。我假设会有更多的延迟,因为视频可以通过许多对等点进行中继。