Video conferencing with Jitsi
Jitsi is, in fact a collection of components, written mostly in Java (and JavaScript) and released under the Apache license. At the core is Jitsi Videobridge, which implements multi-participant video conferences, and Jitsi Meet, which implements the client side. Various other components live under the hood and are likely to only come to one's attention if something goes wrong with them. There is also a Jitsi Desktop application, but that has been superseded by the browser interface and is considered "legacy" at this point.
Getting it going
Brave folks can certainly install the whole thing from source; for the rest of us, pre-built packages are limited to the Debian and Ubuntu distributions. Your editor installed that version on a Debian 10 machine sitting out there in the cloud somewhere.
That installation did not go as easily as one might have liked. The (sparse) documentation suggests that the packages will perform the needed web-server setup, but a number of details were left as exercises for the reader. There is support for automating the setup of a Let's Encrypt certificate, but your editor did not try that. Once the server configuration was properly tweaked, it was possible to connect to the newly established bridge with an ordinary Firefox browser.
Running a single connection to a Jitsi server is a great way to admire one's own image on the screen, but it lacks something from the full conference experience. Unfortunately, when the second user connected, both users were immediately disconnected with a helpful "something went wrong" error, and an even more helpful "error 143" message on the server side. Some searching revealed this useful post stating that the Debian package installs the server in a misconfigured manner; once the suggested change was made, everything worked as expected.
The user experience
The Jitsi client runs fine in a standard web browser, with no need to install any plugins. In the default setup, a new user connecting to the server will see a screen inviting them to create a new meeting; typing any string into the field provided creates a "room" with that name (or joins a room with that name if it already exists). The curious can see this screen in action on the demo site set up to allow anybody to run a free conference.
After one joins a conference, the behavior is much like the proprietary services
out there. It is possible to see a tiled view with all participants, or
just the person who is speaking at any given time. There are buttons to
mute audio and/or video, a separate area for text chat, and a button to
"raise your hand" for attention. One cute feature is the ability to blur
the background of one's outgoing video, though the result is somewhat
ethereal.
Video and audio quality both seem to be quite good, though video suffers somewhat when there is a low-bandwidth connection involved. Jitsi claims that all data is encrypted between clients and the video bridge, though it goes through the bridge itself in the clear.
There is a screen-sharing option that can transmit the contents of a single window or the screen as a whole — though the latter leads to amusing effects if the conference itself is on-screen. The web site describes a "presenter mode" that mixes both the screen contents and the stream from the camera, but that doesn't appear to have made it into the stable builds yet.
The first person to join a room is designated the moderator, with some extra privileges. It's possible to mute participants, for example, or to kick them out entirely. There's a little window available that displays how much time each participant has spent speaking. It's also possible to set a password needed for entry into the room. It does not seem possible to delegate moderation to others, though.
Apps and more
If one connects to a Jitsi server from a mobile device, the response is a cheery message that "You need the Jitsi Meet mobile app to join this meeting on your phone". If, however, one selects the "desktop site" option helpfully provided by Chrome on Android, everything works just fine; there is no real need for the system to push the app that firmly. If this system is kept around for a while, your editor may just go in and find a way to disable that behavior.
That said, the app is not without its utility. It, too, is free software; it can be installed from F-Droid as well as from the Google Play Store. It provides most of the same features as the web version with a more finger-friendly layout. There is also an app for Apple devices, but your editor was unable to experiment with that.
A word to the wise: if the app is refusing to connect to a Jitsi server with obscure and unhelpful error messages, the problem is almost certainly with the server certificate. The app seems to be much more fastidious than browsers about things like getting any intermediate certificates in the right place. Not that your editor would have ever made any such mistakes.
There are a number of other features that weren't tried in this experiment. It is possible, for example, to stream a conference to YouTube, from whence it can be broadcast to the world. "Stream to YouTube" also seems to be the answer, for now, for anybody who wants to record a conference. If there is an Etherpad instance running on the same server, Jitsi can integrate with it. There is also SIP integration allowing people to dial into a conference using a telephone, but that requires all of the usual painful SIP setup outside of Jitsi.
In testing with a handful of participants, your editor found that the demands on the server are relatively light, but not zero — about 6-7% of a low-level cloud server per participant. Video conferencing will always require a certain amount of bandwidth, but routing that data doesn't appear to require a lot of CPU time. The web client will definitely make a laptop's fans run, though.
One thing that seems to be missing, or at least not easy to find, is the ability for the server administrator to see which conferences are running and what their resource usage is. Also lacking is central control over the outgoing video stream, which might be wanted for those trying to use Jitsi for events like virtual conferences, where they may want to keep the focus on the speaker and mix in slides, for example.
Virtual conferences, of course, are one of the areas of interest here at LWN. If current conditions persist, as they well might, it is going to be hard for the community to have face-to-face gatherings for some time. We depend heavily on those gatherings to solve difficult problems and, in general, to come to know the human beings that exist on the other side of (most) email addresses. Both of those roles are crucially important; we will need to find a way to replace them until real conferences again become possible.
There are a number of groups looking for solutions to these problems. Our
community as a whole would, of course, be most comfortable with solutions
built on free software. Jitsi seems like a good base to work from, if not
a complete solution. Your editor will continue to investigate the
alternatives in the coming weeks; stay tuned.
Posted Mar 24, 2020 2:13 UTC (Tue)
by gwolf (subscriber, #14632)
[Link]
Posted Mar 24, 2020 2:31 UTC (Tue)
by mtaht (subscriber, #11087)
[Link]
I got interested, because, well, the binary blobs in zoom trouble me. Not huge on those. Also the nature of the bridge itself: "Look! it's all encrypted until zoom hq gets it!". I figure they implement CALIA ( https://en.wikipedia.org/wiki/Communications_Assistance_f... ) fully....
I have a different usage model however than the cloud. It was my hope that tons more folk would have enough uplink bandwidth to actually run a service like this in the home or "on campus", rather than the cloud. And try to leverage ipv6.
Plug: take a look at freeswitch?
And then there's this: https://peerjs.com/index.html
Posted Mar 24, 2020 3:16 UTC (Tue)
by marcH (subscriber, #57642)
[Link] (1 responses)
Posted Mar 27, 2020 8:15 UTC (Fri)
by hackerb9 (guest, #21928)
[Link]
Posted Mar 24, 2020 7:05 UTC (Tue)
by wojas (guest, #111363)
[Link]
I just set it up using their official Docker Compose config, which was a breeze:
Posted Mar 24, 2020 7:49 UTC (Tue)
by flussence (guest, #85566)
[Link]
The official docs make it sound a bit scarier than it actually is: https://github.com/jitsi/jitsi-meet/blob/master/doc/manua...
Posted Mar 24, 2020 11:38 UTC (Tue)
by wodny (subscriber, #73045)
[Link] (5 responses)
The Jitsi server package also has a not so pretty postrm script which fails on reloading HTTP daemons.
Jitsi Meet burns my CPU when conferencing with something under 10 people, but works with like 2-3 people. Skype seems more efficient but with many people or with video, keyboard input starts to malfunction and the system becomes sluggish and stays that way until Skype's restart. I hope for a keylogger so no chat is lost ;)
Also had to modify the Skype package before installation because it contains chrome-sandbox (installed as setuid binary of course).
Posted Mar 24, 2020 12:06 UTC (Tue)
by niner (subscriber, #26151)
[Link] (4 responses)
Posted Mar 25, 2020 15:10 UTC (Wed)
by sorokin (guest, #88478)
[Link] (2 responses)
I don't quite understand this. Even if all video streams get aggregated into one connection from server, that single connection still transmits n times the data.
My understanding is that total required bandwidth should be the same in both cases. Perhaps central server works better when participants' upload speed is limited?
Posted Mar 25, 2020 15:23 UTC (Wed)
by niner (subscriber, #26151)
[Link]
It's also likely that you're right and the central server mitigates notoriously limited upload speeds of DSL and mobile (and sadly, where I live, even cable) connections.
Posted Mar 25, 2020 15:41 UTC (Wed)
by excors (subscriber, #95769)
[Link]
If you don't use that mode then I think it's O(num_participants^2) on the bridge and O(num_participants) on the clients, though with better constant factors than peer-to-peer: each client only has to upload their stream once to the bridge (vs num_participants-1 times to every other peer), which is good since clients usually have much lower upload bandwidth than download.
Posted Mar 27, 2020 21:00 UTC (Fri)
by Sesse (subscriber, #53779)
[Link]
Posted Mar 24, 2020 13:05 UTC (Tue)
by Sesse (subscriber, #53779)
[Link] (1 responses)
FWIW, so far, Google Meet, Skype, Discord are working well for me in the browser. Zoom is a disaster (the audio just consistently loses 50% of samples or so, and even when using the phone-in option for audio, it sometimes breaks up), although I haven't tried the standalone client yet.
Posted Apr 2, 2020 12:13 UTC (Thu)
by nbecker (subscriber, #35200)
[Link]
Posted Mar 24, 2020 14:13 UTC (Tue)
by karim (subscriber, #114)
[Link] (1 responses)
Posted Mar 27, 2020 18:59 UTC (Fri)
by flussence (guest, #85566)
[Link]
I'm only surprised that Jitsi doesn't have a room-moderator option to kick out broken browsers. Apparently the side effect of letting Firefox into a video call is everyone else's performance tanks? That's hardly fair.
Posted Mar 24, 2020 15:00 UTC (Tue)
by dskoll (subscriber, #1630)
[Link] (3 responses)
I tried installing it on a Debian 10 box, but I wanted it to run from a subdirectory (https://www.example.org/meet/) rather than take over the root of my web space, and I just could not get it to work. Lots of googling found https://github.com/jitsi/jitsi-meet/issues/223 but no luck. :(
Posted Mar 24, 2020 20:31 UTC (Tue)
by dskoll (subscriber, #1630)
[Link] (2 responses)
I gave up and installed it in its own virtual Apache server meet.example.org and it works fine. I'm very impressed with the audio quality; quite a bit better than Zoom or Skype.
Posted Mar 24, 2020 21:41 UTC (Tue)
by Cyberax (✭ supporter ✭, #52523)
[Link] (1 responses)
Posted Mar 25, 2020 2:31 UTC (Wed)
by dskoll (subscriber, #1630)
[Link]
Posted Mar 25, 2020 17:37 UTC (Wed)
by frispete (subscriber, #89956)
[Link] (1 responses)
Posted Mar 27, 2020 8:19 UTC (Fri)
by frispete (subscriber, #89956)
[Link]
Posted Mar 26, 2020 1:51 UTC (Thu)
by mtaht (subscriber, #11087)
[Link] (2 responses)
It would be pretty cool if you put up your jitsi server and invited folk into a "commune with the editors" - both as a stress test and, well, It's been pretty lonely around here lately, and I kind of miss yer ugly mug. Some virtual beer all 'round might help too.
Posted Mar 26, 2020 14:03 UTC (Thu)
by corbet (editor, #1)
[Link] (1 responses)
I have been pondering various schemes, but things are still at a pretty early point, stay tuned.
Posted Mar 27, 2020 17:11 UTC (Fri)
by mtaht (subscriber, #11087)
[Link]
(e2e there's also ongoing issues like poorly implemented rtsp feedback - so far as I know freeswitch doesn't do it still)
In the long scheme of things merely removing network jitter, latency and irrelevant loss (and even adding in-band sce or l4s signaling), is hugely important, but also encoder latency and responsiveness is a huge problem also. I miss scan lines! ( https://lola.conts.it/ )
trying to find people wit the time and motivation to tackle this has long been on my mind ( https://www.internetsociety.org/events/latency2013/ ) . I really do miss the days when making a phone call across town on the switched phone network was like wispering in your lover's ear!
And first up would be getting more folk to enable quality uplink queue management. Or show how bad it can get when you don't have it.
Posted Mar 26, 2020 2:13 UTC (Thu)
by anarcat (subscriber, #66354)
[Link] (3 responses)
AKA "BBB". That tool seems to be more "featureful" (to be polite) but seems very promising. I really like the way it allows you to whiteboard stuff together and share slides. Its moderation features also seem more advanced than Jitsi. But I'm wondering how it compares in terms of performance and ease (or not) of installation (something which Jitsi doesn't exactly shine on either).
Thanks for the review!
Posted Mar 26, 2020 14:04 UTC (Thu)
by corbet (editor, #1)
[Link] (1 responses)
Posted Mar 30, 2020 19:50 UTC (Mon)
by sumanah (guest, #59891)
[Link]
Posted Apr 2, 2020 10:42 UTC (Thu)
by jch (guest, #51929)
[Link]
Just in case, one of my TAs acts as moderator, but we've only had a single case of rickrolling up to now.
The only complaint I have is that the UI for disabling the receiving of video is difficult to find, which is useful for people who pay for internet by volume or who don't want to see my face.
Posted Mar 26, 2020 17:35 UTC (Thu)
by vegge (guest, #6926)
[Link] (1 responses)
> In the default setup, a new user connecting to the server will see a screen inviting them
Is there a way to set up simple access control? It looks like the default server configuration is open to the world?
Posted Mar 26, 2020 19:40 UTC (Thu)
by dskoll (subscriber, #1630)
[Link]
You can set it up so only authorized users can create meetings, and when you create a meeting, you can password-protect it so only users you want to allow in the meeting can join it.
Initially, I just put a password on the web site using .htpasswd, but that broke the Jitsi Android app.
Posted Mar 28, 2020 20:19 UTC (Sat)
by pevik (subscriber, #112535)
[Link]
Posted Apr 1, 2020 15:21 UTC (Wed)
by stevem (subscriber, #1512)
[Link]
*grin* BTDT...
Posted Apr 6, 2020 13:36 UTC (Mon)
by vejeta (subscriber, #138096)
[Link]
Posted Apr 14, 2020 9:34 UTC (Tue)
by gevaerts (subscriber, #21521)
[Link] (1 responses)
Posted Apr 14, 2020 13:46 UTC (Tue)
by mathstuf (subscriber, #69389)
[Link]
Posted Apr 19, 2020 23:31 UTC (Sun)
by wookey (guest, #5501)
[Link]
Referenced from: https://www.acm.org/virtual-conferences
I too have been a big Jitsi meet user for years. It's worked remarkably well despite much increased usage over the last month. I'm very interested in solutions for conferences where you really want a decent-quality broadcast channel as well as low-latency bidirectional channel with optional moderator control. Debian needs to pick something, and is obviously capable of hacking things to make them better :-)
Another free option is 'Jangouts' which is a web front-end for libjanus webRTC. Looks like it may be a promising tech. Anyone with experience of libjanus vs jitsi videobridge? https://github.com/jangouts/jangouts/blob/master/README.md
No-one seems to have mentioned Apache openmeetings yet either. Any good? https://openmeetings.apache.org/
Video conferencing with Jitsi
Given COVID-19, I have moved my classroom over to Jitsi, and finally got around to configuring the Youtube recording feature. Not that I want to push my videos here (no monetization on them, promise!), but if results interest you, you can find them at https://www.youtube.com/channel/UCDqXtc9GxROhLvFQ4bX6PLg
My first Jitsi class' recording was cut short shortly after ~37 minutes (plus ~5min at the beginning where I was fiddling with stuff), but the second one was quite smooth. I had at one point 31 people connected (mostly muted both of microphone and camera), and had no quality issues. I had a guest speaker, and we interacted quite good as well.
So... I'm just sending an experience report here. I love Jitsi! :-)
Video conferencing with Jitsi
Video conferencing with Jitsi
Video conferencing with Jitsi
Video conferencing with Jitsi
https://github.com/jitsi/docker-jitsi-meet
Video conferencing with Jitsi
Video conferencing with Jitsi
Video conferencing with Jitsi
Video conferencing with Jitsi
Video conferencing with Jitsi
Video conferencing with Jitsi
Video conferencing with Jitsi
Video conferencing with Jitsi
Video conferencing with Jitsi
Video conferencing with Jitsi
https://news.ycombinator.com/item?id=22669968
Video conferencing with Jitsi
Video conferencing with Jitsi
Video conferencing with Jitsi
Video conferencing with Jitsi
I experienced very good audio quality for the duration of one call. On a other call, the audio quality sometimes got worse from time to time and sounded as you described, but I prefer a tool that degrades quality if there are link problems to one that drops audio or makes it unintelligible.
Video conferencing with Jitsi
Video conferencing with Jitsi
Video conferencing with Jitsi
Video conferencing with Jitsi
Bringing in your ugly mug would stress-test the software in its own way! :)
Communing with the editors
Communing with the editors
big blue button?
BBB is on my list of things to look at.
big blue button?
You may find this list of tools to consider useful. Did you know that Etherpad has a WebRTC-powered video feature now? I just found out last week.
Other options to consider
big blue button?
Video conferencing with Jitsi
> to create a new meeting; ...
Video conferencing with Jitsi
Jangouts (Janus Gateway frontend)
Video conferencing with Jitsi
Video conferencing with Jitsi
Intermediate certificate fun
Intermediate certificate fun
Video conferencing with Jitsi
https://people.clarkson.edu/~jmatthew/acm/VirtualConferen...
and the corresponding google doc:
https://docs.google.com/document/d/1LLLniPkf48CCZyG_BNy1y...