Use Phoenix to Integrate Janus, WebRTC in Web Apps

Tags

Tools in workshop

Web Real-Time Communication (WebRTC) provides mobile apps and web browsers with APIs to communicate using a common set of protocols, allowing audio and video to work on the web without the need for plugins or native apps. So why don’t more Elixir developers have WebRTC in their toolbox?

In his ElixirConf 2019 presentation, Engineer Scott Hamilton walks through how to set up WebRTC using Elixir Phoenix Channels and Janus, a WebRTC component that serves as a gateway to the server.

Developers have been reluctant to pick up WebRTC, a moving target that changes every year for every browser. Janus provides a lot of great functionality to build with, but the means to customize and integrate are not straightforward. Elixir and Phoenix, however, provide a robust set of tools for easing the challenges of integrating Janus and WebRTC into web applications.

By combining WebRTC with Phoenix, developers have deeper control over things such as data integration and compliance requirements, Scott said. “At its core, Janus is a simple integration.”

In his talk, Scott demonstrates a video conferencing room he built and breaks down how to make Phoenix Channels work as a signaling layer with Janus. Watch his full presentation below to see how he fills in the gaps of understanding the use of WebRTC with Phoenix, and follow his efforts to improve the developer experience and open source his work.

DockYard is a digital product agency offering custom software, mobile, and web application development consulting. We provide exceptional professional services in strategy, user experience, design, and full stack engineering using Ember.js and Elixir. With consultants nationwide, we’ve got experts in key markets across the United States, including San Francisco, Kansas City, New Orleans, Indianapolis, Nashville, Cincinnati, Raleigh-Durham, and New York.