From: Juliusz Chroboczek <jch@irif.fr> To: "Gabriel Kerneis" <gabriel@kerneis.info> Cc: galene@lists.galene.org Subject: [Galene] Re: Galène and Signal Date: Fri, 17 Dec 2021 13:14:23 +0100 [thread overview] Message-ID: <87o85fl97k.wl-jch@irif.fr> (raw) In-Reply-To: <d98e3da0-4091-4373-8377-0caebce2661e@www.fastmail.com> > 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
prev parent reply other threads:[~2021-12-17 12:14 UTC|newest] Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-12-17 6:55 [Galene] " Gabriel Kerneis 2021-12-17 7:51 ` [Galene] " mailpublic35 2021-12-17 11:18 ` Dave Taht 2021-12-17 12:14 ` Juliusz Chroboczek [this message]
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style List information: https://lists.galene.org/postorius/lists/galene.lists.galene.org/ * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=87o85fl97k.wl-jch@irif.fr \ --to=jch@irif.fr \ --cc=gabriel@kerneis.info \ --cc=galene@lists.galene.org \ --subject='[Galene] Re: Galène and Signal' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox