your multimedia solution
An easily understandable and customisable multimedia framework.
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.
Membrane provides frequently needed tools that are packed into plugins and allows you to create a pipeline out of them.
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.
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.
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.
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.
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.
From and to many popular codecs: aac, opus, mpeg, h264, vp9, vp8.
Tools to monitor pipeline health and EVM performance to ease debugging process.
Projects we've built with Membrane
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.
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
multimediastreamingmembraneelixirwebrtcModular RTC Engine is our little-big revolution in video conferencing
Jul 27, 2022
compilationelixirerlang-niferlangc-languageBundlex — compiling C with Elixir made easy
Jun 30, 2022
elixirerlangerlang-nifc-languagemembrane-frameworkUnifex — integrate native code with Elixir without a hassle
Jun 2, 2022
membraneerlangfunctional-programmingelixirmultimediaWe speed up Membrane by reshaping Maps operations
May 30, 2022
benchmarkerlangmembraneelixirprogrammingWhat’s up in your BEAM? — introducing BEAMchmark
Apr 14, 2022
elixirvideoconferencemultimediamembranewebrtcHow we made Membrane SFU less ICE-y
Apr 11, 2022
programmingmultimediastreamingmembraneelixirIntroducing Auto Demands — release of Membrane v0.9.0
Mar 30, 2022
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.