Is setReceiverVideoConstraint For Each Individual User or All Users?

Read the docs for setReceiverVideoConstraint here: lib-jitsi-meet API (low level) | Jitsi Meet

  1. setReceiverVideoConstraint(resolution) - set the desired resolution to get from JVB (180, 360, 720, 1080, etc). You should use that method if you are using simulcast.

Is this for one user or all users? For example, lets say I have user A, B, C and D, and they join the call in that order.

And lets say we have example code like:

room = connection.initJitsiConference(getRoomName(), options.conference);

if(user == 'A') {
   room.setReceiverVideoConstraint(1080);
} else if(user == 'B') {
    room.setReceiverVideoConstraint(720);
} else if(user == 'C') {
    room.setReceiverVideoConstraint(320);
} else if(user == 'D') {
    room.setReceiverVideoConstraint(180);
}
room.join();

Do each of the them get 1080 because that is what user A first set? Or does each get their own according the preference? And if each get their own, what is the impact on the JVB for have multiple streams for different users?

To set per participant you need setReceiverConstraints

Is there a different between setReceiverConstraints and setReceiverVideoConstraint?

Not sure about the setReceiverVideoConstraint details, need to check when in front of the computer. But you can see the difference in the params you pass to both.

mark

Both setReceiverVideoConstraint and setReceiverConstraints set what you (the participant calling the method) want to receive, they don’t directly change what any other participant receives. setReceiverVideoConstraint is the old way, you should ideally use setReceiverConstraints now which is much more powerful. For example it lets you configure which other participants you want to receive video from, and what resolution from each.