Guide to Installing Shinobi

Guide to setting up SSL

A guide to setting up SSL was created by Beowulfs, a community member and contributor. Thank you Beowulfs ( for the awesome guide :)

This instruction of enabling HTTPS should only be used locally to enable features that require it, such as Google Sign-In.

Adding an H.264/H.265 Camera

Adding an H.264 camera is the easiest Input Type for Shinobi to consume.

About Monitor Modes

There are 4 Modes that you can choose from for a camera.
  • Disabled : The monitor is not loaded to be used by Shinobi.
  • Watch-Only : Shinobi is Watching the camera stream. It will not be recording unless ordered to do so by a user or an Event.
  • Record : Continuous Recording. Event-based recordings are disabled when the monitor is in this mode.
  • Idle : Disabled but loaded and ready for Shinobi to interact with the monitor variables.

Adding an MJPEG Camera

MJPEG is the old school way of streaming. Shinobi supports it but it takes a little bit of know-how. Here's that know-how. If your camera is capable of providing an H.264 Stream I suggest you take a look at the links above first.

The second link provided can show you how to add Audio to your MJPEG stream input.

Adding a Streamer Camera

Streamer cameras are a special P2P type connection that utilizes devices capable of enabling WebRTC protocol.

Setting up PTZ Controls (Point Tilt Zoom)

"PTZ is an abbreviation for pan, tilt and zoom and reflects the movement options of the camera. Other types of cameras are ePTZ or virtual pan-tilt-zoom (VPTZ) where a high-resolution camera digitally zooms and pans into portions of the image, with no physical camera movement. Ultra-low bandwidth surveillance streaming technologies use VPTZ to stream user-defined areas in higher quality without increasing overall bandwidth usage."
Wikipedia - Pan–tilt–zoom camera

Setting up Object Detection

Cloud Back Up for Videos

Amazon S3 is not the only cloud back up method. There is Backblaze B2 and WebDAV support as well. The premise in their setup is similar to Amazon S3.

Setup E-Mail Notifications

Shinobi uses Nodemailer for mailing functions. The mail object in conf.json is the object used to initiate Nodemailer.

Learning about different Account Types

There are 3 distinct user levels in Shinobi. Superuser, Admin, and Sub-Account. In essence, Superuser is for creating Admin accounts which are masters of "Groups". Admins are for creating Monitors and Sub-Accounts. Sub-Accounts are created by the Admin with limited privileges when cameras are shared with other people.

How to Update Shinobi

Shinobi uses git to manage changes, version numbers, and updates. The following commands need to be run from in side the Shinobi directory.

Get Version Number

git show

View Git History

git logs

Changing Languages

Shinobi uses Yandex to create Translations automatically. Of course these translations are far from perfect. If you see an incorrect translation or would like to add a language please consider making a Merge Request.