Webrtc:如何向所有参与者广播一个学生

Webrtc: how to broadcast one student to all participants

我有一个 WebRTC 系统,有一个老师,10 个或更多的学生。该体系结构是每个学生只连接到老师。

由于网络带宽不如老师,学生之间没有互连,如果连接过多可能会造成拥塞。

但是我现在有一个需求,一个学生可能需要广播给所有学生和老师(例如学生正在回答问题)

此时我不希望这个学生连接到所有其他学生,原因我上面提到过。

所有的学生都连接到老师,是否可以使用老师作为代理?我在谷歌上搜索了一种可能的方法,将教师的扬声器(可以听到学生的声音)路由到教师的麦克风,但没有成功。

响应将根据您的项目而有所不同,对于商业用途,我认为您需要一个服务器实现来正确地将您的媒体路由到您想要独立于任何客户端的位置。

然而,对于一个你只能在 P2P 中连接的项目,你的“代理”想法可以工作,你可以做如下的事情。您所有的学生都连接到发送和接收媒体的老师,而老师则连接到所有学生,在 recv 开始时为学生添加一个新媒体,只为老师发送,使用 Transceivers API老师可以控制媒体发送或留言,转发给学生

第二种解决方案可能是混合音频并发送结果流代替教师流,this webrtc demo could help you,我不太了解浏览器兼容性和可能发生的延迟。