Tooling

Self-hosted Streaming Servers

Owncast, AntMedia, MediaMTX, SRS, NGINX-RTMP — run your own RTMP / SRT / HLS / WebRTC ingest and delivery.

The "I have a VPS, I want to be my own Twitch" stack. For the encoder pushing into these servers see Live Streaming Software. For protocol fundamentals (RTMP, SRT, WHIP, HLS, WebRTC) see Streaming Protocols. For player embeds see Media Players. For real-time meeting / SFU servers see Real-time Video. For chat overlays / alerts see Overlays & Alerts. For uploaded VOD storage see File Uploads.

Drop-in self-host live platforms

  • Owncast — MIT OSS; single Go binary; the "self-hosted Twitch" in 2026. Built-in chat, emotes, mod tools, follower/notification system, web player, RTMP ingest → HLS out. Runs on a $5 VPS for hobby use; a beefier box for HD with multiple bitrates. The default for an indie streamer who wants to leave Twitch.
  • PeerTube Live — AGPL OSS; ActivityPub / fediverse video platform; live streaming since 3.x; not Twitch-shaped but federation makes it interesting.
  • Streamia / castopod-live — niche.

Generic streaming servers (you bring the UI)

  • MediaMTX (formerly rtsp-simple-server) — MIT OSS; single Go binary; RTSP / RTMP / HLS / WebRTC / SRT in and out, transcoding via ffmpeg, recording, hooks. The most pragmatic pick for "I want a tiny relay/server that just works." Default for IP-camera + low-latency web preview workflows.
  • AntMedia Server (Community) — Apache OSS; Java; ultra-low-latency RTMP/HLS/WebRTC/SRT, adaptive bitrate, scalable cluster mode. Enterprise is paid. Default for sub-second WebRTC delivery at scale on your own infra.
  • SRS (Simple Realtime Server) — MIT OSS; C++; RTMP/HLS/WebRTC/SRT/GB28181; widely deployed in China; clustering built in; high performance.
  • OvenMediaEngine (AirenSoft) — AGPL OSS; sub-second LLHLS / WebRTC; production-grade; ships with OvenPlayer.
  • NGINX-RTMP module — BSD OSS; the legacy classic; RTMP in → HLS / DASH / RTMP relay out. Not actively developed since 2018 — works fine for "just relay RTMP" but lacks WebRTC / SRT. Use MediaMTX for new projects.
  • Nimble Streamer — closed source freemium; commercial-friendly; SRT/RTMP/WebRTC/HLS/DASH; paid for some features.
  • Wowza Streaming Engine — paid; the legacy enterprise default; declining vs OSS alternatives in 2026.
  • Red5 Pro — paid; (Red5 Open is OSS but stale).

WebRTC ingest / WHIP servers

  • MediaMTX — has WHIP/WHEP built in; the easiest self-host WHIP target.
  • Janus + WHIP plugin — see Real-time Video.
  • LiveKit Ingress — bridges RTMP/WHIP/SRT into a LiveKit room; cross-link Real-time Video.
  • Cloudflare Stream Live + WHIP — paid hosted WHIP target; not self-host but free-tier-friendly.

RTMP relay / fan-out

  • NGINX-RTMP push — relay to multiple destinations (DIY multi-streaming); see Multi-streaming.
  • MediaMTX paths — same idea, modern.
  • SRS edge nodes — ingest in one region, edge-cache HLS at another.

HLS / DASH packaging

  • Shaka Packager (Google) — Apache OSS; CLI; HLS + DASH segment + manifest; CMAF; encryption (Widevine / FairPlay). The packaging gold standard for VOD and live.
  • Bento4 — Apache OSS; HLS/DASH packaging, MP4 inspection (mp4info, mp4dump).
  • ffmpeg — also packages HLS/DASH; less optimized than Shaka but ubiquitous.

VOD self-host (recordings and on-demand)

  • PeerTube — AGPL OSS; the OSS YouTube alternative.
  • TubeArchivist — see Self-host Web Archiving; for archiving YouTube into your own library.
  • Jellyfin / Plex / Emby — for already-encoded library playback (cross-link your media-library category).
  • Frigate / Shinobi / Zoneminder — NVR / IP camera systems if your "streaming" use case is actually security cameras.

Storage / CDN backing

  • Bunny Stream / Cloudflare R2 / Backblaze B2 — see File Uploads; cheap origin storage for HLS segments.
  • Cloudflare Stream / Mux / Bunny Stream — managed live + VOD; see Media Players. When self-hosting becomes a chore, these are the off-ramps.
  • Cloudflare in front of MediaMTX/SRS — practical CDN for HLS at indie scale; configure cache rules for .m3u8 short, .ts/.m4s long.

Latency tiers (2026 expectations)

  • Standard HLS — 10–30 s glass-to-glass; broad compatibility.
  • LL-HLS / LLHLS — 2–6 s; supported by HLS.js, OvenPlayer, Shaka.
  • CMAF Low-Latency DASH — 2–6 s.
  • WebRTC — sub-second (200–500 ms); needs SFU / WHEP; what AntMedia / OvenMediaEngine / LiveKit deliver.
  • SRT — sub-second over public internet for ingest; not a delivery protocol to browsers.

Pick this if…

  • Default "self-hosted Twitch" for an indie streamer: Owncast.
  • Tiny universal relay / IP-cam web preview: MediaMTX.
  • Sub-second WebRTC delivery at scale: AntMedia Server.
  • High-performance C++ pick with clustering: SRS.
  • WHIP ingest target: MediaMTX.
  • Just relay RTMP, that's it: NGINX-RTMP (or MediaMTX).
  • Package HLS/DASH from a master file: Shaka Packager.
  • Federated video platform: PeerTube.
  • Off-ramp to managed: Cloudflare Stream Live or Mux Live.

On this page