5 ms·
This is tricky as the server needs to mix audio and video streams for group calls, which can't easily be done if they're encrypted. I understand that the Matri
by confounded 10y ago
This is tricky as the server needs to mix audio and video streams for group calls, which can't easily be done if they're encrypted.
I understand that the Matrix.org/riot.im team have some interest in working on this.
- gepoch 10y agoSpeculating for fun: If you read into Signal's group chat, it ends up being indistinguishable from standard chat in the sense that the server is unaware of any "group" abstraction. The clients figure out how to thread messages based on encrypted message headers. From the outside, it just looks like N simultaneous outgoing messages from one user. This is nice, as the server doesn't have to remember who you were in a group with, and it's only a bit worse than the obvious (single message to server + broadcast to group members) approach because only the sender has to pay the cost of sending the N messages. All receivers still just receive 1. Extending to video chat, this would be quite difficult. To keep the necessary streams open and preserve the group-ignorant server design, each client has to open N connections to all other participants. That's a rough way for video streams to scale especially when routed through the same central infrastructure. Group calls would probably need server side group-aware logic to mux the feeds together, which would sacrifice some of the server's data minimalism. I predict that we won't be seeing group calls anytime soon.. Might be wrong though! Anyways, interesting to think about :) Seems like a pretty fascinating job to have.
- JshWright 10y agoFor small groups, client side muxing is fine (i.e. I call both Alice and Bob, and my device handles merging the streams).