MediaMTX screenshot thumbnail

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
ZoneMinder screenshot thumbnail

ZoneMinder

Turn ordinary IP cameras, USB webcams, and video files into a self-hosted surveillance system that watches, records, and replays everything from a browser. Every camera becomes a monitor that can capture, analyze, and record around the clock or only when motion appears. Draw detection zones in six types (active, inclusive, exclusive, preclusive, inactive, and privacy) so a visitor on the driveway raises an alarm and swaying trees do not. The Montage view tiles live feeds in selectable layouts, Cycle rotates through them, and the Watch view adds scale, stream quality, and player controls for a single camera. Events arrive in a sortable list with thumbnails, durations, and alarm scores, play back against a timeline, and can be reviewed across every camera in Montage Review. Filters automate housekeeping by archiving, emailing, messaging, uploading, copying, moving, or deleting matching events on a schedule. PTZ controls steer supported cameras. User roles limit who can view or change each monitor, a REST API and MQTT support connect other tools, and the optional event server adds push notifications and object detection through machine-learning hooks. Multi-server installs spread cameras and storage across machines, and the zmNinjaNg app brings the same views to phones and desktops. Running on a dedicated VPS on RepoCloud with guaranteed CPU, RAM, and SSD, full root SSH access, and a browser serial console. GPL-2.0 licensed.

Deploy