Shinobi or Zoneminder?

I google this question and get a lot of conflicting advice. A lot of the pro-shinobi posts I see are from it’s developer, so taken with a grain of salt.

The main arguments seem to be:

Zoneminder is mature, reliable and easy to set up, but development is stalling and fragmented, hasn’t matured to new technologies and similar stuff.

Shinobi is modern, less fragmented but has significant bugs that make it difficult.

Does anyone have any constructive and objective comments? And please don’t point me at any windows only solutions like Blue Iris :slight_smile:

I was running Zoneminder for years, then tried out Shinobi in Docker recently. But no matter what I have tried, I was unable to get all my cameras working. For some I saw little preview-images, but when trying the view the full stream I got nothing (those were MJPEG cameras). Another with RTSP stream didn’t show the preview image, but with that one watching the stream worked. I have spent a couple of hours tying all kinds of options, but gave up on it eventually.

So if stability / reliability is of concern, Zoneminder - for me - is still the way to go. Even if I had managed to get Shinobi working with great efforts, I’d have a hard time trusting it to run stable after pretty much forcing it to work. :man_shrugging:

Another important feature for me: I use the TinyCam app for my smartphone to view my cameras. At first glance I didn’t see support for Shinobi-cameras in the app. So that would have been missing then as well.

Hi,

I was using zoneminder but found that the cpu “bug” was very annoying as zoneminder use to eat the CPU when your ffmpeg cam goes offline. I gave motionEye a try and now I’m happy with it.

Take a look at motioneye.
I used zoneminder and worked well; however came across motioneye about 4 months ago and I’m very pleased with it.

I use Xeoma for the house surveillance. http://felenasoft.com/xeoma/en/

A problem with motion - so I have heard at least - is that when detecting motion it only relies on the brightness of the image, not color. Haven’t tried it myself though how relevant that is in practice.

Available for Linux RPI Docker windows Mac

I think you may be right… I didn’t put much time/effort on getting motion detection to work (or fine tuning it) as my idea is to use the existing PIR motion detectors and/or windows/doors sensors.

Thanks for the answers guys. A few options to look at.

Not long after I posted I found this, which may be of interest to others:

That’s the post I have read too. Here’s the follow-up post where he talks about why he eventually went with Zoneminder.

1 Like

