NHacker Next
  • new
  • past
  • show
  • ask
  • show
  • jobs
  • submit
Show HN: CheapSecurity – Lightweight, Self-Hosted CCTV for Linux SBCs (github.com)
lormayna 1 days ago [-]
What are the difference with systems like Motion (https://motion-project.github.io/4.0/motion_guide.html) ?
zeldone 4 hours ago [-]
Motion is a great software and it overlaps with CheapSecurity. However this software pretend to be: 1. a single-camera-per-instance CCTV with a web dashboard and Telegram bot (motion is a full-featured NVR/motion daemon: multi-camera, masks, timelapse, SQL logging, external triggers, etc...) 2. One independent process per camera; multi-camera is done by running multiple instances. (motion is multi-camera support in one process) 3. Small Flask dashboard with live stream, settings toggles, and bulk actions on recordings. (motion is functional stream/status pages) 4. Specifically optimized for low-power ARM boards like the Odroid XU4 5. Last but not least small Python/Flask/OpenCV codebase, easy to hack on...

That's it

synergy20 20 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 opencv
zeldone 4 hours ago [-]
Correct! But I have to be honest... I do not like the night vision since with a consumer webcam is not working very well... I will test with a cheap camera that support by default night vision... I will keep you posted!
madduci 11 hours ago [-]
Porting it to C++ should bring also a lot of improvements in terms of.performance
zeldone 4 hours ago [-]
Correct! But I have to be honest... I do not like the night vision since with a consumer webcam is not working very well... I will test with a cheap camera that support by default night vision... I will keep you posted!
kube-system 1 days ago [-]
My question about this project and the numerous similar projects: where do I get a usb camera suitable for this? Webcams typically have unsuitable enclosures, focus behavior, and low light performance.
drnick1 22 hours ago [-]
I am not familiar with this particular project, but generally speaking, you don't want a USB camera for CCTV. You want an IP camera with POE and RTSP support.
wildzzz 21 hours ago [-]
With the price of SBCs nowadays, you'll probably save some money just buying an ip camera.

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.

dspillett 21 hours ago [-]
> With the price of SBCs nowadays, you'll probably save some money just buying an ip camera.

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.

21 hours ago [-]
3abiton 15 hours ago [-]
Check out Thingino. It's an open source firmware you can flash on certain off-the-shelf chinese camera (including wyze), to turn them from cloud spyware to actual fully local ip devices.
zeldone 3 hours ago [-]
thanks!
drnick1 1 days ago [-]
What is the difference between this and Frigate? Before clicking the link, I thought this would be a hardware solution (build you own camera from open components).
acidburnNSA 22 hours ago [-]
Frigate is so amazing. The lightweight object detectors plus home assistant automations and notifications are way too fun and powerful. I keep setting up new systems for family members after they see mine.
dns_snek 15 hours ago [-]
Which cameras do you use with it? Frigate + Thingino has been a constant source of stability issues for me, I've given up on it. Finding the right combination of parameters that had <2s latency, working audio, and didn't cause the stream to crash constantly seemed impossible.
mattlondon 1 days ago [-]
How does this handle motion detection? Anyone tried it?

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?

wolvoleo 1 days ago [-]
The tapo cameras do this on cam. They can even report it to the NVR system, completely local with ONVIF.

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#...

genericacct 1 days ago [-]
Try the motion Linux package, it can connect to tapos over SDP and then you can run Yolo or any other solution on the output
atmosx 1 days ago [-]
Seriously… how hard is it to setup an RPi with a camera and offload the detection to some open source software? Last time I checked there projects performing animal, face and even license plates reckon, extraction and db recording of “who”, “when”, “what” using cheap cameras and an RPi.
Fabricio20 1 days ago [-]
It's actually pretty darn easy nowadays and i'm so glad its the case! Frigate is amazing and the detection package is of your choosing (hardware dependant) and everything is customizable too.
wolvoleo 1 days ago [-]
Frigate is pretty cool if you need motion detection. If you don't it's a bit wasteful because it still keeps the whole decoding pipeline active. I've switched to LightNVR that doesn't do that. I have enough alarm sensors (motion and door entry) so I don't need motion on the cams as well. I just record 24/7 for evidence keeping.
koko3tallah 23 hours ago [-]
[dead]
serf 1 days ago [-]
`motion` is in the big hall of fame for 'software other things are based on' next to imagemagick and curl.
ripe 6 hours ago [-]
For those (like me) who don't know what "motion" refers to here, it's Motion Project, an open-source program to monitor multiple cameras and trigger real-time hooks based on motion detection, etc.:

https://motion-project.github.io/index.html

19 hours ago [-]
npodbielski 1 days ago [-]
I always wonder why author of such software will not add some screenshot or gif showing UI and how it does work? In features there is mention of web interface.
zeldone 3 hours ago [-]
Updated. You have a gif now that shows a preview of the interface.
ibejoeb 1 days ago [-]
Anyone have camera suggestions? I've got 2 spare raspi 5s that would probably be a good base.
dvno42 1 days ago [-]
Old Axis cams show up on eBay. Those are pretty standards oriented and easy to work with. Most hanwah and some Samsung are fine too.
kotaKat 1 days ago [-]
Arecont Vision cameras are fun too. Casino mode, anyone?

"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...

ranger_danger 1 days ago [-]
In my experience, budget USB cameras are not reliable as a long-term solution because they randomly stop working in different ways after days of use and must be power-cycled.

Instead I would suggest either a direct CSI connection or an external GigE camera.

zeldone 3 hours ago [-]
I was able to keep everything running without a reboot for more than 3 weeks.
fy20 1 days ago [-]
I'd just bite the bullet and get proper security cameras. I got a few 4K something or other from Ankke (rebranded HikVision) 5 years ago and they still work fine. They were about €100 each.
ranger_danger 24 hours ago [-]
For those that don't know, Hikvision is banned in several countries now due to both cybersecurity reasons and human rights violations: https://ipvm.com/reports/hikua-bans

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.

Fabricio20 17 hours ago [-]
I've had some great success with Reolink. Decent video quality and the software is made with RTSP/RTMP support in mind, including a proper web portal on the camera so you don't even need the phone app for setup.

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!

Namidairo 17 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.

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.

ashish01 1 days ago [-]
[dead]
Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact
Rendered at 21:17:58 GMT+0000 (Coordinated Universal Time) with Vercel.