我有一个项目需要将基于 WebRTC 的连接从服务器转发到服务器。我必须这样做的原因是我想测试一个 SFU 和 MCU 媒体服务器相互连接的可扩展架构。场景是这样的:
- 客户端 A 与服务器 B (SFU) 连接(使用 WebRTC API,如 getUserMedia() 和 RTCPeerConnection(),...)
- 服务器 B (SFU) 找到一种将实时流转发到服务器 C (MCU) 的方法
- 服务器 C (MCU) 将该流发送到连接到服务器 C 的 WebRTC 客户端 D
我想出了一些这样的解决方案:
- 从服务器 B 获取流后,我需要找到一种将流转发到服务器 C 的方法。我需要来自服务器 B 的没有 getUserMedia() 的 MediaStream。我已经读过可以从“a”创建非本地媒体流源自网络的流”,但无论如何我都没有找到在没有标签元素和 getUserMedia() 的情况下创建它。
- 我可以从服务器 B 的 MediaStream 中捕获 RTP 数据包。然后使用 rtp url 发送它,例如 rtp://xxxx:port。然后我从服务器 C 创建一个空 MediaStream。但我不知道将 RTP 数据包提供给空 MediaStream。
谢谢你的帮助。我真的很感激这一点。