Hacker News new | ask | show | jobs
by Mister_Snuggles 2312 days ago
I used to use ZoneMinder, but found that it needed a lot of babysitting. Cameras which disconnected, usually due to wifi interference, sometimes wouldn’t start working again when they came back on the network. The version I was on also struggled with larger image sizes, though that’s most likely due to a lack of memory.

I’ve since switched to a dedicated machine running Blue Iris. It works a lot better for me than ZoneMinder did.

Network-wise, cameras get segregated onto their own VLAN and they aren’t allowed to initiate connections to anywhere. The Blue Iris machine is the only machine allowed to initiate connections into the camera VLAN.

I use Node-RED and PushOver to deliver motion detection notifications from the outdoor cameras. They get run through AWS Rekognition first to filter out things I’m not interested in (e.g., don’t tell me about neighbourhood cats at the door, but do tell me about humans at the door).

Remote access is via a VPN. Connect on demand makes remote access as seamless as local access.

Instead of trying to get a camera with the appropriate API and features, I recommend using “dumb” cameras and having all of the smarts on the NVR side. The big advantage of this is that you can upgrade the smarts of the system without replacing the cameras. Central management of alerts, recordings, etc is also very worthwhile.

2 comments

One of the things keeping me on using Blue Iris is its use of QuickSync decoding for motion detection(which amazingly works in a virtual machine!) and Direct-to-Disk recording(prevents re-encoding streams for saved clips). With 6 1080p cameras it has really saved on CPU usage. I did not see any references to this in motion.
Wow this sounds truly impressive, the image recognition takes it over the edge.

What do you do for power sources to your cameras? I imagine with a setup like that you're not just using an AC cable to the nearest outlet plus some of those are outdoors.

You got some in wall wiring going direct to the cameras? How much time/cost investment would you say it would take for someone to replicate this setup?

Believe it or not, it's not nearly as impressive as it sounds.

Most of my cameras are WiFi and the wiring is not run in the walls. My front door camera, for example, is actually an indoor WiFi camera looking out a window with its power cord running through a nearby closet to an outlet near that closet. My living room camera is mounted on a piece of wood that's clamped to a bookcase, its power cord runs behind the bookcase to an outlet nearby. The nice thing about having WiFi cameras is that you can move them around really easily. If I'm worried that one of the cats isn't eating, I can just put a camera looking at the food dish so that I can see what's going on.

My driveway camera is unique in my setup though. It's my only wired camera and it's powered via PoE, so all I need is an ethernet cable. I used an existing hole in the house, where the cable and telephone comes in, and ran the ethernet through that to the outside. From there it goes into some conduit for protection, then gets stuffed behind a piece of siding and run to where the camera is mounted. The mounting is similar to this[0] YouTube video.

It's really hard to say what it would cost to replicate it. My cameras have been acquired piecemeal over the span of 10-ish years. My Blue Iris server is a refurbished Windows 10 Pro (Pro is required so that I can manage it via RDP) business-class desktop machine that cost about $300CAD, Blue Iris itself I think cost around $70CAD. The networking gear is UniFi, but really the only requirements are that the switches and APs are VLAN-capable and that there is some routing/firewall sitting between the VLANs.

Beyond hardware, Blue Iris, and AWS, the software involved all open source. The biggest cost is really time, and it's really hard to put a number on it.

Setting up Blue Iris, tuning the motion detection, and building the Node-RED flows that coordinate it all took quite a bit of time to get working to my satisfaction. Tweaking the motion detection to avoid triggering on shadows from trees in particular is something I spent a lot of time on. It wouldn't surprise me if I spent a total of 20+ hours just trying to cut down on the useless alerts before I gave up and started using AWS Rekognition to filter the alerts. Cost-wise, I estimate that I'll pay about $5/mo for Rekognition once I finish up my free 12-months.

The VPN duties are handled by StrongSwan, I built configuration profiles for MacOS and iOS (using Apple Configurator 2 plus hand-tweaking the resulting .mobileconfig file) to do the connect-on-demand magic. The whole thing is backed by a PKI (internal CA, etc), complete with machine and user certificates for authentication. This whole setup is probably 10-20 hours worth of time.

Typing this all out, it sounds fairly insane, but the knowledge I gained during this process is invaluable. It also took place over a fairly large timeframe, so it doesn't feel like I've invested a lot of time.

[0] https://www.youtube.com/watch?v=UjWkB0UZM1M