News for hackers. Stuff that matters.
Re:Jitsi Architecture – legacy desktop application (2011) by saghul on Thursday April 02, 2020 @04:19AM (#22757119)
Note that this article is about the legacy Jitsi desktop application, and NOT about Jitsi Meet, the WebRTC compatible video conferencing project. Source: I'm a Jitsi dev.
Re:Jitsi Architecture – legacy desktop application (2011) by ssivark on Thursday April 02, 2020 @05:41AM (#22757463)
Thanks for this very important clarification (ideally, the title should be fixed with this clarification, since most people would be interested in the Jitsi available today).

Is the architecture of the the WebRTC-based solution explained somewhere? In particular, I'm seeking an overview of when it's p2p (how does it scale to large meetings), when it uses a central server, when call quality can degrade (eg: will one low-bandwidth user or an overloaded server wreck the call for everyone), and which links are encrypted. I'd like a reasonable understanding of these aspects before I recommend Jitsi to less tech-savvy friends and family.

Re:Jitsi Architecture – legacy desktop application (2011) by lioeters on Thursday April 02, 2020 @08:00AM (#22758084)
Not sure if this answers your specific questions - but I found an article written by a dev from Jitsi, describing the architecture of Jitsi Meet:

Improving Scale and Media Quality with Cascading SFUs

https://webrtchacks.com/sfu-cascading/ (November 2018)

Edit: Based on another Jitsi dev's comment in this thread: SFU stands for "Selective Forwarding Unit", which was extracted to a standalone project, Jisti Videobridge.

Re:Jitsi Architecture – legacy desktop application (2011) by colonavilus on Thursday April 02, 2020 @10:31AM (#22759375)
Jitsi Meet is only P2P for 1:1 meetings and always uses JVB for meetings with more participants.
Re:Jitsi Architecture – legacy desktop application (2011) by hanoz on Thursday April 02, 2020 @07:06AM (#22757806)
Hello Jitsi dev, well done on terrific product. Can I float a feature request by you? It would be great if the mobile app, and maybe the web app via a safe subdomain, could prevent the use of short 'test' room names so as to avoid children accidentally getting a chatroulette experience? I'm a little hesitant to recommend it to my fellow school-parents as it stands.
Re:Jitsi Architecture – legacy desktop application (2011) by SparkyMcUnicorn on Thursday April 02, 2020 @10:57AM (#22759726)
One option you have right now is to use the external API and embed it on a page.

https://github.com/jitsi/jitsi-meet/blob/master/doc/api.md

I've done this and created a UI for adding rooms, which is in my control.

Re:Jitsi Architecture – legacy desktop application (2011) by saghul on Thursday April 02, 2020 @07:36AM (#22757961)
We are working on this right this instant. Expect updates soon!
Re:Jitsi Architecture – legacy desktop application (2011) by globular-toast on Thursday April 02, 2020 @04:37AM (#22757189)
That's good to know. Apparently "Jitsi" was evaluated at my company before I joined but now I'm wondering whether it was the desktop project or Jitsi Meet. Are they strictly desktop and Web-based, respectively?
Re:Jitsi Architecture – legacy desktop application (2011) by saghul on Thursday April 02, 2020 @05:04AM (#22757314)
They are completely different projects. Jitsi (desktop) was a multi-protocol desktop client whicch supported SIP, XMPP, IRC, etc.

At one point in time it gained the hability to do multi-party video conferencing, where one participant would become the "focus" and forward everyone's video to everyone else.

This was the inception of the concept of an SFU or Selective Forwarding Unit.

Then, in order to scale this up the SFU was extrated to a standalone project: Jitsi Videobridge.

Roughly around then, WebRTC became a thing and Jitsi was already doing many of the required things to bring the experience to the web, so work continued with Jitsi Meet, a WebRTC compatible video conferencing system.

Jitsi Meet is our present and future, but Jitsi (desktop) lives on both as pieces of the puzzle (Jitsi Videobriidge, Jigasi and Jicofo use parts of it) and as a community project, where people interested in keeping it alive ssubmit fixes / improvements.

Re:Jitsi Architecture – legacy desktop application (2011) by manishsharan on Thursday April 02, 2020 @07:29AM (#22757940)
quick question : is the videobridge a multiplexer -- that is all the clients send the webrtc stream to Videobridge and it combines and forwards the streams to the clients ? Or is it signalling server(STUN) and the clients forward streams to each other ? I am asking this as to decide if I could host the videobridge on on home network (video output from multiple clients would be a problem) or if I have to host this on a cloud ?
Re:Jitsi Architecture – legacy desktop application (2011) by kabes on Thursday April 02, 2020 @07:54AM (#22758060)
I think you have a couple of things mixed up. A stun server is different from a signaling server. Jitsi is an SFU, which is neither. The behavior you describe with combining streams is what we call an MCU. An SFU is simpler and just forwards streams. Most of the logic of an SFU is in controlling RTCP protocols, which are typically aimed at one-to-one use cases. An SFU has to make this work for a one-to-many use case.
Re:Jitsi Architecture – legacy desktop application (2011) by saghul on Thursday April 02, 2020 @07:40AM (#22757986)
The videobridge receives all streams from all participants and forwards the appropriate ones to the other participants.
Re:Jitsi Architecture – legacy desktop application (2011) by wildduck on Thursday April 02, 2020 @10:12AM (#22759145)
So as the group members increased it also increases network usage on the SFU server?
Re:Jitsi Architecture – legacy desktop application (2011) by saghul on Thursday April 02, 2020 @12:54PM (#22761005)
Correct.
Re:Jitsi Architecture – legacy desktop application (2011) by wildduck on Friday April 03, 2020 @05:29AM (#22767552)
Hmmm, what happened to the WebRTC using p2p method, where as the member increase so does the bandwidth? Like torrent?
Re:Jitsi Architecture – legacy desktop application (2011) by ashildr on Thursday April 02, 2020 @05:28AM (#22757418)
Thanks for your work. Within days Jitsi became a tool for my family and friends to stay sane and to improvise school for multiple kids.
Re:Jitsi Architecture – legacy desktop application (2011) by zubnix on Thursday April 02, 2020 @07:32AM (#22757951)
I was just about to comment on how using OSGi probably doubles your engineering effort (and cost!) quite substantially for very little benefit.

Source: I've developed OSGi applications professionally for nearly 9 years.

btw I <3 Jitsi Meet

Re:Jitsi Architecture – legacy desktop application (2011) by oftenwrong on Thursday April 02, 2020 @11:11AM (#22759887)
Yet the Jitsi developer seems to credit OSGi as an essential basis of the project. They suggest that such a modular and dynamic architecture was necessary to support so all these protocols, platforms, etc. What would you suggest as an alternative (including things that are available now, but not then)?
Re:Jitsi Architecture – legacy desktop application (2011) by hedora on Thursday April 02, 2020 @12:07PM (#22760502)
The parent comment here implies they rewrote it after the article was written.

I read the bit on OSGi. It seems to support interfaces, runtime loading and unloading of modules, and a way to discover modules. Java 1.0 did all that stuff natively, though JPMS adds some more capabilities, since I guess people don’t like package private, etc.

C++ also supports these things. (C does too, but you need non-standard dynamic linker constructor/destructor extensions that are available on all platforms).

I can’t think of any widely used language without support of such things.

Re:Jitsi Architecture – legacy desktop application (2011) by gfodor on Thursday April 02, 2020 @12:49PM (#22760944)
Question since you're on the thread - we are currently using a Janus based SFU for our project - which is a 3d application for avatar voice chat. Any obvious tradeoffs between Janus and Jitsi worth considering? Are there existing examples of Jitsi deploys running, say, rooms with 50-100 concurrent voice-only channels in a room with tens of such rooms on a server? Thanks!
Re:Jitsi Architecture – legacy desktop application (2011) by c646deeb640da30 on Thursday April 02, 2020 @06:34AM (#22757659)
Are they compatible? In other words can jitsi desktop connect to a jitsi meet session?
Re:Jitsi Architecture – legacy desktop application (2011) by jka on Thursday April 02, 2020 @07:24AM (#22757908)
It appears[1] not:

"Jitsi Desktop is a xmpp, sip desktop client which has audio video capabilities, but cannot interconnect with jitsi-meet."

[1] - https://community.jitsi.org/t/jitsi-desktop-for-use-with-jit...

Re:Jitsi Architecture – legacy desktop application (2011) by lima on Thursday April 02, 2020 @01:01PM (#22761079)
Kind of... Jitsi lives on in the SIP bridge: https://github.com/jitsi/jigasi
Re:Jitsi Architecture – legacy desktop application (2011) by zajio1am on Thursday April 02, 2020 @07:19AM (#22757875)
Well, seems like this confusion is inevitable, when two completely different (and incompatible?) projects use almost the same name, just because they are developed by the same group or for stronger brand recognition.
Re:Jitsi Architecture – legacy desktop application (2011) by k__ on Thursday April 02, 2020 @06:22AM (#22757612)
Jitsi Meet sounds interesting.
Re:Jitsi Architecture – legacy desktop application (2011) by dang on Thursday April 02, 2020 @01:37PM (#22761476)
Thanks! Title changed above.