MediaMTX
Video SurveillanceReady-to-use media server and RTSP/WebRTC proxy
Replaces Wowza
Watch your cameras with self-hosted network video recorders and CCTV software.
46 self-hosted apps · 100 comparisons
Ready-to-use media server and RTSP/WebRTC proxy
Replaces Wowza
Ultimate camera streaming gateway with low latency
Replaces Nest Cam
Automatic license plate recognition library
Replaces Rekor Scout, Plate Recognizer
Self-hosted face recognition service with REST API
Replaces Amazon Rekognition
.NET wrapper for OpenCV computer vision
Replaces Commercial vision SDKs
Full-featured closed-circuit television software suite
Replaces Blue Iris, Milestone XProtect
RTSP stream discovery and access-auditing tool for cameras
Replaces Commercial camera audit tools
Self-hosted streaming server for publishing live video
Replaces Wowza
Android library for camera capture and streaming apps
Replaces Proprietary camera SDKs
Web frontend for the Motion video surveillance program
Replaces Nest Cam
Lightweight motion-detection video surveillance daemon
Replaces Nest Cam
Open-source NVR and CCTV software for IP cameras
Replaces Blue Iris
Self-hosted NVR with local AI object detection
Replaces Nest Cam, Blue Iris
Stream JPEG frames from webcams over HTTP
Replaces Webcam streaming services
Open-source firmware for IP cameras and surveillance devices
Replaces Stock IP camera firmware
Low-latency camera streaming integration for Home Assistant
Replaces Cloud camera streaming
Lightweight MJPEG streamer for USB and CSI cameras
Replaces mjpg-streamer
Low-latency RTSP camera streaming to browsers over WebRTC
Replaces commercial camera viewer software
Lightweight always-recording network video recorder
Replaces Blue Iris
Restream RTSP camera feeds to web browsers
Replaces go2rtc
Open-source camera security and surveillance software
Replaces Blue Iris
Web-based control and streaming for the Raspberry Pi camera
Replaces Nest Cam
Unified UI and API for face recognition on camera feeds
Replaces Nest Cam
Connects Frigate NVR detections into Home Assistant
Replaces Cloud camera integrations
Python library for the Raspberry Pi camera with streaming support
Replaces Proprietary camera SDKs
Lightweight video surveillance agent for a single camera
Replaces Nest Cam
Web interface and NVR for RTSP and camera streams
Replaces Nest Cam
Cross-platform mobile and desktop client for ZoneMinder
Replaces Commercial CCTV apps
Self-hosted AI server for surveillance object detection
Replaces Amazon Rekognition
Self-hosted AI server for object and face detection
Replaces Amazon Rekognition
RTSP bridge for Reolink cameras without cloud
Replaces Reolink Cloud
Raspberry Pi surveillance video wall for IP cameras
Replaces Blue Iris display
Detect and extract motion events from video footage
Replaces Blue Iris motion review
Open-source video surveillance recording engine
Replaces Milestone XProtect, Blue Iris
High-performance camera streaming for Raspberry Pi
Replaces mjpg-streamer
Real-time alerts and AI detection add-on for ZoneMinder
Replaces Cloud camera alert services
Standalone notification tool for Frigate NVR events
Replaces Nest Cam
Next-generation successor to the Motion surveillance software
Replaces Blue Iris, ZoneMinder
Self-hosted media server for video and camera stream processing
Replaces Wowza, commercial video servers
REST and gRPC object detection service for images and streams
Replaces Nest Cam
Open-source IP camera surveillance and NVR application
Replaces Milestone XProtect
Raspberry Pi motion-detection camera with web interface
Replaces Nest Cam
Cross-platform DVR with AI object detection
Replaces Blue Iris
Storage and lifecycle management for surveillance recordings
Replaces Milestone XProtect
Scalable video analytics platform for cameras
Replaces Milestone XProtect, Genetec
Video surveillance management system
No apps match these filters.
Last reviewed Aug 26, 2026 · 447 words
Decide whether you need a recorder or plumbing before you compare anything. Of the ten most-starred projects in this category, only two — ZoneMinder and motionEye — will record your cameras and let you review footage. The rest are streaming relays (MediaMTX, go2rtc, Restreamer), recognition services (OpenALPR, CompreFace), an audit tool (Cameradar), and developer libraries. All excellent, and all the wrong shopping list if what you wanted was a DVR replacement.
Match the tool to the job. A full NVR records continuously or on motion, manages retention, and gives you a review UI: that is ZoneMinder (maintained since 2002) or motionEye, and, one tier up in ambition, Frigate with local object detection. A streaming layer like go2rtc or MediaMTX takes your cameras' RTSP feeds and republishes them with low latency to browsers, HomeKit, or other software in about 128 MB of RAM — it is glue, and go2rtc is literally the glue inside Frigate. Recognition services bolt onto an NVR rather than replace one, and they are not cheap: CompreFace wants 4 GB of RAM for face recognition alone.
Then match the hardware. Recording is a disk problem — a handful of cameras writing around the clock eats terabytes — while detection is a CPU or accelerator problem. motionEye runs happily on a Raspberry Pi; ZoneMinder wants 2 GB of RAM and a Hard-rated install.
Finally, the cameras: the gating feature is plain RTSP output. A camera that only talks to its vendor's cloud app is a dead end for every tool on this page.
First camera, least friction: motionEye — Easy-rated, Docker-friendly, motion-triggered recording, and the default DIY answer on Pi hardware since 2013. Outgrowing it usually means wanting alerts that say "person at the door" instead of "pixels changed", and that is Frigate. ZoneMinder remains the maximalist option — IP, USB, and analog cameras, motion zones, deep configuration — if you will trade a dated interface and a genuinely complex setup for control.
Cameradar exists because RTSP cameras ship with default credentials and open streams, and scanning for them takes minutes. Run it against your own network once; if it finds a watchable stream, so can anyone. Put cameras on their own VLAN with no internet access, let only the NVR reach them, and never port-forward a camera directly.
Default for a first-timer: motionEye on a Pi with an external disk and two RTSP cameras, nothing exposed publicly. Graduate to Frigate the day you catch yourself scrubbing an hour of motion clips looking for the one with a person in it.
100 head-to-head comparisons in this category.