繁体   English   中英

有没有办法在没有 WebRTC 的情况下从客户端 A -> 服务器 -> 客户端 B 的 stream 视频进行一对多广播?

[英]Is there a way to stream video from client A -> server -> client B for one-to-many broadcast without WebRTC?

我正在尝试进行一对多广播。

我不想为此使用 WebRTC,因为当涉及许多客户端时,p2p 连接并不理想。

有没有办法从客户端 A 获取 MediaStream,将其发送到服务器,然后将其广播到许多其他查看器客户端?

我研究了 socket.io-stream,但这似乎更多地用于文件流而不是视频流。

我曾想过每隔这么多毫秒发送一次屏幕截图,并使用 socket.emit("frameUpdate",screenshotImgString) 从客户端 A 发送,但这似乎相当耗费资源,并且不包括视频压缩等方便的东西。

有没有办法简单的拿一个stream object,传给服务器,然后让服务器分享给大家?

使用 WebRTC 时的一种可能性是使用选择性转发单元架构。 但这需要多个客户端与服务器之间的 p2p 连接,可能每个客户端都由 TURN 服务器进行调解。 因此,服务器上的服务器处理所有这些,理想情况下,如果我无论如何都要使用 TURN 服务器。 我想要一台服务器来中继所有内容。

不去 Client 1 --> TURN server --> SFU server --> TURN server --> {Client 2...N}

而是 Client 1 --> Video Relay Server --> {Client 2...N}

网上的一切似乎都非常专注于 WebRTC,但我不确定这是否是解决我问题的最佳方法。

我的开发环境在Node.js

SFU 正是您正在寻找的。

使用 SFU,通常不需要 TURN 服务器,数据直接从发送方流向 SFU,然后从 SFU 流向接收方。 (在极少数情况下,例如当客户端位于非常严格的防火墙后面时,TURN 服务器可能很有用,但这将由 WebRTC 堆栈自动协商。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM