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.

@Kalcifer@lemmy.world
creator
link
fedilink
English
11Y

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.

That’s a fair point. I haven’t actually methodically gone through to see exactly how many I would need just yet. The numbers that I chose were somewhat just ballpark off the top of my head.

You will also want some form of reliable storage for your clips

I am planning to give the camera server dedicated storage for the data. If I’m really feeling like splurging on it, I may look into getting WD Purple drives, or the like.

as well as the ability to back up those clips/shots to the cloud somewhere.

I’m not sure that I would need this very much. I’m mostly interested in a sort of ephemeral surveilance system; I only really need to store, at most, a few days, and then rewrite over it all.

I’m personally running 4 cameras (3x1080 @ 15fps, 1x4k @ 25fps) through my ~7 year old Synology DS418play NAS

Would you say that 15FPS is a good framerate for surveilance? Or could one get away with even less to lessen the resource requirements?

whereas I can tweak stuff on Surveillance Station quite easily.

What tweaking do you generally need to do for the camera server?

Would you say that 15FPS is a good framerate for surveilance? Or could one get away with even less to lessen the resource requirements?

If doing CPU-based motion analysis, you could use a lower quality stream (if available from the cameras to avoid transcoding load) for motion detection, then use that to trigger recording on a higher quality stream.

This is exactly what I do. Record at 15FPS, event detection at 5FPS (at quarter resolution too).

@Kalcifer@lemmy.world
creator
link
fedilink
English
11Y

you could use a lower quality stream (…) for motion detection, then use that to trigger recording on a higher quality stream.

Brilliant idea! Thank you for the suggestion!

If doing CPU-based motion analysis

Whyd do you specifically mention CPU-based motion analysis? Does this idea not work with the Google Coral TPU, for example?

I’m using ZoneMinder on my end with more rudimentary motion detection, hence CPU detection. (My current hardware is pre-IOMMU on the mobo, so no pci passthrough for me…)

That said, if you have hardware that can handle X (via CPU, GPU, TPU, etc), then you gotta decide how you want to spend that. Whether resources are spent more in analysis fps or evaluating higher detail frames is up to what you need.

deleted by creator

I’m not sure that I would need this very much. I’m mostly interested in a sort of ephemeral surveilance system; I only really need to store, at most, a few days, and then rewrite over it all.

This is exactly what I do. I simply cloud backup any event/object clips but only retain last 5 days. The cloud is if law enforcement needs it, or in the event of hardware failure/catastrophic house damage.

What tweaking do you generally need to do for the camera server?

Recording schedules change based on time of day/when we’re in/out of the house. This is all handled as automations through Home Assistant, but is set up through Surveillance Station NVR.

Just reporting back that I did the work last night to change the ingestion order for my cameras. I’m now using the go2rtc component of frigate as the first ingestion point. That component is serving a restream to both Frigate and my NAS’ NVR. It’s working much better now, with less frame delay, and less CPU usage on the NAS.

Create a post

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.

Rules:

  1. Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it’s not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

  • 1 user online
  • 136 users / day
  • 427 users / week
  • 1.16K users / month
  • 3.85K users / 6 months
  • 1 subscriber
  • 3.68K Posts
  • 74.2K Comments
  • Modlog