Akshay Rathore
Akshay Rathore

Reputation: 829

Connections reliability while streaming using Kurento media server

Scenario to be achieved:

In an online class there are 20 students and one teacher. Now the teacher wants to enable his audio control and also wants to share the screen with 20 students.

Now similarly, there are 15 online classes running simultaneously by 15 different educators.

We would like you to validate the following points and suggest changes in any point so that our server can handle the load smoothly -

  1. Our Server configuration: Amazon ec-2. medium machine that runs node js server (that consumes less computational power) and kurento media server.

Question: Any alternative best server for Kurento to support the above described load (i.e. best server configuration that Kurento media rever requires in such scenario)?

  1. Our online class architecture: When a teacher enters an online class, the architecture creates a WebRTCEndPoint for both audio and screen sharing. Now when a student enters the class the student connects to both the respective WebRTCEndPoints. On teacher disconnection and again reconnection(or if teacher wants to change his mic), since there is no concept of re-negotiation in kurento, all students again have to connect with both new WebRTCEndPoints of teacher. This increases our CPU usage to maximum (for one class) and also takes time to 20-30 seconds to restore both streams (audio and screenshare) on each students computer, sometimes even connection doesn't get reconnected.

Question: Any alternative way to design our architecture without using Hubport concept that in itself consumes loads of cpu usage in mixing streams?

Upvotes: 2

Views: 718

Answers (1)

igracia
igracia

Reputation: 3541

  1. An m3.large might allow you to get those numbers.

  2. If the teacher disconnects, you don't need to throw away the endpoints from the students. It's enough to create a new endpoint for the presenter, and then go through all the viewers connecting them. Nevertheless, there are better options, like the DispatcherOneToMany. There are examples on how to use the dispatcher in the official mailing list.

Upvotes: 0

Related Questions