WebRTC 视频会议应用程序 - 星型拓扑:如何开始?

Car*_*uza 0 amazon-ec2 node.js video-conferencing webrtc licode

我正在开发一个使用 WebRTC 的用于教育目的的视频会议应用程序。它需要在星形拓扑中完成,因为它最多连接 20 个参与者。

从概念上讲它很容易理解,但我不知道如何开始,因为我没有任何示例。

所有客户端将使用 WebRTC 连接到服务器,服务器将以特定布局混合视频流并将其发送回所有客户端。以下是我的问题/困难:

  • 服务器部分如何实现?什么是最好的技术(例如 NodeJS)?是否有类似星型拓扑应用的简单示例?

  • 我们如何开始编写 MCU 代码?有例子吗?或者更容易定制像 Licode/Lynckia 这样的开源 MCU?

  • 我如何估计我们将用作 MCU 服务器的正确 AWS EC2 实例类型?

  • 我如何估算将在会议的 1 小时内传输的数据传输成本(大小,以 GB/TB 为单位)?

非常感谢,卡洛斯

mid*_*ido 5

我对你的各种疑问表示两分钱:

  • 就我个人而言,我更喜欢 NodeJS,但据我所知,除了在对等点/媒体服务器之间传递消息之外,应用程序服务器在 WebRTC 通信中并没有发挥太大作用,因此请使用您熟悉的技术。

  • 也就是说,例如,您可以查看Java 和 Node.js 中的 kurento教程、Licode示例(使用 NodeJS)和Java 中的Jitsi Meet

  • 是的,我认为使用现有的 MCU 是个好主意,更好的是 SFU,区别在于 SFU 只是转发流而不是混合它们,混合流是一个昂贵的过程,因此 MCU 需要具有高处理能力。SFU 相对较轻,您所需要的只是服务器的良好带宽。

  • 关于最后两点,没有太多想法,取决于您的用例,流的视频分辨率是多少,有多少人,您需要运行一些测试并对其进行评估。

    联播是另一个有趣的想法,不幸的是我相信它仍在开发中。