axelson

axelson

Scenic Core Team

ElixirConf US 2018 – Building Video Chat with Elixir & Phoenix – Anil Wadghule (@anildigital)

In this talk, I will share my experience and learnings about how I built a production-grade video chat system with Elixir and Phoenix.

My video chat app makes use of following features of Elixir and Phoenix.

Real-time with Phoenix channels
How a Video Chat benefits with real-time features of Phoenix framework. In a Video Chat app, there are so many interactions which happen in a group, so you need real-time capabilities on your server.

Agents, Tasks, GenSevers
How I used Agents to wrap the state, I need to talk to a third party server, how I used Tasks to perform certain operations, how I used GenServers for long-running features like Cache servers and recorded media file uploaders.

Supervisors
Instead of crashing, how we gracefully stop services. When users close tabs, other users in video chat should be gracefully informed that users have quit. I will cover, how we make use of supervisors and GenServers for the use case.

GenStage for events processing with a remote WebRTC media server
Third party media server has API and continually sends different events such as network is slow, user’s video is unpublished or audio went off etc. We will see how I make use of GenStage’s event handling to show user’s feedback interactively.

Debugging
We will see how Erlang’s debugging tools come in handy when there is something wrong.

Audience: Intermediate, Advanced
Topics: phoenix, video-streaming, webrtc

All talks are available in the ElixirConf US 2018 Talks List or via the elixirconf2018 tag

Showing Posts 1 to 7

AstonJ

AstonJ

Cool talk Anil! I might have to pick your brains one day as I will probably experiment with video chat at some point :003:

How is this solution scaling for you at Scatter? Not sure if you can mention numbers and server stats but I’d be interested in hearing how this is deployed :slight_smile:

maz

maz

Anybody remember a similar talk done by a guy from Brazil I believe where he talks about making an entire video streaming service in Elixir? It was done around the same time, I think, yet at a different conference.

Michael

axelson

axelson OP

Scenic Core Team

Not from Brazil, but is this the video you are thinking of?

maz

maz

No, I’m pretty sure it was a different guy. I will look around on YouTube and if I find it I will post the link here.

maz

maz

I found it!

nikhilmore54

nikhilmore54

thanks @maz for sharing this video link. this is quite interesting.

maz

maz

I’m not sure what happened but the link disappeared. Here is it again:

ElixirConf 2018 - Using Elixir GenStage to Track Video Watch Progress - Emerson Macedo

— All posts loaded —

Where Next? Top

Trending in Talks Top

Other Trending Topics Top

budgie
A little off-topic, but I feel like people here have a good head on their shoulders. I used to be quite good at making software. Was luc...
New
KristerV
Hey. Is there anyone here who creates agents in their apps? Not talking about using agents, but creating them. I’m finding it pretty diff...
New
mudasobwa
I fully migrated to my own harness from Anthropic/Gemini and I think it’s time to share it. Welcome DSH, the DeepSeek Harness, fully writ...
New
jimsynz
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
juhalehtonen
There has been a thread to discuss the Stack Overflow Developer Survey on this forum every year since 2018, so here’s yet another one for...
New
budgie
I love Elixir. It’s one of 2 programming languages I’ve ever fallen in love with. But I don’t use it anymore. Serverless was the promis...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews