Problem with simultaneous display of tiles view

Problem with simultaneous display of tiles view.

Self hosted Jitsi server.

15-20 clients are connected.
5-7 clients in a local cable network with a server, 4 of them via wifi.
7 clients - via wired Internet from other offices.
4 clients via mobile networks.

In tile view some video is lost.
Tile view is enabled on all devices.

The first computer on which it is easy to observe what is happening is connected to a local network with a server.
It can be seen that the video disappears from computers that are connected to the same local network. A black rectangle with a blue low bandwidth icon is displayed.
It is unlikely that the delays in the local network can be so large.
At the same time, some of the customers who connect via an external Internet line and even mobile devices are visible.

If I bring this user with black rectangle to the top, then the video will good from him.
It turns out that he has a normal stream bandwidth and the video quality increases.
The tile mode does not work correctly if there are 15-20 participants.
When there are 2-5 users, everything works relatively well, but not every time .
We tried different browsers - Chrome and Firefox.

I tried to uncomment the parameter:
useNewBandwidthAllocationStrategy: true,
It got a little better.

Server - 16 GB of memory, 4 cores, 1 GBIT LAN connection. Internet access 300 Mbit

In the previous version, which was a year ago, and later stopped working due to changes in browsers, there was no such problem with 20 users working simultaneously in tile view.
And the Internet speed was only 100 Mbps.
In addition, the video quality has been increased in the settings.

In the current build, video loss from users, even with standard settings and in local network.

How to fix it?

Another experiment.

Server - the same as above.

  1. A client on a local network with a server
  2. The client via the Internet
  3. Mobile client via wifi (in the same network with the client from the Internet)

Tile view is enabled for each of the clients.

Periodic indication of suboptimal network operation.

The very first notifications appeared about the suboptimal operation of the mobile client.

The upload and download status of all clients is in the download direction.
When there is a focus on the mobile client, the download from the mobile client increases. The indication of suboptimal network operation disappears. The video quality is improved.
Basically, the video quality from all clients in tile view does not exceed 360p
After what time notifications about the suboptimal work of client No.1 are received in his own window.

What nonsense is this? Tile mode for 3 clients is not functional?

The experiment was performed in the evening, when there were almost no devices left in the local network with server and client No.1.
A Chrome browser was used (on computers) and a Samsung browser on a mobile device.

If you look at the result of the tile mode, the quality of each individual picture is very low.
Significantly worse than for last year’s build.

Based on similar posts, I’m not the only one with a problem:

If you think people are going to be enthused to help you, with this kind of attitude, you’re sadly mistaken.

Maybe somehow the settings can bring back the previous algorithm of work?

There is no benefit from the current state of the product. It is impossible to use it for its intended purpose.

The main problem is that in tile view, the flow from users seems to be forcibly reduced.
As soon as one of the users is set on top (tile mode is disabled), the upload speed from this user immediately increases significantly from 300 kbps to 3000 kbps.
And it works perfectly even with increasing the resolution to 1080p, adding:

constraints: {
video: {
height: {
ideal: 1080,
max: 1080,
min: 240
}
}
},

It seems that the users who are set on top, receive a signal in their browsers and the upload flow increases.

How can I manage the upload flow from users in tile view?

This is called layer suspension. If nobody is watching your hd, there is no point of you sending it to the bridge.
You can disable it using

what do you mean by that exactly ? if you have increased the screen resolution for clients, it could have far exceeded the gains that you would have acquired by bumping the Internet speed from 100 to 300 Mbits/s. And if you don’t have optimized the settings when upgrading, the maximum network capability could have been exceeded.

Damian, thanks for the answer.

This is probably what I was looking for.
It’s just not clear what problems Chrome users may have if I use
this setting enableLayerSuspension: true,

Or is it better to use Firefox when the option is enabled?

Please explain the purpose of the option:

// Enable / disable simulcast support.
// disableSimulcast: false,

What will enabling this do?

Gpatel-fr, I don’t understand what you mean.

