How is Connection Quality indicator decided? (Green, Yellow, Red)

Hey community,

Any one knows how different connectivity indicator is decided (Green, Yellow, Red)? I went through code; especially lib-jitsi-meet, however there’s lot in there in determining the percentage for connectivity.

Do we have a quick short answer on what plays a major role in deciding the connectivity?

(new values: 0-9% - red, 10-29% - yellow, 30%+ - green)

Any response is appreciated here. Thanks!

It is based on upload bitrate for the current resolution that is used to upload video for. And also the reported packet loss.
When there is no video it is just the packet loss.
This is in general.

1 Like

Thanks Damien.

Interestingly. We are seeing red connectivity tiles most of the time on our calls. Both for video and without video cases. Moreover, we don’t really see obvious issue with viewing video of the remote user whose tile shows red connectivity.

Also, packet loss is always showing 0% in all cases below. Any idea, what’s going on here and what can be done to improve the experience? (The red icons are really annoying as it shows up for most of the tiles for us)

@mehtapaxshal Do you have any customizations around maxBitrates ? Do you have bitrate settings under config.videoQuality by any chance ?

Yes, we do have it set. Is that what may be causing/limiting this? Is there any recommendation here?

// P2P preferred codec
// enable preffered video Codec
if (!config.hasOwnProperty('videoQuality')) config.videoQuality = {};
config.videoQuality.preferredCodec = 'VP9';
config.videoQuality.enforcePreferredCodec = false;

if (!config.videoQuality.hasOwnProperty('maxBitratesVideo')) config.videoQuality.maxBitratesVideo = null;
config.videoQuality.maxBitratesVideo = config.videoQuality.maxBitratesVideo || {}
config.videoQuality.maxBitratesVideo.VP9 = { low: 200000, standard: 500000, high: 1500000 };
            - name: RESOLUTION
              value: "480"
            - name: VIDEOQUALITY_PREFERRED_CODEC
              value: "VP9"
            - name: VIDEOQUALITY_BITRATE_VP9_LOW
              value: "200000"
            - name: VIDEOQUALITY_BITRATE_VP9_STANDARD
              value: "500000"
            - name: VIDEOQUALITY_BITRATE_VP9_HIGH
              value: "1500000"

Any recommendations? @jallamsetty

Can you also add maxBitrates for VP8 ? FYI, these are the values configured on our meet.jit.si deployment.

maxBitratesVideo: {
        VP8: {
            low: 200000,
            standard: 500000,
            high: 1500000
        },
        VP9: {
            low: 100000,
            standard: 300000,
            high: 1200000
        }
    },

I see.

we didn’t set anything for VP8. If we set preferred codec to VP9, are we suppose to set VP8 then?

Also, Let me use the meet.jit.si values on our end.

Even if you set VP9 as the preferred codec, the call may fallback to VP8 when endpoints that don’t support VP9 properly join the call (Safari and Firefox) since you have enforcePreferredCodec=false

1 Like

Ohk got it now. Thanks!

In that case, I will set the maxBitrates for VP8 as well (probably similar to meet.jit.si) and try it out.