URGENT - Low image quality after update

I will check how it looks on screen… Here is a screenshot of what we are doing with Jitsi, it will help you understand our need for 1080p :slight_smile:
(I blurred her face because i did not ask permission to share this)


Not to stray too far off topic, but I’m curious. Are you using Jitsi for both the background screen share as well as the live video? And are you using chromakey or some other technique to remove the background on the live video? And you’re doing the compositing with OBS?

@jallamsetty, we had a call with 5 people, only 4 of whom were sending video feeds.

Client 1 - Main [Moderator] - Resolution 1280x720
Client 2 - 640x480
Client 3 - 640x360
Client 4 - 360p
Client 5 - No Video

Our constraints were set at:

Yet, we still got those results. The server bandwidth (and bandwidth of Client 1 was 300Mbps up and down as shown in the attached image).

The other clients averaged around 100-150Mbps on their own networks.

Memory consumption on the Server was 0.9% and CPU consumption was around 2.9%.

Clearly, there was more than sufficient bandwidth, yet, those were the resolutions we got. Only one client got 720 and even that wasn’t sustained for the entirety of the call. Something is not right… :confused:

We have setup a rudimentary studio with a Green Screen, some controlled lighting and sound dampening panels
I capture using a C920 webcam.
There is a capture card for the presenter’s PowerPoint (simplifies the whole thing as people are using their own computer, that they know and love!).
We bought Rode Wireless Go microphones for better sound quality. (close capture)
Microphones are connected to a sound interface for better control.
The live compositing is done using OBS studio and piped to jitsi with the OBS-virtualCam addon.
We use virtual-cable to manage audio during the presentation so that the presenter does not hear loop-backs but still can hear the participants.

The whole thing is remote managed and “self-service”. There is an Elgato Stream Deck for the user to manipulate scenes and functions in real-time.

This setup was so successful that we are now building a permanent studio in the basement of the business and might add another one this winter.

1 Like


Your case is a corner case because there is 1080p involved and like I explained before, we made it harder to request higher resolutions (> 720) for simulcast case.
Stop mixing up these 2 different scenarios.

Where (files? settings?) was this change made, and how can I hack my way back until this setting is in the config.js?
After reading your thoughts on the simulcast function, I would rather have it activated!

You can change the setting here - https://github.com/jitsi/jitsi-meet/blob/master/react/features/video-quality/constants.js#L8

That might be a part of the issue… This setting competes with the default setting in the config.js!

The default is 240, not 180 in the config.js for the low-end… I don’t know about all the interactions, but it might be an issue…

Will raising this constant to 1080p make it “easier” for jitsi to choose 1080p ? Because you said that something was making it “harder” to go at higher resolutions.

1 Like

Oh, also, where can I find this file on my install?

That doesn’t make sense to me. Are these all chrome clients ? Is your JVB running the latest version ?
Also can you please check if layer suspension is enabled in your config.js ?

1 Like

No, these settings do not compete with the one in config.js which is for the camera constraints and not the JVB send/receive constraints.
Yes, raising high to 1080 will fix the issue.
I am afraid you will have to clone the jitsi-meet repo, make the changes, build it and then copy the files over to your deployment.

Oh… I am a long time linux user, but that is new territories for me!
How would I deploy it then? apt cannot work in that situation can it?

Once you build jitsi-meet, you will have to copy over the files in libs dir over to your deployment at /usr/share/jitsi-meet/libs

Thanks a lot, I will re-read this hundreds of times to try and understand it!

From what I understand, going with our own “fork” makes it impossible to use “apt”
I have to build from source every time I upgrade, is that it?

(I use apt a lot but never really gave any thoughts on the inner workings of the “beast” :stuck_out_tongue: )

@jallamsetty, didn’t make much sense to me either. Although, I’ve also heard that tile view is set to display at 180, which makes no sense to me, seeing how terrible that resolution is and how many different resolutions we actually reported.

Yes, enableLayerSuspension is set to “true” in my config.js

Can you please disable layer suspension and see if it fixes it ? Resolution requested in tile view depend on the number of participants and the size of the tiles. Yes, we did make it harder to request higher resolutions which can again be controlled via this config - https://github.com/jitsi/jitsi-meet/blob/master/config.js#L275
You can lower the thresholds here for the tile height needed for requesting SD and HD and see if that makes a difference.

Ok, I’ll try that and get back.

I presume this involves cloning and compiling as well? :flushed: The Developer’s handbook was really tough for me to follow, the last time I tried. I’ll take a stab again.


Thanks, no this one is a config.js setting and needs to be modified in /etc/jitsi/meet/yourdomain.com-config.js. You may want lower thresholds for requesting SD and HD videos, something like when thumbail height is 100, request SD and when thumbnail height is 500, request HD. Right now its set to request SD only when the thumbail height reaches 360 and 720 for HD.

Oh, you’re right. Phew! Glad I don’t have to go the Developer route - for now… lol.
Okay, will try both changes out.

1 Like

@Freddie, This may help, if you end up having to go that route.

@corby thank you. Yes, I actually tried that too - it was easier to follow, but I got stuck somewhere along the lines, it was late at night and I was tired, so I paused it. I definitely need to get back into it though - I want more power over my environment and deployment. Thanks!

1 Like