MATRIXMEDIA

Open-source media streaming service built on the Matrix protocol. Stream live content, accept donations, manage subscriptions, run ads, and earn — all decentralized and federated.

LIVE PILOT · matrix.steegler.com · v0.6.10
Open Own Manage Earn
mm-core v0.6.10 · mm-switch v0.5.9 · native iOS & Android · 19 DB migrations · 55+ API endpoints
Quick start → Platform Hub Open Chat Admin Dashboard Get the app ↓

Everything You Need to Stream

Built-in monetization, advertising, federation, and end-to-end encryption.

⚡✅

Lightning Preimage Proof

Donor pastes the BOLT11 preimage their wallet returned at settlement; server SHA‑256-verifies and flips the donation to ✓ confirmed. WebLN auto-confirm in browser; manual paste fallback in mobile clients.

⚙️

Per-channel Opt-out

Channel admin can hide all MM features (Tip, Subscribe, LIVE banner, Lightning) in a specific room with one toggle. Default is on; opt-out is explicit and federated to every viewer.

🎙️

Past Broadcast Bubbles

Every ended stream appears inline in the chat. Recorded → tap-to-play with thumbnail; not recorded → a slim "broadcast happened" bubble with date and host, so the channel timeline stays a single source of truth.

📱

Native iOS & Android

Production apps with My Profile, Create Channel + DM, full Channel Settings (Lightning + MM toggle), inline past broadcasts, and Lightning preimage paste — all on the matrix-rust-sdk.

📺

Live Streaming via mm-switch

Direct WebRTC media routing via mm-switch (Go/Pion). RTP passthrough with per-viewer source switching, PLI burst for instant keyframes. Works on web and mobile.

💰

Donations

Viewers send tips during streams. 7 color tiers from $1 to $100. Animated overlay shows donations in real time. Stripe Connect + Lightning Network (LNBits).

Subscriptions

Creators set up tiers (Bronze, Silver, Gold). Subscribers get badges, gated content, and VIP perks. Powered by Stripe Connect with entitlement caching.

📰

Server-Side Ad Insertion

Ad-block resistant advertising via mm-switch. Per-viewer ad playback from WebM files with real VP8+Opus audio. Skip button, HMAC impression verification, quartile tracking.

Lightning Payments

Accept donations via Bitcoin Lightning Network. LNBits integration with bolt11 invoices. Instant, near-zero-fee micropayments.

🔒

Content Gates

Gate streams behind subscription tiers. Non-subscribers see a paywall (402). Preview duration configurable per stream.

🌐

Federation

Users from any Matrix server can watch and interact. Cross-server OpenID validation with SSRF protection built in.

🛡️

End-to-End Encryption

Optional E2EE for streams using AES-GCM-256. Key rotation, per-stream keys, and Megolm-compatible distribution.

🖥️

Admin Dashboard

Matrix-based login with role-based access. 14 pages: streams, recordings, ads, donations, creators, subscriptions, content gates, system health, and mm-switch diagnostics.

📱

Cross-Platform SDKs

Flutter SDK with direct WebRTC on both web (dart:html) and mobile (flutter_webrtc). iOS (Swift) and Android (Kotlin) SDKs. Full API coverage.

🎬

Recording & Playback

Server-side recording via LiveKit egress. Dual camera+screen recording. Playback URL generation. VoD with ad policy support.

☁️

Cloud-Ready

mm-core scales horizontally (stateless, managed DB). Kubernetes manifests included. AWS/GCP/Azure deployment patterns documented.

Live Demo Apps

All running on this server right now.

🏠Platform HubCentral dashboard with live status 💬MatrixMedia ChatFluffyChat with streaming + donations 🖥️Admin DashboardMatrix login, 14 admin pages 🚀Test ClientFull API explorer with 55+ endpoints 📺mm-liveViewer streaming platform 🎨Creator StudioTiers, earnings, ads, analytics ⚙️Operator ConsolePlatform admin + metrics 🧩Widget PlaygroundConfigure embeddable widget 👀Stream ViewerEmbeddable SolidJS widget 🌐Federation SimCross-server visualization 📱Mobile PreviewiOS + Android via flutter_webrtc 📈GrafanaPrometheus metrics dashboards

Native Mobile Apps

Architecture

Zero modifications to your Matrix homeserver. Drop-in appservice registration.

  Matrix Client (FluffyChat, Element, custom)
       |
       | OpenID token
       v
  +-----------+     appservice     +------------+
  |  Synapse   |<----------------->|  mm-core   |  Rust/Axum
  |  (yours)   |                   |   :6167    |  55+ endpoints
  +------------+                   +-----+------+
                                         |
                           +-----------+-+-----------+
                           |           |             |
                      +----+----+ +----+----+  +-----+-----+
                      |Postgres | | mm-switch|  |  LiveKit   |
                      | :5432   | | :7890    |  |  (record)  |
                      +---------+ | Go/Pion  |  +-----------+
                                  +----+-----+
                                       |
                                  UDP :50100-50300
                                       |
                              +--------+--------+
                              | WebRTC Viewers   |
                              | (web + mobile)   |
                              +-----------------+

Going Online — Roadmap

From today's pilot to a federated public network · phases, not deadlines

Phase 1 · Pilot live

matrix.steegler.com running mm-core 0.6.10 — Lightning, recordings, native clients on test devices.

Phase 2 · In progress

Release-signed builds — Android APK + iOS TestFlight — and seeded demo channels for closed alpha.

Phase 5 · Federation + commercial arm

Cross-operator federation, M2 NIP-47 native pay, commercial arm (Red Hat–style support tiers) to follow.

10
Rust Crates
252
Tests
55+
API Endpoints
14
Dashboard Pages
24
DB Tables

Built With

Modern stack, production-hardened.

Rust (axum)
Go (Pion WebRTC)
PostgreSQL
Matrix Protocol
Stripe Connect
LNBits (Lightning)
React
SolidJS
Flutter + flutter_webrtc
LiveKit (recording)
Docker
Kubernetes
Prometheus
Grafana
AGPL-3.0