Skip to content
Moe edited this page Apr 11, 2017 · 133 revisions

What is the aim of Shinobi

Become a World Class Surveillance Software. The Guardian you Deserve.

A Quick Look at Shinobi YouTube

Key Aspects

  • Records IP Cameras and Local Cameras
  • Streams by WebSocket, HLS (includes audio), and MJPEG
  • Save to WebM and MP4
    • Can save Audio
  • Push Events - When a video is finished it will appear in the dashboard without a refresh
  • Region Motion Detection (Similar to ZoneMinder Zone Detection)
    • Represented by a Motion Guage on each monitor
  • 1 Process for Each Camera to do both, Recording and Streaming
  • Timeline for viewing Motion Events and Videos
  • Sub-Accounts with permissions
    • Monitor Viewing
    • Monitor Editing
    • Video Deleting
    • Separate API keys for sub account
  • Cron Filters can be set based on master account
  • Stream Analyzer built-in (FFprobe GUI)
  • Monitor Groups
  • Can snapshot images from stream directly
  • Lower Bandwidth Mode (JPEG Mode)
    • Snapshot (cgi-bin) must be enabled in Monitor Settings
  • Control Cameras from Interface
  • API
    • Get videos
    • Get monitors
    • Change monitor modes : Disabled, Watch, Record
    • Embedding streams
  • Dashboard Framework made with Google Material Design Lite, jQuery, and Bootstrap

Supercharge ZoneMinder with Shinobi

  • Gain multiple streaming types like HLS (.m3u8) and Base64 (frames over Websocket)
  • 1 Process opened by ZoneMinder for streaming
    • Normally zoneminder will open a new process for each viewer but if viewed through shinobi it will only have 1 zoneminder process being watched by 1 shinobi process per camera for all viewers.
  • Better Interface for viewing streams
  • Another method to backup streams
    • You can use Shinobi to upload directly to Owncloud (WebDAV)
  • Interface works in Mobile browsers (no need to install an app on every mobile device for viewing)
    • For the best performance on iOS you can save Shinobi's shortcut and have it appear as an app with Safari
  • Re streaming capabilities - stream directly to another server like ffserver or gstreamer

How can one supercharge ZoneMinder?

Just set Shinobi to consume your ZoneMinder streams just like a regular IP camera.

Wait a second what is Shinobi? And Why?

Shinobi is a new CCTV/NVR platform. Made because ZoneMinder is a dying platform. Shinobi is evidence that ZoneMinder should have been much more than what it is now.

Learn more about why I made Shinobi on the official website : https://shinobi.video/why

if you feel this way about zm, why "supercharge" it?

Right now Shinobi can't do everything ZoneMinder does, just many of the important things like zone detection and filters. This means many people will still use ZoneMinder.

They can still use ZM, they can also get modern features.

Supported Systems

How to Install and Run

Author

Moe Alam

Follow me on Twitter

Find me on Slack! :)

Help make Shinobi the best Open Source CCTV platform.

If you like Shinobi please check out some ways you can help support Shinobi. Development with a man of 1 is a tough gig with bills to pay. Please consider Donating.

Credits

If you wish to use this software for commercial purposes please consider donating :) If not.. including my name would be nice.

    Shinobi
    Copyright (C) 2016-2025 Moe Alam, moeiscool

    This program is free software; you can redistribute it and/or
    modify it under the terms of the GNU General Public License
    as published by the Free Software Foundation; either version 2
    of the License, or (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.
    
    # Libraries Used
    
    vbox.css (the framework that does the vertical panel layout) - I honestly don't know who made this, i found it in a zip.
    jQuery - http://jquery.com/
    Socket.io - http://socket.io/
    Bootstrap - http://getbootstrap.com/
    Moment.js - http://momentjs.com/
    Livestamp.js - https://mattbradley.github.io/livestampjs/
    Font Awesome - http://fontawesome.io/
    Node.js - https://nodejs.org
    MySQL - https://www.mysql.com/
    NPM: mysql - https://www.npmjs.com/package/mysql
    NPM: crypto - https://www.npmjs.com/package/crypto
    NPM: express - http://expressjs.com/
    NPM: request - https://www.npmjs.com/package/request
    NPM: connection-tester - https://www.npmjs.com/package/connection-tester
    image : shinobi.jpg - the background image on the front page is not mine, there were no credits where i found it. it just looks cool :D
    
    and maybe a few others.
Clone this wiki locally