Stacks / Backend
MediaMTX / OvenMediaEngine
Live video you host. MediaMTX is MIT; OvenMediaEngine is AGPL-3.0 — Mux without the encoding meter.
The problem
Mux sells encoding, live, and a playback CDN. You wanted ingest and playback on a box you run. MediaMTX is MIT (bluenviron/mediamtx). OvenMediaEngine is AGPL-3.0 (OvenMediaLabs/OvenMediaEngine) if you want sub-second WebRTC/LLHLS. This is not Mux's global CDN, every encoding preset, or a Vimeo-shaped library — that stays on /replace/vimeo. PeerTube is the federated VOD host, not a live API.
Replaces
Mux
Estimated SaaS saved
$1,200
per year, small team, before lock-in
Start on RailwayPeerTube if this is a video library, not a live ingest API
Placeholder: MediaMTX (or OvenMediaEngine) with UDP/TCP as the project docs require and a volume for recordings. A single tiny Railway service may be the wrong size for live video. No one-click template in this repo yet — Start on Railway. VOD libraries stay on /stacks/peertube-video.
The stack
- MediaMTX
MIT media server and proxy (WebRTC, RTSP, RTMP, HLS)
- OvenMediaEngine
AGPL-3.0 sub-second live streaming if you want that stack
Cost table
| You stop paying | Typical / year | Self-host instead |
|---|---|---|
| Mux (small team) | $1,200 | MediaMTX or OvenMediaEngine |
Agent setup prompt
Replace Mux live/ingest with MediaMTX (preferred) or OvenMediaEngine. - Publish one RTMP or WHIP stream. Play it back. Persist recordings if you need them. - Do not claim a global CDN or every Mux encoding ladder. Write AGENT_PROMPT.md. - A VOD library stays on /stacks/peertube-video.
Also as markdown: /stacks/mediamtx-video.md
FAQ
- MediaMTX or OvenMediaEngine?
- MediaMTX if you want a small MIT proxy/server. OvenMediaEngine if you want sub-second live at scale. Pick one.
- Is this PeerTube or Vimeo?
- No. /replace/vimeo is a library you publish. Mux is ingest, encode, and playback. This page is the live/API slice.
- Do I get Mux's CDN?
- No. You get a server you run. Edge caching is a different job.