At the moment I’ve got frigate running on an old dell server through proxmox, writing to drives on that server, but they are shared with a lot of other services.
I’d like to separate it and have a machine that is kinda just acting as a full NVR and writing to it’s own drives.
Anybody have any suggestions for one? Are the mini PC’s any good or I guess they wouldn’t hold enough drives to have plenty of storage.
deleted by creator
I’m very interested in other people setup and performance.
I only have RPi4 8GB running with HA + Frigate (+ few other addons) running from my old USB2 2TB spinning drive + additional usb coral. Based on my observations, my setup should support 2-4 cameras.
Without usb coral the cpu did spike a lot, as it was using cpu trying to detect objects on video, but the performance was very poor (like 0.5 frame/second), with usb coral there is no difference between detecting or not.
There is 3 part you need for cameras.
- USB Coral - if you want to have person/animal/object detection, without it it will work, at least it did work for me, but don’t know how reliable it was. object detection only run when movement is detected, but without coral it did peek the cpu with poor detection fps.
- Memory - It will store raw frames for processing, and need extra memory for providing jsmpeg previews.
- CPU - is the biggest issue, you definitely need something with hardware decoding, and if you want to add watermark on video also encoding, decoding performance is very important as it need to do that to decode video into images to perform movement detection, and it does that all the time.
My one 1080p camera set to 15fps (+ very complex mask) use: Memory: I see it’s using like 900MB for my 1 camera currently while there is some wind that trigger a lot of motion, so don’t know how it will actually scale with one camera, and . CPU: At one time I managed to go down to 70% core usage when there was not activity on camera, currently with high wind I see usage 100% sometimes even spikes to 200% with a lot of movement detected, so my CPU would handle 2 fine, 3 should work, more - depends on probably on the amount of movement per camera, (without usb coral it was 400% on any movement).
What I would buy depends on how many cameras you want. Good spinning drive for video should be enough for most setup. I would go for 1GB per camera with few GB fee for OS, as reading code from spinning drive shared with cameras would be painful if you run out of memory. CPU - something with intel quick sync, and I would look very closely how many decoding streams it can support at once (or dedicated gpu with video decoding). The amount of cpu will depends highly of the configuration, camera resolution, camera fps, detection resolution, detection fps, applied masking (cutting portion of the video from detection), Now that I’m thinking, my cpu went from 70% to 100% core probably because I did add second (very complex) mask. But the CPU on RPI4 is probably very slow in comparison, so I would aim for … low tier core per camera? Gogole Coral (or GPU once the support will be implemented) for object type detection, unless you have very powerful cpu and not many cameras and it just works for you :)
I just finished swapping to frigate on unraid with a ryzen 3700x from trying eyemotion. I liked eyemotion but have coral support made the choice once I was able to get a coral m-pcie (using with a pcix1 adapter) since the m2s were back order so bad.
I have 3 cameras all which are 1080p 15fps and a doorbell cam which uses a 4:3 ratio. I was averaging around 9-10% cpu per camera. I then added a gtx 1060 6gb and they dropped to 2% or under for cpu and the gpu usage is only 2% gpu and 10% memory.
I’m planning on moving Plex from a standalone box it’s on now to the unraid box since the gpu usage is so low.