Hacker News new | ask | show | jobs
by troysk 2313 days ago
I started by using a NVR off AliExpress. It worked well until I added a camera from a different vendor, same brand though and it refused to be reliable and had frequent disconnections.

Moved onto ZoneMinder and after hours of setup I felt the UI wasn't good enough for a non-tech person. I want others in my family access the feeds with ease, ZoneMinder does not cut it.

While I was experimenting with cameras, I was also getting into HomeAssistant which had motionEye as a supported service. It was easy to add cameras and almost any camera could be hacked to have RTSP support and motionEye.

Motion-detection could be enabled on the Raspberry Pi's motionEye, offloading compute off the cameras. This was important for me as many of my cheap Chinese cameras lag/hang/shutdown on load.

The Raspberry Pi also has Pi-Hole installed which I configured to block all IPs and domains being used by the IP cameras thereby limiting its access to local network only.

As I kept adding cameras (10+), performance on Raspberry Pi started getting affected, so I added another Raspberry Pi and installed motionEye on it. Setup MQTT on motionEye to send notifications to HomeAssistant on motion/human detection. Added multiple HDDs (4) so cameras can write with less conflicts.

I still haven't got some cameras (Xiaomi) into this setup as I don't want to hack them yet. (The open firmware(s) lack features). But they do backup recordings to the same Raspberry Pi NFS and I plan to find something which can show motionEye and Xiaomi videos in one interface.

2 comments

> The Raspberry Pi also has Pi-Hole installed which I configured to block all IPs and domains being used by the IP cameras thereby limiting its access to local network only.

You might have to be careful here. My understanding is that PiHole is just a domain lookup blocker so it won’t block a device which phones home with a straight IP address.

Happy to be corrected.

You are correct. Sorry, I forgot to mention that I also have OpenVPN setup on the Raspberry Pi and the IPs are blocked using firewall rules.
Indeed, if you control over DNS you have to advertise your own DNS server than blocking outgoing DNS requests for everything except you nameserver (UDP and TCP).

Sadly DNS over HTTPS takes this control away from you.

Would a Raspberry Pi Zero be sufficient to run motionEye? They are sufficiently cheap so that one camera could have one Raspberry Pi Zero attached to it.
Not sure about motionEye, but the specs for the Raspberry Pi Zero are pretty powerful so I don't see why not.

This is what I used to set up a home surveillance with notification alerts.

https://www.bouvet.no/bouvet-deler/utbrudd/building-a-motion...

====

I just wanted to add, while I have an Arlo Pro as well, I've found the Raspberry Pi Zero solution cheaper and more reliable. The Arlo's camera quality is better, but the software often fails to capture someone walking by. I'm also more skeptical about how safe my videos are on Arlo's servers.

I run it on a Raspberry Pi 4. No camera is directly connected to it. All cameras are WiFi based and it records 10 streams of 720p/15fps over RTSP.

motionEye can also be used directly on Raspberry Pi Zero along with the Raspberry Pi Camera but I don't use that setup as getting night vision to work on it a hassle and expensive, comparatively. It works though :).