I was thinking of setting up a home surveilance system using Frigate, and integrating it with Home Assistant. I’d probably have somewhere on the order of 10-15 1080p 30fps cameras. I’m not sure what components I should get for the server, as I am unsure of the actual processing requirements.
EDIT 1: For some extra information, I did find that Frigate has a recommended hardware page.
That’s quite a few cameras. I would do an audit on how many you will actually need first, because you will likely find you could get by with 5-10.
In terms of what you’ll need - any Intel chip that supports QuickSync will likely do for the main
ffmpeg
processing of the image, but you will definitely want a Google Coral TPU. If you do end up needing 10-15 cameras, you may end up needing the M2 with dual TPU version of the Coral. You will also want some form of reliable storage for your clips (NAS local or NFS), as well as the ability to back up those clips/shots to the cloud somewhere.I’m personally running 4 cameras (3x1080 @ 15fps, 1x4k @ 25fps) through my ~7 year old Synology DS418play NAS using Surveillance Station as the first ingestion point, then restreaming from there to Frigate. Now that Surveillance Station can accept external events via webhook, I may look to swap the direction, and ingest into Frigate first, then restream out to Surveillance Station for long-term storage.
“Why not directly use Frigate?” I hear you ask. Mostly because Frigate is pretty static. It’s all set up via YAML with no config UI currently, whereas I can tweak stuff on Surveillance Station quite easily.
The space requirements get super intense with many cameras like that unless you compress the video. And if you compress it then with so many you need the camera to do it on the fly otherwise your server needs to be really beefy to handle real time encoding of 10+ incoming video feeds. Also if the cameras don’t encode then the data flow would congest your network something fierce. Those requirements might push the cameras from cheap to not so cheap though (still far from expensive though imo)
The biggest issue as I see it with so many cameras would be how to find interesting stuff in all that data. If it’s only surveillance then sure you can just retain like a week of feeds and make a vacation mode where you store enough to cover the whole vacation. But if you want to look at what your dogs do etc then trying to track them across 10+ cameras is going to be tricky without some software help, unsure if there is anything open source for that.