WebRTC MCU with a Phoenix App

hey,
I´d like to integrate a video/audio stream into my phoenix project,
so that one person can broadcast to an audience.
I´d like to do this with WebRTC since its supported by an increasing amount of browsers.
I think phoenix channels dont support UDP and from what I read TCP is not the way to go for live streaming.
As far as I understand, to broadcast the stream to many viewers (no peer-to-peer),
ill need a Multipoint Control Unit (MCU).
Does someone has some experience or recommendations in this area?
I was looking a https://github.com/meetecho/janus-gateway.
But maybe there is an erlang or elixir based solution? (audio alone would also be acceptable for now)

andy

2 Likes

Have a look at this blog post…

Implementing Video Chat in a Phoenix Application with WebRTC

7 Likes

This might help too:

Elixir, Phoenix, and WebRTC - An Enterprise Class Soft Phone in the Browser

5 Likes

thanks guys. so far I have implemented the video chat example, which is peer to peer only sadly.
Ive watched the video, it was a bit abstract and not really on how to do that stuff, but more on what amazing things you could do.
Then I installed the janus-gateway, so now as far as I unterstand, need to write a way to communicate with the gateway from my phoenix app.
So I found this php example and trying to rewrite that in elixir now I guess.
still any advice is welcome.

1 Like

For what it’s worth we used Janus (from Meetecho) on a project. Our main codebase was in Elixir/OTP, but we used Janus to handle the WebRTC stuff. Although the project was just a proof of concept, what I did see was that Janus is really excellent, that they’ve done a massive amount of work making it work reliably. So I’d say if you can find a way to leverage it for the WebRTC stuff you’ll probably save yourself a lot of heartbreak.

4 Likes

this can be helpful : http://www.kurento.org/
and for implementation client KMS in elixir
https://github.com/atakigawa/kurento_elixir

2 Likes

our flussonic can do it: one to many