Search code examples
javavideo-streamingwebrtckurento

Kurento Many to Many Architecture


I am new in webRtc and Kurento. You may think that is a very easy question, but when I looked at the code structure, I was confused.

I want to ask a question about kurento many to many mechanism.

When I look at this page I understand that, each user can create communications via Kurento Media Server

But when I look at Ubuntu Terminal Console code, (after mvn compile exec:java) I see log like this:

User A connected with B,
User B connected with A,
User C connected with A,
User C connected with B,
etc...

also I want to understand as clear this sentence meaning

Each client will send its own media, and in turn will receive the media from all the other participants. This means that there will be a total of n*n webrtc endpoints in each room, where n is the number of clients

My question is that;When I use this structure; Each Client Send its own media stream to each client (Figure 1) or each client send its Media Stream to Server and Server send this media Stream to each participants(Figure 2)? I try to illustrate on figures.

Figure2

Figure 1

----------


Figure1

Figure 2


Solution

  • When using a media server as relay, your setup will look like your figure 1, where all media traffic and signaling go through the backend infrastructure. Remember that Kurento is not a signaling server, thus you will need another server for signaling, different than Kurento. They can live in the same machine, but they are different pieces of software. I'll use a picture from the official documentation to ilustrate this possible setups in Kurento

    As you can see, you have different options for your signaling, but media always goes through Kurento.