What is the formula to calculate traffic rates?

Hi all

Sorry, if this a FAQ. I am new here.

Is there a formula to calculate the traffic rates? For example, 11 people participate in a meeting. Only one, the teacher, has the camera and mic on. The other ten, the students, have both muted. They just watch and listen to the teacher.

What is are the traffic rates of the server, the teacher’s computer and each student computer, in both directions separately for the three cases of video resolution low, medium and high by the teacher? Assume the teacher uses the built in camera of his laptop which is HD 1080p.

I am more interested in the formula, how to calculate.

Here are the approximate transfer rates:
LD (180p) - 200kbps
SD (360p) - 600kbps
HD (720p) - 2500kbps

The above will be the send values for the teacher. The receive values for the students will depend on how they’re viewing the teacher’s feed. If in stage view, then they’ll the teacher’s HD resolution. If in tile/gallery view, they’ll receive SD until the tile height falls below 360 and then they’ll receive LD. Note that these figures are configurable.

2 Likes

Hi, thanks for the quick response! So the answer is not that simple. In a way it is good - we have some room for adjustments.

In case you wonder, this is no academic exercise. I am helping school teachers to reach their pupils in lock-down. See also Whats the participant limit in video conferencing or meeting in jitsi? - #8 by Varenne_Riocha.

There are many limitations. The pupils pay for their mobile Internet, almost nobody has flat-rate. The vast majority is from low-income families. The teacher is likely to connect from the school network, so the traffic volume is less of a problem. Still the bandwidth (rate) could be limited. I have some follow-up questions though.

  • For the teacher: Is there a mechanism to lock the video resolution other than reminding the teachers to reduce the resolution on the client?

  • For the teacher: What is the incoming rate? (I am still in the same scenario, only the teacher has camera and mic on.)

  • For the pupils: The rate depends on the displayed video size? Up to a maximum of the rate the teacher is sending? I mean, if the teacher is sending 360p and the pupil watches full-screen, say 1366x780, the rate won’t increase beyond 360p? If the displayed size falls below 360p, the rate also drops? Proportionately or to 180p? I assume that the pupils always have the stage view, i.e. the teacher.

Yes, you can adjust the maximum bitrate for each resolution and you can also constrain what resolution should be sent at certain frame heights.

Pretty much zero. Nothing is incoming - no audio/video.

Yes, if the constraints are already set for the environment, the transfer rate will stay within the limits sent.

1 Like

Hey, I am following up Jitsi intensively, not only because its modest CPU demand, mainly because of the help in the forum!
:wink:

I understood the most about the network traffic in my simple scenario: One teacher lecturing 10 pupils who have their cameras and mics muted.

To recap, the teacher’s upload rate is the data rate of his video, 600 kbps for 360p, for example. No download traffic. Each pupil has a down rate equal or less than that of teacher’s upload, depending on stage or gallery view and other settings. No upload traffic.

What about the server? Its down rate is the up rate of the teacher, I guess. What is the up rate of the server (for 10 pupils as mentioned above)?

The teacher tries to upload in 3 qualities (LD, SD, HD) by default. So, the upload rate for teacher will be ~3300 kbps (2500 + 600 + 200).

The pupil downloads one of these 3 stream depending on her network capacity.

Its down rate is the up rate of the teacher. correct. The upload rate will depend on the pupils’ network capabilities. Let’s say 5 pupils use HD, 3 pupils use SD and 2 pupils use LD then the upload rate will be

5 x 2500 + 3 x 600 + 2 x 200 ~= 14700 kbps

1 Like

Hi emrah

Thanks, now I have a clearer idea. BTW there’s a mistake here, “the upload rate for teacher will be ~2300 kbps (2500 + 600 + 200)”, right? The total should be 3300 and not 2300?

Whatever, the amount of traffic surprises me. I hope the default can be overridden. For example, fixing the video max. to 360p? Then the teacher up rate will be 600 + 200 = 800 kbps (which is also the server down rate) and the server up rate will be 8 x 600 + 2 x 200 = 5200 kbps?

I watched a presentation on Jitsi somewhere and understood that Jitsi made a trade-off between high CPU load transcoding and high bandwidth sending simulcast. Are we there?

Yes, you are right. It should be 3300. fixed

Yes, it’s possible to limit the max resolution in config.js

SFU vs MCU

1 Like

Oh I see. Being able to limit the max resolution in config.js is a relief!

New to the SFU vs MCU discussion. A web search gave me this page: WebRTC Media Servers - SFUs vs MCUs – WebRTC.ventures. Hope, it is accurate.

I already installed Jitsi on a small (2 vCPU, 4 GB RAM) VPS for testing. The bigger problem is to get 10 participants for a test.

BTW, as expected, this is indeed a running topic. Found Jitsi Bandwidth Calculation requirement.

Thank to you all. I can continue from here.

You can just open multiple tabs on browsers, use phones, tablets e.t.c… 10 is not that hard to test.