Hacker News new | ask | show | jobs
by Johnyma22 1807 days ago
I tried Shinobi but gave up, I even spent some time on bug reports/issues/with their community.

My major issue with Shinobi was each stream is processed by ffmpeg and I had 10+ cameras all requiring 10% cpu each to handle any object/motion detection. The cameras had object/motion detection functionality built in so I figured it made more sense to just do that work on the camera and not on CPU. I also tried offloading some jobs to GPU and that was not working properly, so I tried Nvidia Jetson and still no dice.

3 comments

There are ways to configure Shinobi so that you don’t need ffmpeg to record the main stream — you just write it to disk and save it.

You would need ffmpeg only if you’re going to do motion sensing, and the recommended way of doing that is to run it on a separate stream that is lower resolution and lower frame rate, which you can the monitor and take actions on the main stream for that camera based on what you detect in the lower bandwidth stream.

I agree that you don’t want to do a lot of ffmpeg processing all over the place.

The problem with offloading that to the camera is that onvif doesn't seem to have a standard way to report this. I only need motion detection on one cam so it wasn't an issue.

But good point, I wonder how Kerberos does this

It doesn't use the builtin ONVIF motion detection but instead processes every keyframe and does motion detection between the keyframes. So not every frame is being decoded to process, but enough to perform motion capture.

There's some interesting work w.r.t motion detection that doesn't actually require decoding the packets but rather looks at the motion vectors to estimate motion. That would save up a lot of resources..

> motion detection that doesn't actually require decoding the packets but rather looks at the motion vectors to estimate motion.

There's a very cool package for the Raspberry Pi that does this: https://github.com/billw2/pikrellcam

ive also spent entirely way too much time trying to get shinobi and zoneminder to work and had to give up.

xeoma is paid but runs in docker on linux just fine