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.

  • AlternateRoute@lemmy.ca
    link
    fedilink
    English
    arrow-up
    4
    ·
    11 months ago

    If you have no plans on recording you may want to look up setting up a stand alone instance of go2rtc and one of the optional cards to support WebRTC and MSE near real time viewing vs home assistants default HLS which is sometimes 15seconds delayed and chunky.

    If you are not going to view ALL of the streams at the same time the system requirements and overhead for go2rtc should be fairly low depending on the codecs of your cameras and the devices you want to view on as video and audio support on various devices is all over the map, but go2rtc can transcode on the fly.

    • Lobotomie@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      11 months ago

      I am recording the footage its just saved locally on each camera sd card. Right now I am running most of them via webrtc and the dashboard basically break both my laptop and phone (both just basically freezet up)

  • corroded@lemmy.world
    link
    fedilink
    English
    arrow-up
    1
    arrow-down
    1
    ·
    11 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.