* [Galene] Galène and Signal @ 2021-12-17 6:55 Gabriel Kerneis 2021-12-17 7:51 ` [Galene] " mailpublic35 2021-12-17 12:14 ` Juliusz Chroboczek 0 siblings, 2 replies; 4+ messages in thread From: Gabriel Kerneis @ 2021-12-17 6:55 UTC (permalink / raw) To: galene Dear all, Galène is mentioned (well, linked to) in the following article: https://signal.org/blog/how-to-build-encrypted-group-calls/ TL;DR: Signal needed an SFU with good congestion control and scaling properties. They evaluated a number, found that only jitsi and mediasoup had good enough congestion control at the time (it was over a year ago), picked one but it used too much CPU so they wrote their own in Rust. The article gives a lot more technical details about their implementation, but doesn't delve into the evaluation of other solutions. Best regards, -- Gabriel ^ permalink raw reply [flat|nested] 4+ messages in thread
* [Galene] Re: Galène and Signal 2021-12-17 6:55 [Galene] Galène and Signal Gabriel Kerneis @ 2021-12-17 7:51 ` mailpublic35 2021-12-17 11:18 ` Dave Taht 2021-12-17 12:14 ` Juliusz Chroboczek 1 sibling, 1 reply; 4+ messages in thread From: mailpublic35 @ 2021-12-17 7:51 UTC (permalink / raw) To: galene [-- Attachment #1: Type: text/plain, Size: 1078 bytes --] Hi, Good catch Gabriel, to detect the right link (https://www.irif.fr/~jch/software/sfu/) behind SFUs word "we <https://github.com/jitsi/jitsi-videobridge> evaluated <https://github.com/versatica/mediasoup> many <https://github.com/meetecho/janus-gateway> open <https://github.com/pion/ion> source <https://github.com/peer-calls/peer-calls> SFUs <https://www.irif.fr/~jch/software/sfu/>"! Have a good day Phil Le 17/12/2021 à 07:55, Gabriel Kerneis a écrit : > Dear all, > > Galène is mentioned (well, linked to) in the following article: > > https://signal.org/blog/how-to-build-encrypted-group-calls/ > > TL;DR: Signal needed an SFU with good congestion control and scaling properties. They evaluated a number, found that only jitsi and mediasoup had good enough congestion control at the time (it was over a year ago), picked one but it used too much CPU so they wrote their own in Rust. The article gives a lot more technical details about their implementation, but doesn't delve into the evaluation of other solutions. > > Best regards, [-- Attachment #2: Type: text/html, Size: 1775 bytes --] ^ permalink raw reply [flat|nested] 4+ messages in thread
* [Galene] Re: Galène and Signal 2021-12-17 7:51 ` [Galene] " mailpublic35 @ 2021-12-17 11:18 ` Dave Taht 0 siblings, 0 replies; 4+ messages in thread From: Dave Taht @ 2021-12-17 11:18 UTC (permalink / raw) To: mailpublic35; +Cc: galene really good piece, really clear code (for rust). On Thu, Dec 16, 2021 at 11:51 PM mailpublic35 <mailpublic35@gmail.com> wrote: > > Hi, > > Good catch Gabriel, to detect the right link (https://www.irif.fr/~jch/software/sfu/) behind SFUs word "we evaluated many open source SFUs"! > > Have a good day > Phil > > Le 17/12/2021 à 07:55, Gabriel Kerneis a écrit : > > Dear all, > > Galène is mentioned (well, linked to) in the following article: > > https://signal.org/blog/how-to-build-encrypted-group-calls/ > > TL;DR: Signal needed an SFU with good congestion control and scaling properties. They evaluated a number, found that only jitsi and mediasoup had good enough congestion control at the time (it was over a year ago), picked one but it used too much CPU so they wrote their own in Rust. The article gives a lot more technical details about their implementation, but doesn't delve into the evaluation of other solutions. > > Best regards, > > _______________________________________________ > Galene mailing list -- galene@lists.galene.org > To unsubscribe send an email to galene-leave@lists.galene.org -- I tried to build a better future, a few times: https://wayforward.archive.org/?site=https%3A%2F%2Fwww.icei.org Dave Täht CEO, TekLibre, LLC ^ permalink raw reply [flat|nested] 4+ messages in thread
* [Galene] Re: Galène and Signal 2021-12-17 6:55 [Galene] Galène and Signal Gabriel Kerneis 2021-12-17 7:51 ` [Galene] " mailpublic35 @ 2021-12-17 12:14 ` Juliusz Chroboczek 1 sibling, 0 replies; 4+ messages in thread From: Juliusz Chroboczek @ 2021-12-17 12:14 UTC (permalink / raw) To: Gabriel Kerneis; +Cc: galene > https://signal.org/blog/how-to-build-encrypted-group-calls/ Thanks a lot, Gabriel, that's an interesting link. > TL;DR: Signal needed an SFU with good congestion control and scaling > properties. Uh-huh. > They evaluated a number, found that only jitsi and mediasoup had good > enough congestion control at the time (it was over a year ago), Yes, that's a known limitation of Galene: Galene is pretty good at handling congestion in the server->client direction, but only does loss-based congestion control in the client->server direction: if the sender's link is bufferbloated, then the feedback loop has a too large time constant, and delay increases. This is not much of a problem during lectures, since Galene is designed for lecturing, and the bottleneck link tends to be the one between the server and the students (receivers). On the other hand, it's sometimes an issue when the student is the sender: I've just done three days of oral examinations over Galene, and in two cases I've needed to ask the student to manually reduce their video rate in order to get a stream of acceptable quality. I'm quite impressed by Signal's code, it looks like they did manage to pull it off. The bit of the code that is missing in Galene is here: https://github.com/signalapp/Signal-Calling-Service/blob/main/src/googcc.rs#L152 > picked one but it used too much CPU so they wrote their own in Rust. Yeah, I'm unfortunately not surprised. Jitsi and mediasoup are currently the SFUs with the best set of features, but they are not necessarily the most parsimonious ones. There are some other interesting bits in their code that I might be able to learn from. For example, they do include a metrics server, which will be useful to me since I have no experience whatsoever with metrics, and the patches I received to add metrics to Galene did not appear to be useful to me (they were apparently written by someone who had been ordered to add metrics to Galene, but didn't stop to think about which metrics are likely to be useful). If anyone is good at reading Rust code, please find out which metrics they provide, and send a summary to the list. Plenty of stuff to do on Galene, and I'll hopefully have some time after the exam session ends (on 14 January). -- Juliusz ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2021-12-17 12:14 UTC | newest] Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2021-12-17 6:55 [Galene] Galène and Signal Gabriel Kerneis 2021-12-17 7:51 ` [Galene] " mailpublic35 2021-12-17 11:18 ` Dave Taht 2021-12-17 12:14 ` Juliusz Chroboczek
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox