So I have about 30 Cameras I want to run on my instance. Step by step all of them will record their videos on a local sd card and I will only watch the stream over HA (no hardware nvr). How can I set this up so my phone/laptop will not struggle at all loading these streams?

Right now I am playing them using onvif and or fmpeg and all of my hardware starts to lag heavily when I open the camera sites.

The streams are split up over 3 pages so it’s 13/10/7 Streams each.

  • corroded@lemmy.world
    link
    fedilink
    English
    arrow-up
    1
    arrow-down
    1
    ·
    8 months ago

    I am new to HA, but I have been running DIY NVR for quite a few years. I have never liked the idea of using SD cards as a recording media. Part of the reason I have security cameras is so that if something happens on my property, I can look back and review the footage.

    I run BlueIris in a Virtual Machine on an old-ish 2x16-core Xeon server; for 30 cameras, you could probably get away with any modern Intel system with QuickSync enabled or a separate Nvidia GPU. Video is recorded to the local hard drive on the server in real-time; it’s a fast XFS array of 10k RPM drives. As the drive on my Blue Iris VM fills up, old footage is automatically transferred to my NAS, and anything older than 30 days is removed from the NAS.

    While this is overkill for a lot of situations, I would still strongly advise against recording to SD cards on each camera. Not only would finding the video you want be a huge pain, but there are so many points of failure. For me to lose any recordings, it would require at least 2 hard drives in my array to fail without me noticing and replacing them. With individual SD cards, one fails and your camera is down along with anything that was recorded.

    One other thing to consider is when playing back video, I’m playing from a fast server over a 10Gbit connection. Even if your network is 1Gbit, this will still be much faster and more reliable than trying to stream video from a WiFi-attached camera.