我有一个使用simpleWebRTC和signalmaster进行信令的点对点视频会议应用程序。当超过4个用户连接它在网络上造成的压力并且TURN服务器太大时,我想,在这种情况下是否可以实现MCU?这需要做什么?
对于超过4个参与者,全网状(将每个参与者与所有其他对等点连接)是不切实际的。如果有n
参与者,那么他们每个人都需要有n - 1
传出和n - 1
传入视频流,这会迅速使带宽饱和,特别是在移动设备上。
SFU,例如Janus,在呼叫参与者之间转发数据包。 SFU用于群组呼叫的优势在于每个参与者只需将其视频流推送到SFU,然后SFU将其转发给其他所有人。尽管如此,每个参与者仍然有n - 1
传入流。
MCU能够将多个视频流合并为一个,因此每个参与者最终得到1
输出视频流和1
输入复合视频流。为了从n - 1
单独的视频流中生成复合视频流,MCU需要实时重新编码视频,这使得CPU占用大量资源。
我建议先试试Janus(SFU),看看它对你有什么用。