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...
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!
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!
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.
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.
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.
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.
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).
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.
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.
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?
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.
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.
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.:
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.
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."
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.
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.
What are the difference with systems like Motion (https://motion-project.github.io/4.0/motion_guide.html) ?
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
a mjpeg system basically, all in python but does need opencv
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!
Porting it to C++ should bring also a lot of improvements in terms of.performance
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!
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.
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.
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.
4 replies →
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.
thanks!
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).
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.
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.
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?
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#...
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
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.
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.
1 reply →
[dead]
`motion` is in the big hall of fame for 'software other things are based on' next to imagemagick and curl.
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
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.
Updated. You have a gif now that shows a preview of the interface.
Anyone have camera suggestions? I've got 2 spare raspi 5s that would probably be a good base.
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.
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...
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.
I was able to keep everything running without a reboot for more than 3 weeks.
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.
3 replies →
[dead]