Is your feature request related to a problem you are facing?
We use Jitsi for video conferences which are recorded and replayed as learning tools. Each video-sending participant in the meeting is a critical part of the presentation and plays a part in the overall package. However, not all participants have video infrastructure (some join by voice only) and some others who do, opt not to turn on their cameras. We allow this. BUT we do not want those people taking up valuable space on the screen.
Describe the solution you'd like
Participants who are not sharing video in a meeting should be hidden from the video display area, rather than having them taking up valuable display real estate. It's not only distracting to those participating with feeds, but also reduces the value of the recorded meeting when there are a lot of blank boxes, not only filling up the screen, but resulting in even smaller video sizes in the Tile View.
Describe alternatives you've considered
There really is no possible alternative with the way Jitsi is built. We thought about perhaps moving the tiles of non-video participants to the bottom, which would really only minimize one of the issues, but we'd still be left with a shrunken display space. But even that option is not possible because there is no way to decide where specific tiles go in Jitsi, nor is it possible to move the tiles around.
I've seen posts on similar requests where there was some mention of "privacy". Hiding the blank areas occupied by non-video participants to make room for video participants does not in any way create a privacy issue. In fact, having non-video participants showing up in the tile view has proved to be a greater privacy concern for people sharing their video feeds. People feel uncomfortable with the in-your-face reminder that someone else is on the call who can see them but they can't see. When these participants are hidden (_and shown in a participant list_), it makes for less discomfort. People know they are there as part of the meeting, but they are not diminishing the value of their viewing experience.
This feature is not groundbreaking as other popular video conferencing platforms offer it. It does not pose a privacy concern, otherwise, this would have been an issue with the others who currently offer it. It's a much-needed feature in video conferencing, because the whole idea behind video conferencing is to view "videos". It is intrinsically useless having participants who are not sending video feeds taking up space on the screen - valuable space that can more appropriately be used by video-sending participants.
The privacy concern is having a participant in the meeting and you don't know about it, this is a big concern especially on an environment where you can have guests in a meeting or anonymous environments like meet.jit.si.
The list of participants is the video thumbnails.
Thanks for sharing your thoughts on this, @damencho. But this is why the participant list would play a role. A user with a hidden feed is markedly different from Jibri that performs a hidden function, so the implementation would be different. Participants would know the people are there, they just shouldn't have to view empty tiles. This is actually a BIG request from our users. If the argument is that people need to know who is in a meeting (which I absolutely agree with), we can implement it better than taking up valuable real estate showing blank tiles. [The speaker stats function currently shows all those in a meeting and the count at the top shows the number of participants in the meeting. I guess the speaker stats could be expanded on to show a more appealing interface, still listing the participants and it can remain collapsible?].
Again, practically every other video conferencing application has this feature; it's really not the privacy issue that you seem to think it is. And it's very, VERY useful. One of the most important resources in a video conference is the display real estate; its use needs to be optimized.
By the way, this can be a feature that's available only in secure domains? Password setting, secure domain and the lobby feature all already provide very effective ways of filtering who gets into a meeting. Please consider this feature as a dire necessity. It's negatively impacting the user experience.
I see your point, but we do not have this on our roadmap and it is a radical change in the UI. We may resolve this issue as part of the big conferences UI work, I will make sure I bring it to the team.
The speaker stats does not work for such a purpose as it will show me 3 times if I reload 2 times in a meeting, the reason is that my id changes every time I reload on meet.jit.si. You need a list that holds data that can be trusted and always reflect reality, who is currently in the XMPP muc.
One problem I see with such an approach is that we have meetings where there is one or two video muted participants and 10-20 dial-in participants, than what it will show one or two-person in the UI, it looks really weird for 30 person meeting.
And I really don't understand what is the concern about participants without video ... what is the problem there? That you need to scroll to see people's videos? I think these problems will be solved with some redesign of the UI where you have all video-enabled participants grouped (probably something we will need for big conferences), but you still have all thumbnails in the UI, so you clearly see how big is the conference.
And if someone without video is talking, where would you show the active speaker icon and audio levels?
Appreciate you thinking through this, @damencho. I think you're looking at it from one very narrow angle though. Yes, I agree with you that the Speaker stats is insufficient for such purpose; I mentioned it as perhaps a building block for fleshing out a more robust and functional Participants list.
You have to look at this from a real-life perspective. If I was having a meeting in a conference room at work with people on-site and then some who dial in, I see the people on site and I hear them, but the people dialing in, I only hear. We don't put empty chairs in the conference room to represent people who are calling in on the phone. Video conferencing is supposed to mimic real life use as closely as possible. Having blank empty tiles that are functionally useless on the screen just creates a bad UX.
There are tons of concerns about having non-video participants occupying the screen. Like many have mentioned, it takes up valuable screen space. The tile view adjusts in size to accommodate the number of videos (and in this case, non-videos) that are present. There is absolutely no functional value to having a blank rectangle taking up space hence making the video-sharing feeds smaller. It actually looks worse, to be honest with you, even just merely from a viewing and design perspective.
There are other 'serious' implications though. Like in our case, we record our meetings (which show people in activity) and make those videos available as training tools to others. People watching these videos don't want to see blank tiles, nor do they prefer to squint to see who's on screen (because there are so many blank tiles, the ones sharing videos are tiny). It's more than just "scrolling to see people", it's the fact that it's a complete waste of display real estate (which in the world of computing and technology is a VERY valuable resource - hence the reason why we all keep investing in larger and larger screens).
You can enable the "active speaker" and "audio levels" feature on the participant list. In fact, the participant list would be such a tremendously useful space because you can also move the muted (video and audio) icons there, next to each participant's name. And yes, if there are 30 people in a meeting with only 2 people sharing video, believe me, people would rather view those 2 videos in larger tiles than have them squeezed in-between 28 blank tiles.
Hope this makes sense?
Here's an example: look at these three screens. This is a real-life meeting we had (using another platform). Compare image 1 (only video-feeding participants) with image 2 (both video and non-video participants). Now, look at image 3 with the non-video participants hidden. It's just way more efficient use of display resource.
All participants showing video