I described the problem:
The release of last year, with an increase in camera resolution, worked at a lower Internet bandwidth. (Even with a higher resolution setting).
The new release does not allow me to work in the same mode as the old one, even without increasing the resolution.
At the same time, the Internet speed is increased, QoS is enabled both on the network with the server and on remote routers from which external users connect. And there is no result.

And I did another 2-3 user tests, which shows that the bandwidth is in a normal state. it is enough to transfer videos between several users in higher quality. But all the same, messages are issued about suboptimal network operation, which suggests a problem in the detection algorithm.

There is a documentation where simulcast is explained. Simulcast has been introduced in 2016, and you have no idea of how the system you installed works.

Thanks, I’ll read it.

I’m not a system developer and I can’t know all the nuances. I study it as information becomes available.
I haven’t seen a single person who knows everything in all areas of IT.

Damian, I conducted an experiment with
enableLayerSuspension: false

This doesn’t work in Chrome browser. (both in the desktop version and in the mobile version). Unloading does not increase.
But it works in Firefox. The upload goes up to 3000 kbps.
Indications in tile mode about suboptimal network operation - does not appear.
The Firefox does not show the resolution of the video received from users.
E2E RTT averages about 40-60 for cable connections and about 70-80 for mobile devices.

I will continue the experiment with the settings.

What will it give by using the setting:
useNewBandwidthAllocationStrategy: true, ?

Why does enableLayerSuspension: false not work in Chrome?

And another interesting point. Perhaps it has something to do with Firefox on a particular computer or several, but this is definitely not one case.
In tile mode, my own video is not displayed for me. In the settings, it is not forcibly disabled. If I bring one of the users to the top, then my own video is not displayed in the side bar.
In Chrome on this computer, my own video is displayed.
On these computers, its own video is displayed while the user is alone in the conference.
The Firefox browser cache was being cleaned. Unsuccessfully.

In tile view we request the appropriate layer to the bridge. That is, if your tiles are ~360px in size we are not going to request 1080p, but 360p.

This is by design because otherwise most users will choke on either the bandwidth or the CPU usage due to decoding such large streams.

I guess you can try disabling simulcast, but you may run into the problem I mentioned above.

I have already described the problem above.
20 users and all have a tile view enabled.
In the release of last year, all users had a video and there were no special problems.

A fresh release and even 10 users will get a problem with the display of the video, the fading of the image into a tile view.
It’s not even about 360p.from users, and the complete disappearance of the video.
I see that they have no problems with network bandwidth.

So I asked how to fix the situation.
What exactly should I set in the settings so that the tile view mode works for 15-20 users on each computer and the video does not disappear.

Now I’m trying to put different combinations without fully understanding the final result.
Therefore, I asked a question to those who know exactly how to achieve this.

Do you see the problem with Firefox only? Are you experiencing if you have only lan connected devices with chrome only? What about wifi and lan with chrome only?
We have seen in the past problems with Firefox and bandwidth estimations, also we have seen a faulty wifi device scanning to bring down the bandwidth estimations to browsers on the same wifi.

The problem is not the sending, the problem is on the receiver side, that its bandwidth estimations are low and the bridge starts shutting down streams to it to preserve bandwidth. When I ask do you experience it with Firefox, I’m asking whether the Firefox stop seeing videos.

  1. I installed a fresh release according to the instructions:

[How to] How to build Jitsi Meet from source: A developer’s guide

  1. No special changes have been made. Minimal changes have been made in the settings.

  2. I’m trying to use a tile view with 10-15 users. Everyone uses Chrome for the desktop.
    Most of them are on a local network with a server and are connected by cable. Some users are on the network with the server, but connected via Wi-fi access points.
    Several more users are connected via the Internet.

The router through which the server accesses the Internet is configured for QoS for receiving and sending traffic.
The routers of users over the Internet are also configured to prioritize traffic towards the server.

The video disappears even for those who are connected via a LAN cable.
Moreover, the main computer on which I conduct the test gives a message about the suboptimal operation of the network for my own video in a tiled view.
Some video disappears and a blue indicator is displayed.

