14 ms·
Jitsi Meet – Improving Scale and Media Quality with Cascading SFUs (2018)
- enriquto 7y agoI would love to use this instead of zoom. Any news about firefox support?
- buovjaga 7y agoPatches are being reviewed: https://github.com/jitsi/lib-jitsi-meet/pull/1062 https://github.com/jitsi/lib-jitsi-meet/pull/1062 Included: "Fix the order of the simulcast streams for Firefox." Subscribe to this issue to keep track of things: https://github.com/jitsi/jitsi-meet/issues/4758 https://github.com/jitsi/jitsi-meet/issues/4758 From the latest comments you can see that Firefox upstream is also improving things.
- hirako2000 7y agoHow come it works for me on Firefox? v70.0.1 Edit: got it, it's that particular feature still missing.
- lioeters 7y agoThey're actively working on it - in the GitHub issue below, Jitsi devs have been engaged with the community, as recently as yesterday. 100% support for Firefox (and other non-Chrome browsers) https://github.com/jitsi/jitsi-meet/issues/4758 https://github.com/jitsi/jitsi-meet/issues/4758
- m-p-3 7y agoI use it for quick meetings on Firefox and so far it works with the limited set of features I need, despite the warning.
- enriquto 7y agoLast week I could not manage to use it for a three-way conversation (after 1h of trying everything, and re-initializing the stuff several times). Sometimes the sound of one participant was missing, sometimes the video of one. When we got it to work for a subset of two people, the CPU of everybody was at 100%.
- cpncrunch 7y agoYou might want to try Janus Gateway instead. It works fine on firefox, and is stable and reliable. https://github.com/meetecho/janus-gateway https://github.com/meetecho/janus-gateway
- PudgePacket 7y agoDid a 6 person meet last night, all with video, and I was on firefox, worked fine.
- hirako2000 7y agoIt's a fantastic open source solution. Can be self hosted. It is to note that traffic does go through the server, hence need decent bandwidth. the server afaik does have the keys to decrypt traffic
- supermatt 7y agoThe server (jitsi videobridge) DOES have the keys to decrypt the traffic - i.e. its not e2e encrypted. This is par for the course with webrtc SFUs (there are some "workarounds" to support e2e encryption over webrtc I mentioned in another thread).
- moron4hire 7y agoI setup my own server yesterday and shutdown the server in the middle of a conversation. The conversation kept going. Traffic only goes through the server for users behind NAT, triggering the TURN path.
- supermatt 7y agoThat is only for 2 participants. For 3 or more (video participants), it uses the videobridge SFU. Source: https://github.com/jitsi/jitsi-meet/blob/master/doc/manual-install.md#running-behind-nat https://github.com/jitsi/jitsi-meet/blob/master/doc/manual-i...
- moron4hire 7y agoI had 4 people, so either the docs are wrong or they have forgone the video bridge on my server and are using their own.
- supermatt 7y agoVery possible the docs are wrong - im not a jitsi dev, so I wouldnt be able to confirm or deny without poking around. BUt they do specifically state that (as linked). That said, it is worth pointing out that this thread is specifically about videobridge (i.e. scaling beyond a full mesh).
- kodablah 7y agoI have been considering developing a simple video conferencing solution using this approach with WebRTC. Basically, I was planning on doing something like this example [0] of server-side peers or just a set of forced TURN servers, whichever approach being deployed on servers at the edge. I figured using anycast IPs, and having server to server communication across regions before then sending back down to the client would be ideal. Each offer and answer signaling would be done via distributed pubsub (e.g. embedded nats) and general persistence also distributed (e.g. something simple like dqlite). Has anyone had success with distributing WebRTC channels like this? Are there any concerns with redistributing, say, raw h.264 and opus as is without special concern for buffering or transcoding? How do slower consumers handle a fast set of UDP packets? Also, I doubt there's a way, but anyone familiar with an end to end encrypted approach with WebRTC and DTLS when a server is in the middle? I figure not since offer/answer is for a single peer instead of broadcast and I see no approach in the browser to doubly encrypt media streams. 0 - https://github.com/pion/webrtc/tree/master/examples/broadcast https://github.com/pion/webrtc/tree/master/examples/broadcas...
- supermatt 7y agoUsing your first solution (a custom pion SFU relay), and selectively routing the streams between "edge" servers would be similar to Octo, as shown here. Using TURN servers instead would not have the benefit of SFU (i.e. clients will have to upload to each peer) - i.e. its still a full mesh network. Using TURN servers with SFU would work similar to your pion solution, however it would also use more bandwidth, as it would be forwarding the same streams multiple times for each peer routed through that TURN server (instead of once per stream with SFU) As for e2e encryption over webrtc via an SFU - yes, this is possible, but its currently very messy (wasm video encoding and encryption streamed over an SFU-bound datachannel with full mesh distribution of the encryption key). There are plans to implement "Insertable Streams" which you will be able to transform (e.g. encrypt) which will allow this to work without the hacks.
- wildduck 7y ago>As for e2e encryption over webrtc via an SFU - yes, this is possible, but its currently very messy (wasm video encoding and encryption streamed over an SFU-bound datachannel with full mesh distribution of the encryption key). There are plans to implement "Insertable Streams" which you will be able to transform (e.g. encrypt) which will allow this to work without the hacks. So currently Jitsi meet the one on the web site is NOT e2e encrypted?
- mwcampbell 7y agoDoes anyone know how the audio quality and latency of Jitsi Meet compare with Zoom?
- elagost 7y agoI've used it several times to chat with family members all over the globe, and I use Zoom at work. Jitsi's great - I don't perceive a difference.
- dergachev 7y agoI've been excited to try it with our company for a few months, but is it as "user friendly" as Zoom for non-technical users?
- tych0 7y agoLoad a URL on your computer. No accounts, no software. IMO, yes.
- APock 7y agoPeople really undervalue the awesomeness of not having to set up an account to use an online service.
- ehsankia 7y agoNo account aside (which both have), Zoom really tries to make you download the app and you have to click a bunch of tiny buttons to get it to open in the browser. Jitsi doesn't do that, it all works right in the browser, including screen sharing and all other features.
- dsr_ 7y agoYes. Installed it yesterday, ran a 12 person meeting with no instructions to the users other than "go to this URL". No issues.
- ehsankia 7y agoI would even say it's more friendly than Zoom. I only tried the hosted version for both, but the experience with Jitsi was orders of magnitude simpler and faster than Zoom. For creating a room, you need an account on Zoom and it's generally complicated to get to from the homepage. With Jitsi, right on meet.jit.si, you simply pick your url name and you're in. For joining, Zoom kept trying to push me to download the app, and had to press two tiny buttons to get it to open in the browser. But by default you have no audio or video, so I had to spend 10m teaching my parents how to enable theirs. With Jitsi, it opens right in the browser, and video/audio work with no issue once they accept browser permissions. At every step, zoom tried getting me to sign up or download their app, whereas Jitsi works fully in the browser with no account. Creating the room is a single click and I get to pick the url too.
- moron4hire 7y agoI've been playing with a custom install of Jitsi Meet for the last few days. It was very easy to setup. I'm kind of fearing trying to deploy it in my company. This has nothing to do with Jitsi Meet and everything to do with the shitshow that is WebRTC in browsers. I can't find any desktop browsers that use the available GPU for hardware accelerated video encoding. Chromium (Google and Edge) says it's "only available on Chrome OS and Android". Firefox has a flag with no scare-provisos, but I've been unable to tell if it's had any effect. By default, every browser on my system was setup to prefer the Intel UHD GPU. I've got an NVidia GeForce RTX 2080 in this laptop. Why not use that? One of the reasons is that all the browsers have a software-rendering blacklist for certain combos of OS/hardware/drivers. There are rare cases where errant WebGL code can cause a full system crash on (checks notes) Android. So if you're one of the unlucky many who have these combos, but also an operating system smart enough to put graphics drivers into userland, you're taking the fast-train to turning your laptop into a blow-dryer. So they tend to take the Intel GPU over the NVidia GPU because apparently Intel's hardware+drivers isn't as buggy. You can override it in the hidden settings, which means nobody overrides it. All of this is to say, you could have a very powerful computer and still have very poor WebRTC performance.
- zapttt 7y agolearn to buy hardware with decent drivers. hint: it's not nvidia.
- quadrangle 7y agoDoes this explain why I get poor Jitsi experience on my laptop and better using the Android app on my phone?? I suspect you are hitting on the exact issue I'm having. I have a Thinkpad with just the Intel 5500 GPU, nothing superb. So, how do I figure out if at least that is being used or not?
- moron4hire 7y agoWindows Task Manager will show you GPU utilization on the Performance tab. Start Task Manager, then start your browser and see if there is an uptick. Then start a meeting to see if there is another one. There probably won't be. Then, disable the software rendering override in your browser: (Firefox: https://wiki.mozilla.org/Blocklisting/Blocked_Graphics_Drivers#How_to_force-enable_blocked_graphics_features https://wiki.mozilla.org/Blocklisting/Blocked_Graphics_Drive...) (Chrome: https://superuser.com/questions/836832/how-can-i-enable-webgl-in-my-browser https://superuser.com/questions/836832/how-can-i-enable-webg...) and test again. Probably need to restart the browser after the change in settings.
- dvduval 7y agoWhat about the cost in terms of per person per hour?
- habi 7y agoIt’s free and opensource.
- gpm 7y agoServer time still costs money, I'd be curious to see how much at scale.
- majkinetor 7y agoIf you have commodore 64 you are OK.
- U8dcN7vx 7y agoDepends on the bandwidth charges of the SFU host, mostly that means computing the volume (5.5Mb/s * participants * duration) though some hosts aren't volume billed in which case it might then be a matter of whether sufficient data rate available (drop the duration) or paying for the peak consumed. That's just the A/V conferencing not file sharing or other incidentals one often finds useful.
- SparkyMcUnicorn 7y agoSomething that isn't mentioned in the docs is room (and server) capacity, or at least rough estimates. The Jitsi team gave some specific numbers on room capacity in the forums. Each room should reliably handle 20-35 Chrome users (Firefox uses roughly double the resources), and has a cap at 75. Apparently if you're only using audio, then rooms of 70+ people will work fine. They're working on upping this number to 500 for configurations that have multiple bridges, as well as improving the UI to account for larger meetings.
- toohotatopic 7y agoWhere does the difference between Chrome and Firefox come from? Is Firefox using a different video format?
- aorth 7y agoPerhaps related to this: https://www.reddit.com/r/firefox/comments/fsz3rk/implementation_of_the_audioworklets_makes_firefox/ https://www.reddit.com/r/firefox/comments/fsz3rk/implementat...
- l3s2d 7y agoSee here for details: https://github.com/jitsi/jitsi-meet/issues/4758 https://github.com/jitsi/jitsi-meet/issues/4758
- woah 7y agoUnfortunately from my experience, Jitsi does not reliably handle 20-35 users
- reitzensteinm 7y agoAny Firefox users among those?
- hyperluz 7y agoToo bad, like most other solutions, Jitsi, by default, shares screen at 5 FPS.
- ygra 7y agoIs that possible to change, perhaps if self-hosting? Video quality of screen sharing and frame rate are absolutely atrocious, to the point that you have to wait ten seconds until text becomes readable.
- hyperluz 7y agoApparently, yes: https://community.jitsi.org/t/screen-sharing-fps/25132 https://community.jitsi.org/t/screen-sharing-fps/25132
- 1over137 7y agoThat's not been my experience. By default, it seems to adapt frame rate based on bandwidth. Some are 15 fps, some more, some less.
- hyperluz 7y agoI was talking about screen sharing FPS. Not, the normal video FPS. I have plenty of bandwidth on my optic fiber connection. You can take a look at the situation @: https://community.jitsi.org/t/desktop-sharing-frame-rate-config-override-not-working-on-meet-jit-si-fps/20819 https://community.jitsi.org/t/desktop-sharing-frame-rate-con... and https://community.jitsi.org/t/screen-sharing-fps/25132 https://community.jitsi.org/t/screen-sharing-fps/25132
- corwin7 7y agoI tried installing this on two different Ubuntu machines using their Ubuntu repo and it did not work. Worked fine on both Android and Ios. This is about what I expect from a java application - the java ecosystem is co convoluted and fragile that the only real options are Android, Ios, and Docker. I wish someone would write something like this in Go or Rust.
- mrpurple_ 7y agoDocker4thewin :)
- cryptonector 7y agoCan someone expand the SFU acronym? I chased the link to sfu-tagged blogs at TFA and an expansion is nowhere to be found. EDIT: Thanks!
- detaro 7y agonon-intuitively at the end of first section: > Selective Forwarding Units (SFU)
- ianmcgowan 7y agoLooks like it's a WebRTC acronym: https://webrtcglossary.com/sfu/ https://webrtcglossary.com/sfu/ SFU stands for Selective Forwarding Unit. At times, the term is used to describe a type of video routing device, while at other times it will be used to indicate the support of routing technology and not a specific device. An SFU is capable of receiving multiple media streams and then decide which of these media streams should be sent to which participants.
- gidam 7y agoJitsi-meet is very easy to install and to setup. "apt install jitsi-meet" and you have almost all done. The documentation is very good. It works great and it is super userfriendly. You have no excuses.
- KingFelix 7y agoOnce I heard about it I gave it a go, just to look at how easy it is to setup. Super easy, + SSL!
- UncleMeat 7y ago> You have no excuses. Billions of users who aren't using linux distros with aptitude have an excuse. This isn't remotely close to the "just works" that you need to get wide adoption.
- omnimus 7y agoYet it is probably the easiest and most "just works" solution to self host conferencing. Of course if you don't selfhost anything it's not option for you.
- cookiecaper 7y agoFYI -- I tried this in a fresh Ubuntu 18.04 LXC container and it failed spectacularly. There's a weird interaction between the NOFILE security limit (`ulimit -n`), Java 8, and Linux-based containers (noted on both LXC and Docker). If NOFILE is too high, Java 8 will paradoxically run out of memory as it tries to allocate some huge number of file descriptors. That took a while to figure out, since generally when you get an error about exhaustion of file descriptors, you expect the opposite! So just set a lower security limit, right? It doesn't seem to work, I'm assuming because something in the Jitsi install process decides it needs to set them really high for the install session. I haven't debugged what component specifically is doing this yet. This results in the install scripts crashing when the installer tries to initialize the Java CA store. In theory one could wait for that crash, reset the file limit, and then resume the install process. This works to a certain point, but every time I tried it, the crash in the CA store initialization would leave the dpkg database in a badly broken state that `apt-get --fix-broken install`, `aptitude`, and some manual dpkg futzing wasn't able to fix in the course of the 3-ish hours I spent working on it (complains on libc6-linux-dev package install that /usr/include/linux/something-something.dpkg-new doesn't exist; that folder structure isn't present on disk). Technically Jitsi is set up by this point because the crash occurs as part of the certbot bootstrap, but I was working on getting Janus to work anyway and just tried out jitsi-meet because they had an autoinstaller that would set up Prosody, JVB, and all that good stuff anyway, so it wasn't really worth plugging through the rest of the way or dealing with the broken half-installed Jitsi, especially since there are many warnings about how you must configure the SSL bits properly in the install documentation. But it'd be great if someone wanted to fix all that and make my life easier. :)
- rebataur 7y agoWe started to use it at our startup. If anyone needs to set it up, we can do so in the cloud for them.
- AnonC 7y agoI like Jitsi because it doesn't require any signups and it's simple to create a channel/room. But the quality of video and audio seems a bit lacking. Does anyone have suggestions on how to improve Jitsi Meet's video and audio quality when working with the official smartphone apps and platform (not self-hosted)? Sometimes (on a broadband connection), for some participants, the video from a broadcaster freezes once in a while, and worse, the audio is many a times not clear even when the video seems fine. This is with just three or four people in the call with one person turning on the video and audio (like a presenter), and the rest of them with no video and with their mics muted.
- GuqLyr 7y agoYou can override configuration options by appending `#config.optionname=value` to the meeting url in a fresh new browser tab
- AnonC 7y agoWhich configurations can ensure video and audio at a good enough quality with audio being clear and video not dropping frames (even if the video is a bit blurry, that’s fine)?
- GuqLyr 7y agoYou can lower the video quality in the bottom right menu. You can even limit your own camera's capture resolution, for example #config.constraints.video.height.max=360 . See https://github.com/jitsi/jitsi-meet/blob/master/config.js https://github.com/jitsi/jitsi-meet/blob/master/config.js for all the options.
- lioeters 7y agoAre any of the participants using Firefox by chance? There are known issues being worked out ¹, some in collaboration with Firefox itself ², to improve performance and compatibility. For now, it seems the best audio/video quality can be achieved by all participants using a Chromium-based browser such as Chrome and Edge. --- ¹ 100% support for Firefox (and other non-Chrome browsers) - https://github.com/jitsi/jitsi-meet/issues/4758 https://github.com/jitsi/jitsi-meet/issues/4758 ² Bugzilla keyword jitsi-meet - https://bugzilla.mozilla.org/buglist.cgi?status_whiteboard_type=substring&status_whiteboard=jitsi-meet https://bugzilla.mozilla.org/buglist.cgi?status_whiteboard_t...
- steveharman 7y agoWe did our daily standup call with it yesterday (mostly audio). 12 people, on a $3 Scaleway Debian instance (2GB RAM). Worked perfectly. Obviously as we stopped using Zoom we have to manually upload all our personal data to Facebook now.
- capableweb 7y ago> Obviously as we stopped using Zoom we have to manually upload all our personal data to Facebook now. I feel like there is a joke that's going over my head or I simply don't understand. Why you have to manually signup/login/auth/whatever with Facebook because you're using Jitsi now, especially on your own host?
- abhinai 7y agoThat is the joke. :)
- linsomniac 7y ago... because Zoom isn't doing it automatically anymore?
- latortuga 7y agoThe joke is that zoom was found to be sending user info to Facebook apis.
- capableweb 7y agoI missed that story so it went completely over my head. Now I could read about it, thanks!
- chronicler 7y agoDid you use cascading SFUs? What did you deploy? I'd like to set up my own turn server and use jitsi.
- Certhas 7y agoWe tried to but with most of our team on Firefox it simply doesn't work unfortunately. Zoom has been the only thing reliable for us. It's a bit ironic that somewhere, someone is switching from Firefox to Chrome because of data concerns with Zoom.
- cf 7y agoAre there any good tutorials for how to setup Jitsi to work for 30-50 people? The discussion forums are hard to navigate.
- bsima 7y agoconsider using mumble
- LinuxBender 7y agomumble / murmur is great, I host it for family and friends to use. That said, it's only voice and text. No video or screen sharing yet.
- ofrzeta 7y agoAlternatives to Jitsi are Janus (mentioned in this thread) but also OpenVidu (formerly Kurento) and Mediasoup which provide building blocks to roll your own. All of these also have demos that you can use out of the box for our own conferences.
- j1elo 7y agoJust a nitpick: Kurento still exists on its own, and provides a generalist framework of components to build a service that can handle media. OpenVidu is one such service, it builds _upon_ Kurento, and itself can be used to make videoconference rooms very easily. Otherwise, Kurento is just a media server that handles media but doesn't have the concept of "rooms", "publishers", "consumers", escalability, reliability, etc. so you would have to develop all those things on your own.
- jteppinette 7y agoI was told that Matrix/Riot is a good alternative to Jitsi (can share a meeting URL and offers E2EE). Does anyone have a data point here?
- overthelake 7y agoRiot isn't an alternative to Jitsi so much as a complement to it. Matrix is for text chat, and Riot uses Jitsi for calls; while you can embed a Jitsi client into Riot rooms, and it auto-shares the URL, AFAIK group calls are not E2EE even if the room is. One-on-one calls through Riot _are_ encrypted, but only if made in a one-on-one direct chat.
- jteppinette 7y agoThe riot features page makes it seem very "built-in" (https://about.riot.im/features#voice-video https://about.riot.im/features#voice-video).
- Half-Shot 7y agoriot.im hosts its own Jitsi instance which is built into the UI, so hitting the call button in a room will spawn an embedded Jitsi call in the room. Recently we added the option for people to use their own self hosted Jitsi instances, if they prefer. (1:1 calls at the moment are normal WebRTC, directly over Matrix)
- jteppinette 7y agoThanks for the clarification!
- dedward 7y agoI might be breaking the rules, but can you point me towards any information about how to integrate my existing self-hosted jitsi server into my self-hosted matrix install? Finding this seems elusive.
- eagsalazar2 7y agoI wanted to evaluate it but was very put off when trying to connect to my google calendar they asked for full access to my Youtube profile. I get there is some youtube integration they have but binding those things together without any mention of why was enough for me to click cancel. Sucks because I really want to ditch Zoom.
- pojntfx 7y agoJitsi has really been kicking it at my school lately; I wrote a chat bot for out Nextcloud that creates meetings and now up to 150 people can easily join into one conversation!