All participants (some video, some no video)

Only video showing participants

Notice how the display space is used waaaaaay more efficiently in the 3rd image. THIS is why it's crucial to hide non-video participants.
Appreciate you thinking through this, @damencho. I think you're looking at it from one very narrow angle though. Yes, I agree with you that the Speaker stats is insufficient for such purpose; I mentioned it as perhaps a building block for fleshing out a more robust and functional Participants list.
You have to look at this from a real-life perspective. If I was having a meeting in a conference room at work with people on-site and then some who dial in, I see the people on site and I hear them, but the people dialing in, I only hear. We don't put empty chairs in the conference room to represent people who are calling in on the phone. Video conferencing is supposed to mimic real life use as closely as possible. Having blank empty tiles that are functionally useless on the screen just creates a bad UX.
There are tons of concerns about having non-video participants occupying the screen. Like many have mentioned, it takes up valuable screen space. The tile view adjusts in size to accommodate the number of videos (and in this case, non-videos) that are present. There is absolutely no functional value to having a blank rectangle taking up space hence making the video-sharing feeds smaller. It actually looks worse, to be honest with you, even just merely from a viewing and design perspective.
There are other 'serious' implications though. Like in our case, we record our meetings (which show people in activity) and make those videos available as training tools to others. People watching these videos don't want to see blank tiles, nor do they prefer to squint to see who's on screen (because there are so many blank tiles, the ones sharing videos are tiny). It's more than just "scrolling to see people", it's the fact that it's a complete waste of display real estate (which in the world of computing and technology is a VERY valuable resource - hence the reason why we all keep investing in larger and larger screens).
You can enable the "active speaker" and "audio levels" feature on the participant list. In fact, the participant list would be such a tremendously useful space because you can also move the muted (video and audio) icons there, next to each participant's name. And yes, if there are 30 people in a meeting with only 2 people sharing video, believe me, people would rather view those 2 videos in larger tiles than have them squeezed in-between 28 blank tiles.
Hope this makes sense?
Not really. This means that the whole meeting I need to switch and watch the participant list. Or you mean we need to be showing a participant list next to the videos, so to waste another valuable space for video. What I mean is that your statements contradict.
One thing that is very important to people in a meeting to be seeing who is talking. Hiding that important information will not happen.
You seem to be using the conference software not for meetings but for some other use-case, in which hiding the non-video thumbnails make sense and is important, I understand. What I'm trying to say that there are many other use-cases that this does not make sense. As I said we will think about it in the context of big conferences UI, I will make sure to bring it up. Maybe the UI designers can come up with another idea, of not hiding stuff but still cover more use-cases.
To be candid, I struggle to see why you don't agree with the need for this feature. No, you really don't need to switch, if the participant list is a collapsible pane. And if you have people who are not showing videos anyway, you'll actually be freeing up space for the ones that are showing video, not the other way around.
Video conferencing is not strictly for office-type meetings - it hasn't been for ages. Unless you're saying Jitsi is only meant to be used for that scenario, then I don't see why the use case has to be limited. I have honestly NEVER seen anyone wish they could have static boxes of people present in a meeting who are not actually showing video (and I've used so many different platforms in my corporate space in all my professional life). I showed an example of how it makes sense to hide non-video participants, it's really not the only way I use video conference.
I appreciate you committing to bringing it up. I think we can both at least agree it's not the privacy issue you initially thought it was. For most of us, our desire would be to maximize use of limited display area. Having static boxes that do nothing but denote that someone is in a meeting does not accomplish that.
P.S: Practically every other video conferencing platform implements this feature. I don't want to encumber you with screenshots, so I won't post any. 馃槃
Not showing a real list of all participants is a privacy issue and that will never go away.
No, you really don't need to switch, if the participant list is a collapsible pane.
But then, why would you put information in a pane that everyone will need to expand to watch for such a basic thing. And to free up space, you will add another pane which will also take space ... We used to have a contact list pane with a list of participants, and it proved to be useless so we removed it at some point ...
P.S: Practically every other video conferencing platform implements this feature.
I don't want to comment on others, as there are also examples of horrible UI there, where people cannot understand what is going on ...
Noooooo, not at all suggesting that a real list of all participants is useless. 馃槼 I think I've in fact repeatedly made an argument to the contrary. We need a real participant list, we need to know everyone that's on a call, we just don't need that list to be a set of empty tiles.
It really takes just as much effort to click on a collapsible pane as it takes to switch from one view to another. And saving display space for videos is soooooo much more crucial. I can't emphasize this enough.
When you have limited resources, there's always an opportunity cost. At the end of the day, the wisdom is in balancing the needs against the cost and choosing the one with the least cost and the most value.
I hate to bring other platforms into the discourse too when I'm talking about Jitsi - not just because I don't like to trash other people's efforts, but because, clearly, I chose Jitsi over them for a reason - or a bunch of reasons. I love Jitsi. I love its simplicity. I love its flexibility and versatility. I do believe it can be better though and this request is certainly one to make it better - not just better, _more functional_, in fact.
I'm an illustrative communicator, so pardon me for the images. But here's a rough rendering of what this could look like. Notice that "Stacy" does not have a cam, is not sending video, but is currently the active speaker. Everyone can see that in the Participant list AND the display area is still maximized for video.

