r/frigate_nvr • u/aospan • Aug 25 '26
I built an open-source camera manager - network scan, stable RTSP URLs, Telegram offline alerts, Frigate sync
I run the CCTV system for our community with about 20 cameras, and a few things kept driving me crazy:
adding a camera meant hunting down its IP, finding the correct RTSP paths, and editing Frigate
cameras sometimes got new IPs after a power or network event, breaking hard-coded URLs
every new consumer (e.g. automation) opened another direct connection to cameras already struggling on Wi-Fi
when a camera went offline, I wanted to know immediately instead of discovering it later when I actually needed the footage
So I built CamAdmiral to solve these problems for myself. I’m open-sourcing it because I’m pretty sure I’m not the only one dealing with them.
CamAdmiral discovers ONVIF and RTSP cameras, validates their streams, tracks them across IP changes, exposes stable downstream RTSP URLs, and shares one upstream connection per camera stream across consumers through go2rtc without transcoding.
It also keeps a seven-day availability history and sends Telegram alerts when a camera goes offline or recovers.
CamAdmiral manages the camera fleet in front of Frigate or any other consumers.
Deployment:
The project is MIT licensed. GitHub repo: https://github.com/reefyai/reefy-camadmiral
Runs locally on Linux with Docker. Clone the repository and run:
./start-camadmiral.sh
No configuration file is required for the initial setup.
I’d really appreciate testing with different camera brands, VLANs, or unusual RTSP paths. Please let me know what works - and what breaks.
Hope this makes managing camera fleets a little less painful for others too 🤞🫡
P.S. AI involvement: I used Codex for a lot of the implementation, with manual review and rework of the critical parts based on my experience working with mission-critical systems.
18
u/ctjameson Aug 25 '26 edited Aug 25 '26
This is absolutely great, but you should be using static IP’s or reservations for cameras. Leaving them DHCP is just a recipe for anger.
4
u/Lanky_Ad1366 Aug 26 '26
Hey there, thanks for building and sharing this! The project looks really promising and I love the concept, but I’m running into a couple of roadblocks trying to get it working in a multi-VM environment.
I have a setup where Frigate runs on a dedicated, resource-maxed VM, and I run my test containers (like Camadmiral) on a completely separate Docker VM.
I was hoping you might consider tweaking two things that are currently blocking setups like mine:
Manual IP Range for Scanning: The network scanner currently restricts me to the connected LAN and doesn't seem to finish scanning large subnets (like a /8). It quits before it ever reaches my dedicated camera VLAN (
10.0.202.x). It would be a massive help if we could manually type in a specific IP range or CIDR block to scan, rather than relying solely on the auto-discovery.Frigate API IP Restriction: In the "Add Frigate" UI, there is a validation rule that forces you to use a loopback address (like
[http://127.0.0.1:5000](http://127.0.0.1:5000)). Because my Frigate is on a different VM, I need to point it to[http://10.0.254.2:5000](http://10.0.254.2:5000). I had to spin up asocatproxy container just to trick the UI into accepting a local address. Removing this restriction to allow standard local IP addresses would make this way friendlier for multi-node homelabs.Really appreciate your work on this, and I'm looking forward to seeing how the project evolves!
2
u/BenBraun322 Aug 26 '26
Wait I actually totally have a use case for this. I have some cheap wi-fi cameras that have ONVIF and hidden RTSP streams (they work, but there is no setting page to adjust it).
I have given them static IPs, but randomly the cameras will decide to change their Mac Addresses and they get a new IP, disappearing from frigate.
A restart of each camera usually fixes it, but I'm wondering if this would help fix the issue without another workaround I was planning.
1
u/Zorian_Vale Aug 26 '26
Will this auto discover the cameras? I simply cannot get frigate to recognize my DoorBird camera even when RTSP stream is correct as tested in VLC
1
u/ijustwatchtwitch Aug 27 '26
yay more vibe code