Installing Motion and OpenCV - Mac OS X differences?

  • Hi there,
    I just stumbled across Shinobi in the past few days, and have been able to grab Brew and get it up and going (never worked out of the terminal, but it's not too bad so far). However, I'd like to play with motion detection as well license plate recognition - would I use the same plugin installation instructions/Terminal command as Ubuntu on the motion page? What about OpenCV (let's say a Mac Mini - so without CUDA I take it due to lack of Nvidia chip)? I'm sure there are subtle differences in terminal/brew commands, which is why I'm asking, and I only see Mac OS X installation instructions for the base install of Shinobi.

    Also, how would one uninstall Shinobi? I'm used to finding the app, preference files, application support folder, and boom, done. Reason I ask is that I've been playing with it on a laptop while waiting for a dedicated machine to come in, but I want to delete/wipe any trace and files of Shinobi once I get the dedicated Mini here, including any downloaded files to run Shinobi. As I'm new to how Terminal and Brew work, I'll need a little guidance as I don't want to screw stuff up.

  • administrators

    hi there 🙂 glad you decided to give it a try! Also thank you for your donation!

    For motion the reason i haven't included instructions to install it is because of how lengthy and confusing the process is in comparison to ubuntu or centos, they all have different methods to install canvas (libcairo2). Here is the tutorial for that . When i figure a simpler method ill be including it in the official docs too. I have already started a new install script for mac a few days ago. 🙂 I'll have it include stuff for motion and openalpr also.

    Using the OpenALPR plugin currently requires the motion dependencies (canvas and other stuff) as they are merged in that one plugin file.

    I would suggest steering clear of OpenCV unless you can get your hands on some good cascades (trained data). The one's provided give a lot of false positives and are only meant to demonstrate the abilities of OpenCV. I am currently working on a more useful and preloaded object detection method with node-yolo. 🙂

    For uninstalling there currently is no automatic process or script to do it but the steps would be as follows (not including the dependencies) :

    1. pm2 kill&&sudo pm2 kill - stop all pm2 processes
    2. delete shinobi folder.
    3. drop database named ccio from the SQL database

    for dependencies you would need to remove

    1. node.js
    2. mariadb (mysql)
    3. The libs associated with any installed plugins (can find those names on the install pages).

    Sorry its such a hassle to remove it right now, I will be making an uninstall script... just not sure when yet 😅

    happy trails!

  • Sure thing, I see this has potential and want to see what happens in a year. Any chance that Mac install script is nearly done and I'll test it out for you on a fresh install?

    I'll stay away from OpenCV for now, but some friends of ours have an isolated building with occasional break-ins and it'd be nice to see and log who drives the one road to get there, so next spring I'll be looking for a solution.

  • administrators

    @super_kev sorry its been so long since my last reply, i have finished a mac install script!!! 😄

    You can find it on the dev branch and here is a link to it directly

  • @moeiscool great thanks, I'll test it out on a fresh OS X install soon. Looking at the script, line 36, it says:

    echo "Shinobi - Do you want to Install MySQL? Choose No if you have MySQL or MySQL already."

    Do you mean "MySQL or MySQL Lite" instead of "MySQL or MySQL"? Just proofreading your stuff. 😎

    Also, how would I install motion? Your docs don't have Mac-specific instructions - and I asked a question in this thread here, perhaps you can respond to it here or there when you get a chance:

  • bump
    for installation of Motion/OpenCV/Chiro info on OS X via Brew.


Looks like your connection to Shinobi Forum was lost, please wait while we try to reconnect.