A friend of mine is helping me with setting up a Linux-based homebrew security system set up. He’s currently using Wyze cameras, but they are faulty and have ads on them, so I’d like to find something more open-source/closed system that I can control completely. Any recommendations or pointers in the right direction would be great.
Do you rent or own your place? If you have the ability to run Ethernet drops to camera points imo the best solution by far is to get poe cameras. Amcrest/reolink are good options. You’ll need a poe switch, this can be expensive but you can pick them up cheap used if you look for old ones sold as ewaste. I got mine for $40 and it has 24 ports which is far more cameras than I’ll ever need.
Similarly, you can get a nvr, which is basically a poe switch with a built in management system and a slot for a hard drive. These can be a couple hundred. Or you can get an old ewaste pc, like literally an $50-$100 sff core i3 pc from an office off ebay. Thow a decent sized hard drive in this, the bigger it is the more recording you can do. I have this connected to my home server for storage so if you have a home server/NAS that’s also an option but not necessary, just gives you more record time and eliminates the need for buying a computer to act as a server.
Then software to tie it all together: ZoneMinder Moonfire NVR Frigate MotionEyeOS OS-NVR Are all good options Also closed source options like shinobi, I spy, blueiris, and a ton of others
Not revealing my specific setup for opsec
This imo is the best possible setup. For one, it sounds expensive but ultimately costs just a bit more. You can get super expensive poe cameras but comparable poe cameras to wyze/eufy/etc are often a bit cheaper because they don’t have the WiFi nonsense built in. Of course, you pay that back with the switch and server.
But the bigger thing is reliability and customization. Before this I had a eufy cam setup. They were wireless which was admittedly easier to setup, no fishing wires. But every couple days I’d get notifications “camera x is unavailable” for no reason. My home has a very solid mesh WiFi network with several APs. The cameras are just shit and drop connection randomly. Sometimes they’ll be on for 4 weeks straight, sometimes they’ll disconnect 20 times an day. If you have a setup with 10 cameras it means one is always doing it.
Then eufy came out and was server siding thumbnail id images, despite claiming to never do this. Then they doubled down on this, and took away the guarantee that they wouldn’t “cloud” your shit. Essentially they would do “ai” facial recognition server side because their little base stations aren’t powerful enough. They’d then store thumbnails of recognized users for future id purposes. This caused me to sell the eufy cameras and go poe. The poe cameras work in an isolated vlan, eg the cameras and all their features work without a connection to the internet and I can tunnel to my server to view them remotely. You don’t need to have this setup but I’d recommend it if you can
Finally going off the above with your own server and your own hardware you can do whatever. Eufy had ai recognition but it was shitty. I’m sure it’s improved a bit. I’ve found running the models locally appears to be better, more features like yard perimeters, object detection, etc. you can also separate the ai model from the nvr software, etc. frigate is an interesting potential here, still needs some growth wrt object detection but if they get it a bit more mature imo will be a serious contender
I’m a milestone dealer so I’m running essentials which is free up to 8 camera channels at my house. Enterprise VMS is the only place I would go other than open source options just because any of these cloud connected retail options can SAAS your shit up at the drop of a hat.
I should spend the time to figure out zoneminder just because the windows server I have is a reject proliant and takes too much wattage for what it’s doing.
SAAS your shit up…
Great phraseology, and have experienced it with Arlo.
How far can you run PoE lines?
IEEE standard is 100m
I’ve h6ave very long runs before and they worked.
But you need solid copper wire for that to work. No stranded or CCA
This but also if you’re going to a 100m run keep in mind that also assumes everything randombullet said is true plus at least 22-24awg and kept under 20c. If you’re truly looking at runs that long it’s time to consider fiber imo.
Raspberry pi cameras aren’t that bad a deal.
For the first one sure, if you are running a pi already. For the next ones, the cost of a pi plus a pi camera is more than the rest of this per channel.
For switches, new POE should be under 12$cad per port, 5mpx poe camera can be gotten retail 50-100$
Wire is still a significant cost if you aren’t terminating your own wire, so look around for cheap long patches.
A pi would be cost of the pi, case plus power supply plus camera each, you could do wifi so you might be able to get away from the cost of the cable. If you do that you should upgrade your wifi AP.
Poe cameras with Frigate seems to be the best option.
I am also interested in the Pinecube https://wiki.pine64.org/index.php?title=PineCube
Esp32Cam with esphome running a webserver, add frigate in the mix and you can have dozens of cameras for just a few bucks.
Completely open source (apart from the espressif wifi radio stack, but who’s counting) and low cost.
Yes, quality of the camera will never compete with commercial stuff, but this is way more fun. Add as much cameras as your frigate instance allows…
a few years ago i created a homemade security camera system using motion on my linux desktop and all of my unused smartphones as cameras with ip camera software along with the gnome google drive desktop plugin to upload pics/vids of events and notify me via email & priority phone notifications if something happened.
it was easy to setup, but it took forever to tweak the cameras’ angles, mask and especially the lighting with infra red light bulbs so that they could get decent light in the videos and pics during night time and without having to keep all the regular lights on all the time.
i’m glad that i didn’t spend any money of it because i only ended up with hundreds of hours videos and gigabytes of pics of me and my pets. lol
Why did I just read Google Drive
maybe because i mentioned it?
Wasn’t exactly security but I used a RPi Zero with a camera to monitor my 3D print. It’s small, low-power, wireless, didn’t have any problem with it. I imagine the result can be recorded, analyzed, etc.
I’ve been thinking of running something using second hand usb cameras and raspberri pi 3+ since my switch already has poe and my nas has 40tb.
I have a 3d printer so a wall mount enclosure shouldn’t be hard either.
Was thinking of mounting them on the window frames indoors.
Nvr software like this might work: https://github.com/seydx/camera.ui
Tailscale will allow me to access the Web front end anywhere on my devices. Individually it could hold the RPis too just for remote troubleshooting later if anything happens.
Personally I’d like to reuse as many things that I already own and have no specific reliance on a vendor. If I got a rstp camera later, I wouldn’t need a pi to host the camera. But I’ve got a couple of pis and a couple of usb webcam to start. It won’t work for night mode so I’ll have to make sure the outdoor lights are triggered by motion.
But I’ve not done anything yet this is all how I’ve thought about it in my head. So I’m watching this space to learn more too.
I’m currently looking at setting up Reolink cameras on a homeassistant setup.
Not sure if it perfectly meets your requirements, but it should be ad free and closed system.
I’m just gonna add this for completion, DroidCamX can be installed on a smartphone and its cameras will act as an IP camera. DroidCamX also has a Linux package that will make the connected phone show up as a V4L2 device. You can connect the phone over USB or over LAN in two ways (PC connects to phone or phone connects to PC).
Now obviously a phone isn’t ideal for running 24/7 but since this is about privacy I thought it’s worth mentioning.