Firefox simulcast is still experimental (edit: and disabled by default), so Firefox is only sending HD to the video-bridge and no LD stream. The HD is then relayed to everyone even as a thumbnail.
If you don't need to see everyone's video all the time, set channelLastN: 5 or a similar number, and only the last N speakers video will be broadcast
If you don't need 720p (1280x720), change the constraints: video section to be something like 360p (640x360)
Enable layer suspension so that HD is not sent to the server when not needed: enableLayerSuspension: true
They're quite responsive on GitHub ( https://github.com/jitsi/jitsi-meet ) and I'm sure additional details regarding any bottlenecks would be appreciated.
Identifying even modest improvements now could result in large memory and bandwidth resource savings over the next few weeks and months.
For my use case (around 10-15 friends, for informal meet-ups) it has worked spectacularly well.
Sounds like any of the $5/month VMs from the likes of DO, Linode, etc should handle this. Luckily there is a small hoster with a data center near me with similar specs/price. Their free offering on AWS works fine but it would be nice to get lower latency and have my own domain.
Thanks for sharing!
I've been wondering about videoconferencing scale, since Zoom seems to have handled a huge explosion in usage very well. Are they just very good at autoscaling AWS instances, or do they use cool tricks to reduce bandwidth?
If you switched to p2p instead, then each participant would need to send 10 streams instead of 1, and most people's upload bandwidth is much lower than their download (at least in the US).
It's possible for the server to make decisions on which video streams to forward (e.g. last x talkers) to reduce the number of outbound streams, but switching streams takes a bit of time (you'll need to get a new iframe from the just-switched-on participant) which affects the interactivity of the session.
Modern video codecs also allow for layering of into progressive levels of enhancement, so lower detail versions of the stream can be forwarded to participants will lower bandwidth without the server needing to transcode anything. (Not sure if Jitsi has implemented anything like that.)
There'd be a CPU/bandwidth tradeoff being made here, I wonder how the prices on standard cloud providers would compare.
Tradeoffs.