MediaMTX
MediaMTX sits between cameras and viewers as a self-hosted live media server, taking in video and audio streams over one protocol and handing them back out over another, so one IP camera feed can end up playing in a browser, a phone app, and a recording archive simultaneously. Publish with FFmpeg, GStreamer, OBS Studio, a browser, or a Raspberry Pi camera over RTSP, RTMP, SRT, WebRTC, Media-over-QUIC, HLS, MPEG-TS, or RTP, and read it back on any other protocol without a transcoding pipeline. Run dozens of camera feeds side by side, each on its own path, and keep every path available even while its publisher is offline. Record everything to disk in fMP4 or MPEG-TS as it streams, then play recordings back later through the same server instead of shipping files around. Authenticate publishers and viewers with built-in users, an external HTTP check, or JWT, and use the control API plus Prometheus metrics to wire the server into the rest of your monitoring stack. Forward streams to other servers, proxy cameras behind NAT, and fire hook commands whenever a client connects, publishes, or disconnects, so a doorbell camera can trigger a snapshot or an alert as it starts streaming. Reload the configuration while clients stay connected, and tune everything from the same mediamtx.yml file or environment variables, with no database or runtime dependencies to babysit. Running on a dedicated VPS on RepoCloud with guaranteed CPU, RAM, and SSD, full root SSH access, and a browser serial console. MIT licensed.
Deploy