Web client optimisation

Hi everyone !

We just finished to deploy our self-hosted Jisti insfrastructure on AWS.
We use jitsi-meet-torture before deployment to stress our infrastructure. JVB are configured to be autoscaled (Fargate) and everything is working fine (up to several hundred users spread over many rooms).

We are now working on an optimisation for our company.
Currently, we can go up to 170 users in one room with theses informations :

  • We must use Firefox 78 ESR
  • Tested with only 4 videos enabled
  • We can go higher with jitsi-meet-torture with chrome-headless

I think this lack of performance with our browser came from the number of tiles shown.

What we had test :

  • Custom Webpage using Jitsi API with remove DOM Elements (event on DOMContentLoaded) : very bad idea… generating sooooo much console errors !
  • Playing with lastN
  • Disable “tile view” : but DOM Elements still here, hidden
  • Using jitsi-meet-electron release 2.4.1 : better performance but lagging from 200 users

This is our configuration config.js :

config.channelLastN = -1;
config.lastNLimits = {
    5: 5,
    30: 5,
    50: 5,
    70: 2
};
config.startAudioMuted = 1;
config.startVideoMuted = 1;
config.disableH264 = true;
config.constraints = {
    video: {
        height: {
            ideal: 360,
            max: 720,
            min: 240
        }
    }
};
config.enableLayerSuspension = true;
config.disableAudioLevels = true;
// Octo active
config.testing.octo = {probability: 1};

And interface_config.js :

interfaceConfig.DISABLE_VIDEO_BACKGROUND = true;
interfaceConfig.DISABLE_JOIN_LEAVE_NOTIFICATIONS = true;
interfaceConfig.DISABLE_FOCUS_INDICATOR = true;

We are looking for 2 things :

  • How can we optimize client side performance (especially the number of displayed tiles) ?
  • Is it possible to disable all tiles to see only one (like webcast/streaming mode) ? (i’ve already found how to hide microphone/camera button with js files) We need to cast some messages from our CEO to our employees (with 2 targets : room of 1000 participants and room from 1 000 to 25 000 participants)
  • Is it possible to catch Jitsi stream to use it in <video> html5 tag ?

Do you have any tips to optimize the webclient ?

Also, I would like to thank you all for tutorials and tips available on this forum !

Everyone follows me” may be helpful