<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/live-video-broadcasting-with-membrane-yfbsmsdrx" -->

---
title: Live Video Broadcasting With Membrane | daily.dev
description: A step-by-step guide to building a live video broadcasting system in Elixir using Membrane Framework. The system ingests RTMP streams, transcodes them into...
canonical: https://daily.dev/posts/live-video-broadcasting-with-membrane-yfbsmsdrx
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Live Video Broadcasting With Membrane | daily.dev
og:description: A step-by-step guide to building a live video broadcasting system in Elixir using Membrane Framework. The system ingests RTMP streams, transcodes them into...
og:url: https://daily.dev/posts/live-video-broadcasting-with-membrane-yfbsmsdrx
og:image: https://api.daily.dev/og/posts/YfbsmSdrx.png
og:image:alt: Live Video Broadcasting With Membrane
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Live Video Broadcasting With Membrane

**[Software Mansion](https://daily.dev/sources/swmansion)** · 18 min read · 0 upvotes · 0 comments

## Summary

A step-by-step guide to building a live video broadcasting system in Elixir using Membrane Framework. The system ingests RTMP streams, transcodes them into multiple resolutions (1080p, 720p, 480p) using GPU hardware acceleration via Vulkan Video Extensions, packages output as fragmented MP4 (CMAF), and distributes via HLS. The tutorial covers creating a Mix project, configuring dependencies, building the Membrane pipeline with OTP supervision trees, implementing file and S3 storage backends, and building a production release. It is the first in a series, with future chapters covering Kubernetes clustering, cloud deployment with GPU runners, CDN configuration, and observability.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://swmansion.com/blog/live-video-broadcasting-from-scratch-to-production-with-membrane>

## Similar posts on daily.dev

- [Code BEAM Europe 2025 - Learning Resources / Talks - Elixir Programming Language Forum](https://daily.dev/posts/code-beam-europe-2025---learning-resources-talks---elixir-programming-language-forum-mzve7eltl) · Elixir Forum · 2 upvotes · 0 comments
- [Live Streaming Test Runs with WebRTC](https://daily.dev/posts/live-streaming-test-runs-with-webrtc-ba86c8ksp) · QA Wolf · 0 upvotes · 0 comments

---

Tags: [#elixir](https://daily.dev/tags/elixir)

[View this post on daily.dev](https://daily.dev/posts/live-video-broadcasting-with-membrane-yfbsmsdrx)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Live Video Broadcasting With Membrane","url":"https://daily.dev/posts/live-video-broadcasting-with-membrane-yfbsmsdrx","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/live-video-broadcasting-with-membrane-yfbsmsdrx"},"datePublished":"2026-08-02T07:15:57.648Z","dateModified":"2026-08-02T07:42:27.346Z","description":"A step-by-step guide to building a live video broadcasting system in Elixir using Membrane Framework. The system ingests RTMP streams, transcodes them into...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/320b8c9b9f1944d02ece39709df78286?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/320b8c9b9f1944d02ece39709df78286?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Software Mansion","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Software Mansion","logo":"https://media.daily.dev/image/upload/s--sOx0vaVZ--/f_auto,q_auto/v1785654908/logos/swmansion?_a=BAMAMicg0","url":"https://daily.dev/sources/swmansion"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/live-video-broadcasting-with-membrane-yfbsmsdrx","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"elixir","timeRequired":"PT18M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Software Mansion","item":"https://daily.dev/sources/swmansion"},{"@type":"ListItem","position":3,"name":"Live Video Broadcasting With Membrane"}]}
```