its a shame no-one else does MQTT like BlueIris (that was super helpful).
I too am in the same predicament - had zoneminder for a while 0.7x HA and above gave me errors until i moved to a 1.30.4 docker. I have most things working but keep getting too many errors (mostly around memory map) and is zmc still running.
Anyway trying Shinobi and its pretty good so far, but lacks real integration with HA (and seemingly i had to switch all my cameras to stream MJPEG no H264 :frowning:

i’m tempted to try the Amcrest Hub for HA, and figure out how to store motion detection, but still very much a work in progress.

Anyone with any advice please let me know!

I too had a lot of problems with ZM in Docker. But after installing it natively (my Host is Ubuntu, so not a big problem) it works very stable. ZM just doesn’t seem to work great in a container.

The article is interesting because it make it 100% clear that ZM need much better hardware than Rpi

Thanks for the note, sadly I moved everything to Synology to consolidate and reduce the noise/heat.

Xeoma looks interesting as well, may as well give that a try too :slight_smile:

Way to drag up an old post, but…

I’ve tested MotionEye on and off for a while on an RPi and an Intel NUC with a J5005 CPU, but with a Synology NAS as my primary CCTV capture device - it just works so well. I’ve also tried Zoneminder in the past, I found it very difficult to get to work in docker, so never stuck with it. (I would love an AIO docker solution if anyone has one)

I wanted to ditch the NAS, an old DS115j and move to a single solution for HA, CCTV, and Plex for my media content, so decided to have a play around with an old Dell SFF Optiplex 990 running Ubuntu server 18.04.03 LTS, with a i5 2400, 8gb RAM and a 2TB WD Purple Drive I pulled out of the NAS.

I installed MotionEye using Docker, and got everything set up. CPU usage was sitting constantly in the region of 60%-70% usage with 4 cameras on continuous record. I find the motion detection in MotionEye to be unreliable and it drops frames constantly - 1 second I’m in the video, next second, gone. Power usage was constantly sitting at 80 watts, which in Australia becomes expensive for an always-on system. I know this a somewhat due to old CPU architecture. File sizes using Foscam FI9853EP’s were in the region of 800mb per 10min video on medium/high capture settings.

I stumbled across Shinobi, and decided to give it a go.

Installed using docker and it’s running very well. I’m very impressed with it so far. The learning curve for setup is much higher than MotionEye, but once I got the hang of it, I found it easy to configure.

CPU usage is around 5% and RAM usage is around 15% (of 8gb) and power usage is sitting at 30-35 watts - much less taxing on the system than MotionEye. Files sizes for a 15min video on roughly the same quality settings as MotionEye are around 240mb, significantly smaller for 50% longer record time.

Being that Frenck is no longer developing the community container for this, I have just added it to HA via an iframe.

I came searching on the forums for info about Shinobi as I couldn’t believe I hadn’t heard of it before, and found this thread, so thought I would share my experience with it so far. Perhaps the development of the software has improved and it is something that more HA should look into using.

4 Likes

Thanks for your contribution @kanga_who. I never went very far with this but I am grateful for the input, you may have reignited my interest. For one thing I am more comfortable with docker now.

This is the docker config I used.

sudo docker run -d \
  --name='Shinobi' \
  -e 'APP_BRANCH=dev' \
  -e TIMEZONE="Australia/Brisbane" \
  -p '8081:8080/tcp' \                                     **Changed port to 8081 as I have Unifi on 8080 already***
  -v "/dev/shm/shinobiStreams":'/dev/shm/streams':'rw' \
  -v "$HOME/shinobiConfig":'/config':'rw' \
  -v "$HOME/shinobiCustomAutoLoad":'/customAutoLoad':'rw' \
  -v "$HOME/shinobiDatabase":'/var/lib/mysql':'rw' \
  -v /media/hdd1/shinobi:'/opt/shinobi/videos':'rw' \     **I edited this line to point to my mounted 2TB HDD**
  'shinobisystems/shinobi:latest-ubuntu'
3 Likes

I’ve been using ZM for years too but I used it natively installed into Ubuntu for most of that time. I can confirm that it is extremely stable you just need some CPU power to crunch the images. About a two years ago I started getting into docker and I eventually realized there were several docker containers for ZM and around then I transitioned my natively installed version to a docker.

That was the best thing because upgrading ZoneMinder has always been a difficult chore for me. Docker takes much of the pain out of it because it won’t affect the system at large. About 2 months ago I found dlandon/zoneminder which is a ZoneMinder docker with built-in ML support for object detection (THIS HAS MQTT!!).

I used to have an HA automation that would watch the number of captures and if it incremented, I would notify my phone with something like “Front Door camera captured motion events 2=>3”. Anyway, this wasn’t very reliable but it mostly worked. I’ve used it like that for about a year.

I get a lot of spider webs and bugs that love to fly in front of the cameras triggering them throughout the day and night. Because the dlandon ML integration includes MQTT you can set it up to only push an MQTT event on successful object/face/license plate detection otherwise it still records to ZM but doesn’t create an MQTT message. I used to get notifications for all of the bugs and webs but now with object detection and MQTT I only get captures for stuff I care about. It’s much quicker alert and more reliable.

The thing I like most is that the capture image for the ML analysis gets saved with the detection zones. This last weekend I was able to revamp the HA ZM notifications and include the image in my notification! So now, when the camera is triggered, the ML fires up and does analysis on both the highest score alarm and snapshot frame, if it detects something then it sends an HTML5 notification with the details of the detection and the processed image. For example…

On my computer:
image

On my phone:

I’ve noticed that the notification happens within 30-60 seconds of the capture starting which is a big improvement to the previous notification methodology I was using. Anyway, I know ZM isn’t perfect and the built-in detection feels very dated but the zone setup does do a pretty good job of capturing stuff you care about with this ML integration.

FWIW: My ZM server hosts 6 cameras, they’re all Reolink cameras (RLC-410/RLC-511/RLC-520) and the server sits at a constant load of between 3 and 4 doing detection all day long. All are throttled to 10fps at 1280x720 or 1280x960 depending on the camera’s model. The captures are very high quality and with these settings I could record continuous days of data (maybe weeks) with the storage behind it if needed.

3 Likes

Wow, I have tried all different apps out there, Motioneye, Shinobi, Zoneminder etc. etc.

Agent DVR is the shit. Soo many options: https://www.ispyconnect.com/download.aspx
Official integration with Home Assistant: https://www.ispyconnect.com/download.aspx

Running it locally on a Windows PC.
Accurate Motion, MQTT, Alarm Panel in (home assistant), all cameras are published automatically to home asisstant.
No more lagging cameras using rtsp via home assistant etc.
In top of that I’m using Node-red to send image snapshot when motion to sighthound, to detect if there is any person.

My setup is very cool, hopefully I’ll have time to write a blog post any time soon.

1 Like

I think your second link is wrong.