Conversations
Conversations copied to clipboard
Group video calls
I plan to integrate group video calls (https://github.com/jsxc/jsxc/issues/3) into @jsxc, but I would like to have max. compatibility with the leading android xmpp app :wink:.
Do you have any plans in this direction? What do you think is the best xep? XEP-0272: Multiparty Jingle seams not to bad for a p2p attempt and XEP-0340: COnferences with LIghtweight BRIdging is probably the standard for a setup with videobridge. Of course a solution which mixes all streams (at least audio streams) into one, similar to @BigBlueButton, would be nice too.
Dino is receiving funding to implement conference video calls and I will probably wait to see what they come up with and implement something that is compatible later (after them). I have a full plate of other projects so I’m not in a rush.
IMHO you/one/I probably want bridging as this is the only approach that scales beyond 3-4 participants. (as opposed to P2P). However that leaves you with having to adopt or develop from scratch a bridge which I'm really not in the mood for. One can probably try to reuse the Jitsi Video bridge which apparently uses COLIBRI plus a few extensions. But the Jitsi Developers were not super keen on documenting those changes or cooperating in that regard. That’s another reason for me to wait until Dino (which again has the funding for that) to 'solve' the bridge problem.
Once a bridge exists and is properly documented implementing the client side might actually not be that much work.
I’m hearing from the Dino people that they are looking into both bridging and P2P. Depending on how things are going I may or may not skip the P2P part and only implement the bridged version. (Which I think kinda answers your question.)
Janus could probably also be used with a colibri extension, see discussion about that here: https://groups.google.com/forum/m/#!topic/meetecho-janus/0M320-k21Is
Source is here: https://github.com/meetecho/janus-gateway
Other messengers have solved this by linking a Jitsi meet instance, see https://delta.chat/en/2020-07-30-summer-update
When basicWebRTC is detected, they can even embed the call (I did not try this, yet). Maybe they have code which can be reused.
That would be XMPP inception as Jitsi Meet is a somewhat borked version (including even a separated XMPP server) of exactly the thing described here as the preferred solution, aka COLIBRI XEP.
As a user I am mostly interested in a solution that works. For group chat I really like the Jitsi meet app at the moment, but you cannot call someone and have them in the room. For 1:1 you can call in Conversations and it works real great. As a developer I assume you're rather working on a real integrated solution and it is probably the best thing to do.
The question is how fast you assume to get the perfect solution and if a simple solution would be a good idea in the meantime. Currently I just share the conferences link from jitsi meet to conversations, but with a better integration I could imagine that Conversations could ring and the recipient then gets a prompt "accept video group chat invitation" with the same UX as 1:1 calls have.
I'll just add this here as my thought from the issue linked above that I closed when it was marked as duplicate of this one.
I don't know anybody that's tried it (myself included), but the just-released Dino 0.3 has support for group audio and video calls now. It's my understanding that this is done in a totally peer-to-peer fashion, and also that Dino is the only client supporting this so far.
JSXC also seems to support it: https://www.jsxc.org/blog/2021/08/31/A-group-call-proposal.html
@jscott0 yes, and once XEPs/updates stabilize a bit the ecosystem might pick them up
@poVoq we developed our own version of group video calls (with and without bridge), but did not release it yet, since we do not want to create a standard without xep. It's similar to Dinos implementation, but not compatible. Our discussion did not result in a draft. Maybe we have to put a new effort into this.
My little word: For me, the best solution is p2p without bridge. We previously used Nextcloud talk and I used it without hassle for group video chat for 3-4 clients. Talk supports janus bridge too. Simpler - better :)