Show HN: CheapSecurity – Lightweight, Self-Hosted CCTV for Linux SBCs
Posted by zeldone 1 day ago
Comments
Comment by lormayna 21 hours ago
Comment by zeldone 31 minutes ago
That's it
Comment by synergy20 16 hours ago
V4L2 (MJPG) -> cap.read() -> CLAHE(night) -> imencode -> _current_frame (web MJPEG)
-> resize .25 -> gray -> blur -> absdiff -> contours -> motion?
-> motion? VideoWriter.write() : pre_buffer.append(jpeg)
-> on stop: ffmpeg remux fps fix -> Telegram/email
a mjpeg system basically, all in python but does need opencvComment by zeldone 30 minutes ago
Comment by madduci 7 hours ago
Comment by zeldone 30 minutes ago
Comment by kube-system 22 hours ago
Comment by drnick1 18 hours ago
Comment by wildzzz 17 hours ago
In 2018, I had a project where I needed to capture live video of some test equipment that was in an area off limits to humans. I could get measurements remotely but just not fast enough to stop the test if something went wrong. We also had no idea what to expect if something went wrong so there was no way to setup a trigger for a screengrab. We had zero funds for buying anything, PM told me to beg, borrow, or steal what I needed. I got a couple of old laptops and webcams from IT and built my own version of this using a slick ffmpeg one-liner to record locally and stream to another laptop outside the off limits area. I did have to buy a USB 3.0 ExpressCard, which I kept, because turns out you can't run multiple webcams through the single USB hub every port branched off from (even the docking station ports). It worked great.
Comment by dspillett 17 hours ago
The post you replied to very specifically mentioned using an IP camera. Unless you are paying “proper” money per camera, these days most of them are limited out-of-the-box in ways that are intended to drive you to paying a subscription service to have the recordings stored and processed (and presumably used for AI training whether you agree or not) on someone else's server.
The point of this, and other similar projects, is to host that target server yourself to maintain control and privacy. Where it says “such as […] a USB webcam” I assume it is using the same components and libraries that other options do and so will support common IP camera outputs easily too (assuming your camera doesn't protect its feed, or protects it badly, or you can flash it with alternate firmware that doesn't try to lock you in that way), and where it says “such as a spare Linux board …” spare here implies the target audience is people who are likely to have a spare board/box (or resource spare on their home-lab to host an extra container/VM) available so don't need to buy one at current prices.
Comment by 3abiton 11 hours ago
Comment by drnick1 22 hours ago
Comment by acidburnNSA 18 hours ago
Comment by dns_snek 11 hours ago
Comment by mattlondon 1 day ago
I have a bunch of Nest cameras and some cheaper Tapo cameras.
The "motion detection" is night and day different. The Tapo does some basic frame-diffing and it's awful. Shadows? DING DING DiNG MOTION DETECTED! gust of wind made some blades of grass move? Motion! Spider? Motion motion motion! Turn down the sensitivity a notch or two and it won't notice a human walk across the frame 2 meters away. The Tapo ones claim to be smart but twigs and leaves still trigger pet/person/motion alerts. It makes them essentially useless.
The Nest cameras are so much better and their "human" detected is usually zero-false-negatives at the cost of one or two false-positives perhaps once every 3 or 4 months, and their app is superior (tapo one frequently needs to be false-killed to load clips). Yes I am aware that the nest ones are streaming back to google 24/7.
Tldr: naive frame-diffing sucks for this sort of thing if used outside. An open source implementation that has accurate and reliable "human detection" would be amazing. Doesn't need to be "AI" - I would hope that there is some sort of computationally reasonable OpenCV way of doing person detection. Perhaps wait for frame-diffing to flag motion then feed it to a more expensive algorithm?
Comment by wolvoleo 20 hours ago
Nest does it in the cloud. Obviously it's more capable but it also means Google grabs all your video: https://support.google.com/googlehome/answer/16594324?hl=en#...
Comment by genericacct 23 hours ago
Comment by atmosx 22 hours ago
Comment by Fabricio20 22 hours ago
Comment by wolvoleo 20 hours ago
Comment by koko3tallah 19 hours ago
Comment by serf 22 hours ago
Comment by ripe 2 hours ago
Comment by npodbielski 1 day ago
Comment by ibejoeb 1 day ago
Comment by dvno42 1 day ago
Comment by kotaKat 1 day ago
"This feature ensures continuous full-motion recording at 30 frames per second (fps) to comply with gaming industry regulations. Casino Mode guarantees that the frame rate will not dip below 30 fps by forcing automatic bit rate and exposure control to maintain specific predetermined settings."
[1] https://www.retailitinsights.com/doc/arecont-vision-adds-cas...
Comment by ranger_danger 1 day ago
Instead I would suggest either a direct CSI connection or an external GigE camera.
Comment by fy20 20 hours ago
Comment by ranger_danger 20 hours ago
I have also tried many other IP camera brands over the years, but it seems none of them have figured out how to output fully compliant RTP/RTMP/etc. streams so I end up always having strange and random problems receiving fluid streams from them into a central server.
Coupled with the fact that many brands are just using the same recycled white-label Chinese firmware, I'm not surprised.
Would love better recommendations though if any exist.
Comment by Fabricio20 13 hours ago
Not too sure if you are looking for non Chinese manufactured though, down here anything else is just way too expensive and lower quality anyway!
Comment by Namidairo 13 hours ago
Another issue is semi-compliant ONVIF implementations for PTZ cameras and/or not having relative movement implemented. Or you know, just lacking RTSP and ONVIF entirely.
> Coupled with the fact that many brands are just using the same recycled white-label Chinese firmware, I'm not surprised.
SDKs for many of the SoCs not being available is really annoying as well. Some of the Ingenic, Sigmastar, Goke etc. are available, but I think many were just leaks from customers rather than intentional releases.
Comment by ashish01 20 hours ago