Home Security Cameras

Does anyone use home security cameras? I want to get some for the house. Interested in self-hosting the video vs. a cloud service.

Not interested in Amazon Ring as they packed with 3rd party trackers, hand over footage without a warrant, record audio, and have a history of weak security (the irony).

It seems like raspberry pi options are a bad value atm.

Any decent options between these two extreams i.e. soldering a sbc vs. a cloud-based option?

The good news is that most USB cameras have a standard interface, so worst case, you use a few SBCs to just stream things. But there’s probably some local first solutions.

If it’s a networked camera, you probably want to find something with POE support. And then just keep them on an isolated LAN segment that can’t talk to the internet - that would solve most of my concerns about cameras and livestreaming to the world. Assume they’re a poorly designed device that can be trivially remotely compromised, and network them accordingly. I’d probably have a storage box with two NICs - one for the internet/LAN access, one to run the camera network.

I bought a bunch of the cheapest alibaba reject (eg Amazon) cameras that were PoE and had the resolution I wanted.

I put them in a network where they can’t even think of calling back to Xi Jinping

Anything listed as supported by Zoneminder or Frigate NVR should work fine.

I don’t even have recording setup, I just use the naked RTMP urls to eyeball different rooms.

What I did was buy ones that looked like they’d work from Amazon warehouse until I was satisfied (returned a few) and then found ones that literally looked the same in product photos but were cheapest.

And they were the same thing but sometimes with older firmware. It was kind of amusing.

What did you use for your network? VLan on existing router? What kind of server did you set up?

I had zoneminder on a VM for awhile with a separate VLAN (shared with some old Cisco phones) but I stopped using it because I didn’t need recording.

Now one camera is linked through a piece of software in home assistant to appear in Apple Home. The others just sit there on RTMP. I block all their static IPs on the router, null routing anything from them.

An entire separate LAN would be optimal but I only have one big PoE switch.

It’s not the most secure setup in the world (if you came to visit and we’re on my Wi-Fi you could watch my cameras) but it’s good enough for me.

I do recommend changing the default admin password and making sure they can’t route to the internet or be routed to from it (some have a broken IPv6 so be sure to check that, too).

Software like Larix Broadcaster could be used to repurpose some old smartphones into security cameras. (There might be better or more secure options, but that is the app that seemed to work best in my limited testing for a one-off use-case.)

A light-weight recording setup can be had fairly easily with nginx-rtmp.

For my one-off use-case I had this configuration;

rtmp-nginx.conf

pid        /tmp/nginx.pid;
error_log  /var/log/nginx/error.log warn;

worker_processes auto;
rtmp_auto_push on;
events {}
rtmp {
    server {
        listen 1935;

        application live {
            live on;

            record video;
            record_unique on;
            record_interval 60m;
            record_path /rtmp/recordings;
        }
    }
}

docker-compose.yml

version: '3.7'
services:

   nginx-rtmp:
     image: tiangolo/nginx-rtmp
     user: 1000:1000
     ports:
       - 1935:1935
     volumes:
       - './rtmp-nginx.conf:/etc/nginx/nginx.conf'
       - './rtmp:/rtmp'

Probably advisable to add a password and maybe put everything in its own subnet or something, but security wasn’t very critical for what I was experimenting with.

I might have to futz with that some time (in the copious free time you get with three kids under five lol) because a rolling recording buffer of 60m or so would be enough to catch “kids did something hilarious/stupid” for posterity.

1 Like

Huh. Wouldn’t have thought of using nginx-rtmp for it. I’ve been using that for church livestream archiving/transcoding/pushing/etc for a few years now.

1 Like