Skip Navigation

Machine to run Frigate NVR

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.

3
3 comments
  • How many cameras do you have?

    I don't really know the answer to your question (I'm actually eagerly hoping someone does, because I'm in the market for the same thing), but I do think it'll be dependent on how many cameras and what resolution you're going for. Also, do you have a Coral involved for additional processing?

  • 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.

    1. 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.
    2. Memory - It will store raw frames for processing, and need extra memory for providing jsmpeg previews.
    3. 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 :)