If I bring any user forward, even with a missing video, the stream is restored and the video appears.

  1. A similar experiment, only everyone uses Firefox.
    The quality of the tile appearance is slightly improved.
    Firefox still gives an indication on the video of some
    users, which is not optimal.

Firefox does not provide information about the resolution of the transmitted video. Only download, upload and percentage of losses (zero).

  1. I set useNewBandwidthAllocationStrategy: true in the settings: true
    The problem partially goes away, but there are still fading videos, notifications about suboptimal network operation (Chrome and Firefox).
    It looks a little better, but still not workable in a tiled view.

  2. Setting enableLayerSuspension: false
    1 computer on a local network with a server + 1 via the Internet + 1 via mobile networks.

In Chrome (on all 3 devices in the current experiment) there is no effect. Uploading from users does not increase. Messages are still issued on the tiles about the suboptimal operation of the network.
The computer on which the test is being conducted gives out about its actually not optimal video, which is absolutely not realistic, since it is on the same local network with the server and the network speed is 1gbps. There are almost no other devices on the network. At least, the interference they create cannot be compared to transmission over the Internet.

Changing the browser.
Firefox (on all 3 devices in the current experiment) - the upload from each client increases. It seems that even the indication about the suboptimal operation of the network disappears.

I combine: Chrome (on the main computer on the network with the server) + Firefox on remote ones via the Internet.

Indication of suboptimal network operation on a computer with Chrome.
Firefox - works as described above mode.

All experiments were carried out in a tiled view.

I want to clarify again. In last year’s release, everything worked fine with the existing user configuration.
The new release had to be installed due to the termination of Chrome support. But at the same time, the old release works in Firefox if I run it.

Can you reproduce the same issue on meet.jit.si?

Why do you expect that?

Are you running a xserver and chrome on the server machine? That is not a good idea and can lead to unpredictable results in my opinion.

Mind that browsers change every 4 weeks now.

What upload do you expect from clients when everything is in tile view? Depending on clients display they would be uploading 180p to 360p max.

When you experience a problem with some devices, do the same test with same devices, same network but using meet.jit.si, if you do not observe any issues in that case, that will easily ruled out network problems.

As you have done manual install, does your websockets to the bridge work?

Reproduced the experiment.
I use meet.jit.si

1 user - in the network where the problematic server with the cable Internet is 300 Mbps.
2 user - cable Internet 100 Mbps.
3 user - mobile internet. 4G

Browsers - Firefox - on all desktops and Samsung browser on a mobile device.
Tile view for 3 users.
Display only on mobile video - the network is not optimal.
In all 3 tiles, the uploading is more than twice the downloading.

Chrome browser:

An incomprehensible performance begins.
User 1 logs in and creates a conference. Sets the password.
User 2 - connects to the conference and enters the password.
User 1 is thrown out of the conference and a password is requested to connect to the conference.
The password is re-entered. User 1 connects to the conference.
I connect my mobile device and Chrome browser. Also unstable.
Users are thrown out one by one, especially if I use tile view.

Maybe there are some features of working with cameras?

It is not realistic to use Chrome.

User 1 - 4K camera
User 2 - FHD camera
Mobile device - built-in 720p camera

Even in the version on meet.jit.si uploading is more than downloading on the Firefox browser. And in this case, it is a more stable solution of the tile view. Otherwise, the video just stops randomly at users.

No. I have 2 virtual machines with the Jitsi version of 1 year ago (2 cores and 6 GB of memory, Ubuntu 20) and a fresh release (with a lot of allocated resources - 4 cores and 16 GB of memory, Ubuntu 20).
I can run these virtual machines alternately.

Each of the users connects from their own device.

I noticed that as soon as the upload from the user is at an acceptable level, in tile view, the image from it does not disappear.

Yes, conducted and described above.

I think yes.
Access to the server on port 10000 is working.
If I change 10000 UDP to TCP on the router, the video does not work.
But just in case, I’ll check again.