Full open source and private camera monitoring system
I want to setup a camera monitoring for my house and some rooms. I need to bee able to view the cameras remotely and and also do recording if possible. I could find some camera brands like dahua cams but having briefly tested them they. Seem to rely on acwmtralized cloud and proprietary visualization software.
What are you recommendation?
This is not a professional setup I would at max have 3 cameras.
I've personally been quite pleased with the combination of Frigate and some Amcrest POE cameras. Just make sure the cameras you are getting support RTSP though and you should be able to use them with Frigate.
Also make sure you block the cameras from reaching the public internet using your firewall, and only make them reachable from your Frigate host. Personally I use a VLAN with no internet access and enforce tagging at the switch level (i.e. don't trust the cameras to maintain their own VLAN) settings.
AmCrest and Frigate together are SO good. Integrating Frigate with Home Assistant was also insanely easy for quick viewing and notifications. That initial Frigate config is a bit of a bear- but once you're past that I cannot speak more highly of it.
Frankly, once you get more than just a few cameras, being able to edit a config file is so much better than having to click through settings for literally hours like with Shinobi or Motioneye.
I have the exact same setup. It works perfectly and integrates really well into home assistant if that's your thing. Getting a coral TPU also makes object detection really easy even on low power hardware.
HomeAssistant + Frigate combo is just plain awesome. You can leverage the automations of HA through Frigate's AI detection, so you get things like notifications.
I see several Amcrest options that look like they have integrated AI object detection. Frigate on the other hand says you should get a "Google Coral Accelerator". Do you know if Frigate (or RTSP, I guess) has a way to leverage the built in detection capabilities of a camera (assuming they are built in, and not being offloaded to the cloud)? Or am I better of looking at the "dumb" Amcrest cameras, and just assuming all processing for all cameras will happen on my Frigate hardware?
Coral Acceletor is only needed if you run setup that does not have GPU or enough CPU. Spare laptop usually has enough power to handle AI detection, but RasPi doesn't. I run mine in CPU at rack server.
Cameras own detections are limited in my experience, and it is much harder to integrate to anything else, like HomeAssistant for notification & automation
I know I'm a bit late to the conversation, so I don't know if this is still helpful... But I have a camera with "AI Detection" built into it and it appears to send alerts via its ONVIF connection. I've disabled motion and other detectors on my NVR (AgentNVR) and instead configured it to just wait for an alert from the camera itself to start recording. It's been working quite well.
My initial plan was to use a coral TPU and frigate, but the Coral/Gasket drivers appear to be pretty old and I couldn't get them to work properly, myself.
Yes and no. You can capture frames, stream the output to the local OS or export the feed to be embedded in a website if you like. Also you can put it on the backend of another NVR and use it for long term storage, backup, compression and storage for later investigation. All of that allows for using higher resolution cameras and multiple feeds on smaller drives like a two 4TB disk ZFS stripe or something similar. I often reuse consumer desktops for it when price sensitive clients need security cameras, or remote access to a system already in place.
TPLink Tapo line - I own those, requires internet / cloud access for setup, then can be viewed by any ONVIF capable software, VLC etc. You can cut their internet access and they mostly work, however timestamps and some features may break randomly;
Reolink / AMCrest - no internet required, can be setup offline AND have a WebUI that allows full control over all functionality. Check the details of specific models, may vary a bit.
AMCrest is most likely be most offline friendly brand. Here's a testimonial from another user:
I've been using Amcrest and foscam IP cameras at my home for the past several years. I have then connected to a no internet VLAN with an NVR.
The models I've been using have an ethernet port and wifi. Setup was connecting to the ethernet port and then accessing the web ui in a browser to configure settings (most importantly turning on RTSP or ONVIF feeds)
Reolink / AMCrest - no internet required, can be setup offline AND have a WebUI that allows full control over all functionality. Check the details of specific models, may vary a bit.
... NO internet required, no apps, nothing. Just a WebUI on a browser.
I second the idea of a VPN instead of directly exposing devices or software to the internet. Requires more work and learning but it's more secure. I would argue that well-known VPNs are more scrutinized and pentested than any camera software ever.
You need IP cameras and then you need a NVR server for recording, detection, and display. There are some good open source NVR programs out there with docker support. I've been wanting to try Viseron. There's also ZoneMinder and Shinobi that seem to be good.
Your best bet is probably a chinese brand for cameras. Dahlua seems popular. There are also a bunch of PoE cameras on Aliexpress for $15-25, but I can't attest to if they're any good. Hikvision cameras seem to have been popular too, but they have been recently sanctioned by EU/US for human rights violations.
That works until the battery puffs up and cracks the screen. Phones don't last long when plugged in 24/7.
Also keep in mind that WiFi cameras can easily be jammed.
I’m working on one called Soteria. It’s still early in development, but I’m focusing on both privacy and cloud availability.
It uses any WebDAV store to upload footage, but it’s designed to work best with my own WebDAV server Nephele. This lets it upload footage to any S3 compatible blob storage, end to end encrypted.
That way if your cameras go offline, you can watch the last footage they were able to upload.
Like I said, it’s in early development, so it’s not yet ready to use, but I’m going to be putting more work into it soon and try to get it to a place where you can use it.
It works with any V4L2 compatible camera, so laptops, webcams, and Raspberry Pi cameras should all work.
I am not sure about the current state of the project (the python 2/3 transition took a long while, there are only pre-releases using a modern python version).