your multimedia solution

An easily understandable and customisable multimedia framework.

some description
How it works

Membrane is easy to learn and understand. All you have to do is get familiar with the basic concepts that stand behind it.

Simplicity
Ready-to-use elements
Membrane provides frequently needed tools that are packed into plugins and allows you to create a pipeline out of them.
Scalability
An intuitive pipeline abstraction
The core concept of Membrane is the pipeline. It specifies elements you want to use and set up how data should flow between them.
Flexibility
Easy to customize
If you need to do some custom job, you can write your own element. Membrane simply defines the rules of creating them.
Effectiveness
Modular and reusable
Pipelines that you create can be easily converted into bins and used as elements in other pipelines. This allows you to reuse their logic in other situations.
Universality
Self-hosted
You can use Membrane in any Elixir application and deploy it wherever you like.

Membrane is more than a set of tools. It gives you the know-how to build the one you need.

What can you do with Membrane?
Real Time Communication
WebRTC SFU implementation with modular architecture for custom I/O. Perfect for applying processing, dumping media at any stage, or creating additional non-WebRTC outputs.
Server-side processing
Video scaling, framerate conversion, cut & merge and text overlay. Audio mixing, resampling and fading. With easy option to create and add custom ones.
Multiple and switchable I/O protocols
Existing implementations of WebRTC, HLS, RTP, RTSP, RTMP, File, Http chunks, integration with speech to text utilities.
Seamless integration with any Elixir app
Membrane is built in Elixir. It reaps the benefits of Elixir's scalability and fault tolerance. But also because of that Mebrane's pipelines can easily become a part of any Elixir application, e.g. a web server built with Phoenix.
Transcoding
From and to many popular codecs: aac, opus, mpeg, h264, vp9, vp8.
Monitoring utilities
Tools to monitor pipeline health and EVM performance to ease debugging process.
Picture for feature Real Time CommunicationPicture for feature Server-side processingPicture for feature Multiple and switchable I/O protocolsPicture for feature Seamless integration with any Elixir appPicture for feature TranscodingPicture for feature Monitoring utilities

Created by specialists to solve real-life problems

Membrane is free and open-source. It's created by Software Mansion – a software company that is specialised in building tools for developers. At Software Mansion we use Membrane to create custom solutions for our client's projects.

Community section pictue
Join the community

We stay active in the community to gather feedback, discuss issues, help others discover multimedia, and draw inspiration from each other.

Our latest articles
Start your multimedia journey with Membrane

Ready to start a new adventure? Let us guide you through the first steps, or check out how it works on our demos.