Galène videoconferencing server discussion list archives
 help / color / mirror / Atom feed
* [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