@fremzy If i can jump in here i totally agree with you!
Simply have a list of participants on the side would make everybody know who's in the meeting. Those not sending any video should not take up blank spaces in the screen for no reason, seems no point in that. Isnt this how a Webinar works anyway (sort of)?
Besides doing it this way may save bandwidth allowing more people to be in the meeting possibly.
I believe that the result can be achieved by ordering the video of the participants who have the camera enabled for the first spaces in the grid view. Like other apps do.
@beyondlevi Are you saying hypothetically or there currently is a way to do this?
Agreed here, the empty blanks are annoying to my users, and they keep requesting that audio-only users not have empty tiles.
Count me +1 interested.
I'd really love to see this feature. There are numerous applications for hiding non-video participants. Imagine a TV-Show: The cameras don't point at the audience but at the persons speaking or performing and so on.
I am regularly attending meetings where most of the users have their cameras switched off and their microphones muted throughout. Though there are 70+ people in the meeting, you only see the ones (2 to 10 usually) with their cameras on. You can still chat with the non video participants and view them in a list but all this isn't visible "on stage" as we stream all this to different platforms.
The one thing missing from Jitsi for me is really this very feature to hide the non video participants to achieve an uncluttered speaker view (when there are more speakers simultaneously as in a musical band for example) for the people watching the meeting but not actively participating through the whole thing.
@dingodoppelt @0x41mmarVM Please see here, I put together a discussion based on various requests such as this one for hidden user. It doesn't appear anyone has successfully done it yet. https://community.jitsi.org/t/community-discussion-on-hidden-users/80086
I felt like I was close with this one: https://community.jitsi.org/t/jwt-hidden-user/79485/14 I just couldn't figure out what nosmo meant by using a different auth in the config.js
Yes! Please! :) We're starting to use Jitsy more and more and the black screens really are a nuisance. We'd really like to be able to hide the users without a camera on for the overview and being able to play togehter online and take visual hints. Yes, there is some lag, but its doable for sure.
Would really help to not have 10 black screens inbetween.
+1 for me. Please add the feature, the black squares are really annoying.
Everybody who has no video can be hidden by adding following line to the "all.css" file located in /usr/share/jitsi-meet/css/.
.display-avatar-only{display:none !important}
@tomasbelina, you, my friend, are a genius! Thank you!!! This worked! 馃憤馃従
Had to adjust the syntax a little bit before it worked for me (although I'm not certain that was what helped). Put a space after the colon:
.display-avatar-only{display: none !important}
But I also needed to clear my cache before I could see the change.
Just in case anyone else doesn't see it work immediately - clear cache, restart services.
@fremzy @tomasbelina what if they are participant without a video?
What I have done is settup all my non-particapents up wit the same username as "Watcher".
api = new window.JitsiMeetExternalAPI(domain, options);
api.executeCommand("displayName", "Watcher");
api.executeCommand('subject', ' ');
Is there a watch to assign this group a class or id, and hide only them?
@ProdigyView, sorry, I probably don't understand your question clearly. But this code will hide every meeting participant who is not sharing video:
.display-avatar-only{display: none !important}
You don't need any extra steps.
@fremzy @tomasbelina what if they are participant without a video?
What I have done is settup all my non-particapents up wit the same username as "Watcher".
api = new window.JitsiMeetExternalAPI(domain, options); api.executeCommand("displayName", "Watcher"); api.executeCommand('subject', ' ');Is there a watch to assign this group a class or id, and hide only them?
This issue is solved by css selector. What you asked for is to hide every participant with certain displayName and its not solveable by this way.
Most helpful comment
Everybody who has no video can be hidden by adding following line to the "all.css" file located in /usr/share/jitsi-meet/css/.
.display-avatar-only{display:none !important}