Building Jellyfish - Multimedia Server Powered by Membrane and Phoenix

Łukasz Wala


Discover how we utilized Elixir to develop the initial version of Jellyfish, a Multimedia Server that bridges various streaming protocols such as WebRTC, HLS and RTSP. Don’t worry if these acronyms don’t ring any bells with you! Multimedia is a complex topic, streaming - even more so, but with Membrane as a base for our media processing and Phoenix for REST and WebSocket API, we’ve built a straightforward-to-use solution, that lets you create video-conferencing app, clone of Twitch, or both at the same time, regardless of the programming language you use.

In this talk, I’ll dive into the architecture of Jellyfish, discuss the underlying media processing pipelines, examine the design of its APIs, and share the struggles we faced while building this product. Additionally, I’ll present some example scenarios that can be achieved with Jellyfish.

Key Takeaways:

  • Basics of multimedia streaming, quirks of creating media processing solutions in Elixir, designing API and architecture for systems at scale.

Target Audience:

  • Folks interested in multimedia, video-conferencing or streaming solutions, new use cases of Elixir and BEAM, designing API and architecture for systems at scale.

Multimedia, Streaming, APIs