Skills for Membrane multimedia streaming and processing framework in Elixir.
npx claudepluginhub membraneframework/membrane_coreAI coding skill for the Membrane Framework in Elixir. Build or debug Membrane multimedia processing and streaming pipelines and write custom Membrane Elements, Bins, and Filters.
Membrane is a versatile multimedia streaming & processing framework. You can use it to build a media server of your need, that can:
The abbreviations above don't ring any bells? Visit membrane.stream/learn and let Membrane introduce you to the multimedia world!
If you have questions or need consulting, we're for you at our Discord, forum, GitHub discussions, X (Twitter) and via e-mail.
You can also follow Membrane on X (Twitter) or join our Discord to be up to date and get involved in the community.
If you already had a chance to use Membrane, we will be greateful if could fill out quick survey to help us improve framework and decide on what to do next.
Membrane is maintained by Software Mansion.
Mix.install([
:membrane_hackney_plugin,
:membrane_mp3_mad_plugin,
:membrane_portaudio_plugin,
])
defmodule MyPipeline do
use Membrane.Pipeline
@impl true
def handle_init(_ctx, mp3_url) do
spec =
child(%Membrane.Hackney.Source{
location: mp3_url, hackney_opts: [follow_redirect: true]
})
|> child(Membrane.MP3.MAD.Decoder)
|> child(Membrane.PortAudio.Sink)
{[spec: spec], %{}}
end
end
mp3_url = "https://raw.githubusercontent.com/membraneframework/membrane_demo/master/simple_pipeline/sample.mp3"
Membrane.Pipeline.start_link(MyPipeline, mp3_url)
This is an Elixir snippet, that streams an mp3 via HTTP and plays it on your speaker. Here's how to run it:
Option 1: Click the button below:
It will install Livebook, an interactive notebook similar to Jupyter, and it'll open the snippet in there for you. Then just click the 'run' button in there.
Option 2: If you don't want to use Livebook, you can install Elixir, type iex to run the interactive shell and paste the snippet there.
After that, you should hear music playing on your speaker :tada:
To learn step-by-step what exactly happens here, follow this tutorial.
The best place to learn Membrane is the membrane.stream/learn website and the membrane_demo repository. Try them out, then hack something exciting!
The most basic media processing entities of Membrane are Elements. An element might be able, for example, to mux incoming audio and video streams into MP4, or play raw audio using your sound card. You can create elements yourself, or choose from the ones provided by the framework.
Elements can be organized into a pipeline - a sequence of linked elements that perform a specific task. For example, a pipeline might receive an incoming RTSP stream from a webcam and convert it to an HLS stream, or act as a selective forwarding unit (SFU) to implement your own videoconferencing room. The Quick start section above shows how to create a simple pipeline.
To embrace modularity, Membrane is delivered to you in multiple packages, including plugins, formats, core and standalone libraries. The complete list of all the Membrane packages maintained by the Membrane team is available here.
Plugins
Official prompts.chat marketplace - AI prompts, skills, and tools for Claude Code
Open Design — local-first design app exposed to coding agents over MCP. Install once with your agent's plugin command and projects/files/skills are reachable through stdio.
Behavioral guidelines to reduce common LLM coding mistakes, derived from Andrej Karpathy's observations