使用kurento的可扩展项目的最佳做法

时间:2019-03-20 05:52:31

标签: scalability kurento

我和一个小组正在使用kurento在基于房间的流媒体平台上工作。 我们在设置和配置kurento的方式中需要考虑3个主要问题。 1)大量的客户 2)大量的媒体资源 3)一种相对简单的方式将客户端订阅到会议室(会议室只是媒体资源的集合) 一个来源可能在多个房间中,我们希望每个来源只能发布1个媒体流。 一个客户只能在一个房间里。

当前,我们为每个房间创建一个新的管道-在一个以上的房间中为每个源创建一个重复的流(如果一个源在N个房间中,则会输出N个媒体流)。

我们正在寻找设置kurento的最佳解决方案, 因此它最适合我们的系统和上述问题。 我们将非常感谢您对此事提供的任何帮助。

我们考虑过的解决方案是: 1)单点 每个源有1个MediaInputEndpoint,每个客户端有一个MediaOutputEndpoint, 然后管理每个输入应接收哪些输入。 这种方法看起来很奇怪, 首先,这将是一条巨大的路线,缺少许多客户端/许多来源(我们认为)的可伸缩性问题, 其次,管理房间逻辑完全在我们这边,对于要加入房间的客户,我们需要将其端点逐个连接到正确的输入。

2)每个源有一个管道,每个客户端都连接到他应该接受的源的管线和输入。 同样,这遗漏了我们的第三个问题,而且对于许多源用例来说,如此多的管道可能也是一个问题。

2)用于输入源的某种“管道”管线,用于100个源的1个管道将媒体发送到下一条管线, 管道的第二个“层”将与房间相对应, 每个管线将代表一个房间,并作为OutputEndpoint连接到包含应该在房间中的源的管线,并且连接到这些管线的客户端将获取管线的所有输入。 我们认为每间客房不会有很多客户, 因此,这种方法似乎解决了可伸缩性问题。 但这似乎不是使用kurento的预期方式,因为管道之间存在管道通信, 那会是个问题吗? 它将给整个系统增加多少开销?

这是我们面临的问题,我认为这是使用kurento的常见问题, 在开发kurento的用法时,听听您的想法会很有帮助。 或如何设置kurento以满足我们的需求。

0 个答案:

没有答案