ShinobiHub

Articles index

Every published article, most recently updated first.

How to use Event Filters

At present many of the offered Object Detection plugins provide results for a variety of objects, many you don't need. This article will show you how to automate cherry-picking events.

How to make or update a language file for Shinobi

There is a tool provided to translate the "en_CA" file to other languages called "translateLanguageFile.js".

How to Backup Videos to MEGA (mega.nz)

MEGA offers MEGA S4, an S3-compatible object storage service. You can use it to keep an offsite backup of your Shinobi recorded footage directly from the S3-Based Uploader.

Uploading to Mounted Network Storage or Another Local Location

Shinobi has an "Uploader" that copies files to a set path. That path can be a Mounted Network Storage or another local location.

Redundancy with Shinobi Failover Servers

Shinobi Core servers (the server that does the Camera processing like live view and recording) can suddenly go offline in some environments. With a Failover server you can claim that downtime. And when the original Core server returns the Failover server will copy over the Videos and Events to the Core that it has captured during that downtime.

Begin Developing with Shinobi

A guide on quickly getting started with developing on Shinobi

How to Update Node.js and NPM

Node.js 16 is recommended to run Shinobi

TypeError: s.getConfigWithBranding is not a function

Generally the issue is that the Node.js version on the machine is too old. The new requirement is version 16.

Updated my Shinobi and now it doesn't work

At the time of writing this article Shinobi is going through a transition from Dashboard v2 to Dashboard v3. Many core features and dependencies have changed. Here we'll help you figure it out.

How to Switch between dev and master Branches

This article will show you how to switch branches for Shinobi. There are multiple branches but dev and master are the main ones.

How to Update Shinobi

Updating Shinobi from the Superuser panel or command line is easy.

Mass Importing Cameras from a List

If you have a list of stream URLs of your cameras then you can easily generate a configuration set and import them.

Lower Stream Delay or Fix Black Live Stream with Poseidon over Websocket

Enabling Poseidon over Websocket is good for lowering stream delay on H.264 and H.265 streams without encoding.

How to use MQTT to trigger Shinobi

Now Shinobi can subscribe to MQTT events and trigger Shinobi events as well as send out its own MQTT events.

Rebuilding TensorFlow Library for Object Detection

This is how you can build the TensorFlow library for the TensorFlow 4.1.0 Object Detection Shinobi plugin. This is only necessary if you are experiencing "Segmentation Fault" or constant crashing of your TensorFlow object detection plugin.

How to use SMTP-based Event Triggering in Shinobi

With Drop-In Events you can take stress off your NVR and get more accurate Motion Detection. This is the SMTP way.

Difference between Child Nodes and Central Management

Child Nodes and Central Management are two distinct methods of managing large numbers of cameras or just multiple installations of Shinobi.

How do I Activate Shinobi?

It's pretty easy all you need to do is get your Subscription ID from your ShinobiShop account!

Hardware Requirements for Shinobi

The requirement on what hardware to use varies based on your deployment expectation. We'll go over some frequently seen setups and what hardware may suit them.

Alarms Feature : API and Interface Usage

Alarms are an editable record of Events, designed for Operators to mark or note additional information upon a Events.

How to connect a Plugin as a Daemon

Run a Detector plugin standalone from the Shinobi main process. This allows running the plugin on a separate machine entirely.

How to use FTP-based Event Triggering in Shinobi

With Drop-In Events you can take stress off your NVR and get more accurate Motion Detection. This is the FTP way.

How to use Motion Detection

When motion is detected it is called an event. This tutorial applies to any event, even Object Detections. This is an updated version of How to use Motion Detection with the new Dashboard v3.

Install an SSL Certificate for Shinobi Using Let's Encrypt with Certbot and Cloudflare API Token

Steps to install a certificate from Let’s Encrypt using Cloudflare API Token

Adding a Test Camera Stream to Shinobi

Simulate a camera stream in a few simple steps

Detector Recording Exited Prematurely

This seems to happen when using a version of FFmpeg not fully compatible with your operating system or hardware.

How to use Facial Recognition

Shinobi has a Facial Recognition plugin that can automatically save Unknown faces.

How to use Flame to create a YoloV5 Model with RoboFlow datasets

This tutorial will teach you to make your own YoloV5 weights for Object Detection to use with the YoloV5 Object Detection engine.

How to choose the right NVR or CCTV setup

This article will help choose you which platform is best for your needs

Running Shinobi in Windows Docker Desktop

A step-by-step tutorial on how to install and run Shinobi using Docker on Windows. By following these instructions, you’ll have Shinobi up and running in a container, accessible through your web browser.

Managing Multiple Shinobi from a Central Panel

Shinobi now has a Management Portal. View and Manage all your Shinobi servers from one panel.

Shinobi using too much Storage for Recordings

There are two main ways to manage this. Through modifying the Bitrate and/or using Event-Based Recording

How to use Dynamic Substream

If you have a camera with a Substream you can use that feed for viewing in the Dashboard.

How to use Easy Remote Access P2P with Shinobi

P2P allows you to connect to your instance without special setups on your end. Just give Shinobi your API Key and away you go.

How to Generate Multiple Monitor Configurations from a Text file

A command line tool is offered in the Shinobi tools folder to create an importable list of configurations.

Memory Leak on new Installation

This can sometimes happen with the currently offered versions of FFmpeg in the Operating System's default respositories. Here's a simple way to attempt fixing it.

How to view Tapo camera on Shinobi through RTSP/Onvif Protocol

Information copied from Official Tapo Website for posterity, FAQ #34 : https://www.tapo.com/en/faq/34/

Installing the Coral TPU Detector Plugin (Updated with C++)

Learn to install the Coral TPU Plugin for Shinobi in a few simple steps.

Connect to an RTSP Camera with UDP instead of TCP

By default Shinobi will connect to an RTSP Camera with RTSP Transport set to TCP. Follow this guide to change it.

Setup Webhooks when Shinobi has an Internal Event

Shinobi can do a web request when something happens internally.

Fresh Installation but I can't do anything in Superuser when accessing through a Proxy

You're missing WebSocket rules!

Use an external Motion Detector before doing Object Detection with Shinobi

This guide will quickly overview how to setup an external Motion Detector, like FTP Triggering, to act as a prerequisite before running on the Object Detector. This will save additional resources on your Shinobi server.

How to fix a Memory Leak with FFmpeg

Shinobi sometimes consumes all the ram on a fresh installation or updated version of FFmpeg. Learn how to fix it here.

Shinobi Wall Display for Live Viewing (Video Wall)

Let's go over on how to setup a Wall Display (Wall Viewer) with Shinobi

How to Backup Videos to Google Drive

Google Drive is an inexpensive Cloud Storage solution. Now you can have Shinobi automatically backup footage right onto Google Drive.

Adding cameras from a remote network

This system allows you to quickly add large numbers of cameras from a separate network.

How to modify Superuser access

How to manage your Shinobi install from the Superuser level.

How to Install Shinobi on Raspberry Pi

This article is written under the tests of Raspberry Pi 4 and Raspberry Pi Zero. Other models may be applicable aswell.

Lenovo Mini PC running Shinobi with Object Detect!

Hardware Test Notes : A Mini PC that does Object Detection and Motion Detection without a GPU!

My stream and recordings appear Green

This is generally an issue with resource management. Possibly network hardware overburdened or RAM is leaking.

API KEY Username Too Long for FTP Settings on Camera

Using an API KEY as a username for FTP triggering works great. But some cameras limit usernames to 32 characters and a 30 character API KEY with the simulated e-mail address won't fit.

Enable SSL/HTTPS Encryption with Let's Encrypt

These are the steps to install a certificate from Let’s Encrypt on Ubuntu.

Can't View Recordings on Phone or Mobile Device

Recordings are created with the CODEC and settings from your camera.

How to Install Shinobi on a Jetson Nano (4GB Model)

Jetson Nano is a small, powerful computer that delivers the power of modern AI in a single low-cost module.

How to install the Shinobi database manually

A simple setup guide for people who missed the database setup or want to redo it.

How to Trigger Multiple Cameras from a single Event

By setting a single camera as an event distributor you can trigger multiple cameras to record at the same time.

Recorded Videos have Large File Sizes

When recording videos there are few different factors that determine how large a video will be. There are ways to also compress these videos so they don't take too much space. We will briefly go over that here.

How to Download and Install Plugins

Shinobi's Plugin Manager makes it quick and easy to install the latest plugins.

Save Storage Space with Compression after Videos are Recorded

Shinobi can automatically compress videos once they are finished recording.

How to set Monitor Presets and Schedule them

Specify preset configurations for your camera so that you may have it automatically change during specified times.

Scheduling Camera Presets in Shinobi

Camera Presets are called Monitor States or Monitor Presets in Shinobi. This article will show you how to set cameras to use certain configurations at specified times.

How to Backup Recordings to Backblaze B2

Record videos and upload automatically to Backblaze B2 Cloud Storage.

How to use Object Detection

This is much more useful than Motion Detection but can be a pain to setup. We'll walk you through many steps here.

How to make Custom Modules for Shinobi

customAutoLoad modules are as they sound, custom modules. You can change operation of the backend and frontend without modifying the core. Running custom scripts with Shinobi.

How to create your own Detector Plugin

Shinobi comes with a few different plugins bundled together, like TensorFlow, DeepStack, and Yolo. However you can easily make your own by following this guide. This assumes you already have a working detector in either Node.js or Python.

How to set a Static IP on Jetson Nano

Jetson Nano on JetPack 4.4 is a little different than a standard Ubuntu installation. This may work for versions of JetPack greater than 4.4.

Post-Installation

Now that you have Shinobi installed you're ready to move on.

Logging in for the First Time

Now that you have Shinobi installed you can move onto making your first Account that will manage cameras.

Adding Limited Accounts

Sub-Accounts are users that have access to your Monitor set. You can limit how much they can see or do based on a specific Monitor.

Enable Automatic PTZ with Object Detection

Also known as PTZ Tracking. Here you'll learn how to make almost any PTZ camera smart enough to follow people (or other things)!

How to setup Email Notifications in Shinobi

Shinobi uses Nodemailer for a few things.

How to Add a Camera in Shinobi

It's fairly straight forward if you have an ONVIF compliant camera, if not we have some tips for you.

How to Cluster multiple Shinobi (Child Nodes)

Use multiple computers as if they were one big machine.

How to create an API Key in Shinobi

It's very easy. So easy. I can tell you how to do it here in the subtitle. Open your menu on the left then select API and create your key.

Migrate from ZoneMinder to Shinobi

This guide will help you move over from ZoneMinder.

Difference between Superuser, Admin, and Sub-Account

There are 3 distinct user levels in Shinobi

How to use Motion Detection (Dashboard V2)

When motion is detected it is called an event. This tutorial applies to any event, even Object Detections.

How to use ONVIF Event Triggering in Shinobi

ONVIF Event Triggering is good for taking a load off Shinobi while using the camera's onboard detection engine.

How to Access Shinobi outside your Network (LAN)

This tutorial will show a number of ways to connect to Shinobi from a remote location outside your network. These methods include VPN, Port-Forwarding and P2P.

Where are Shinobi Logs?

There are three kinds of logs that occur in Shinobi. Learn about System, Monitor and User logs to help you understand and troubleshoot your Shinobi CCTV system.

Stop smearing or broken streams with CBR streams instead of VBR

You can do some tweaking to make VBR more reliable but if you can't get a clear picture then it's better to give a little more resources and use CBR.

How do I find the Stream URL for my camera or NVR?

Many of these devices offer video streams over the network, you just need to find the endpoint. Here are some ways.

How to use Additional Input Feeds

You can add audio to MJPEG based streams or use a sub-stream for viewing in the dashboard. With Input Feeds you can run multiple streams in one process.

Using MQTT to receive and trigger events

Integrating Shinobi with MQTT

Plugin Transport Error Attempting Reconnect

TransportError. Plugin Error. Plugin Disconnected. Attempting Reconnect. Max Failed Retries Reached!

Stream Delay - High Latency in Web Browser Stream

This gets mentioned a lot so here's how you mediate.

Linking Multiple Shinobi Clients

This feature has been discontinued and currently only has limited functionality.

Installing Shinobi on CentOS 8

Have Shinobi installed and ready to use in less than an hour

How to Install Shinobi on QNAP with Container Station

Container Station runs Docker under the hood so you can be up in under 10 minutes with our DockerHub repository.

Timelapse automation using Shinobi, ffmpeg and Discord on Unraid

A community offered method to manage automated builds of videos from your timelapse frames.

Stuttering Stream and Recording

A little buffer adjustment.

How I optimized my RTSP camera

Settings that have been found to work well in general. These settings have been tested with a number of different cameras such as Grandstream, Amcrest, Foscam, Hikvision and Reolink.

How to Troubleshoot a Camera in Shinobi

Sometimes camera setup isn't as easy for you as it is for others. Hopefully this article will help you deal with that pesky camera.

Enabling HTTPS on Shinobi with Self-Signed Certs

Quick and painless way to enable SSL on Shinobi.

How to setup Push Notifications with Discord Bot API

Using the discord.js bot library we can get push notifications to Desktop and Mobile!

How to Install DeepStack Object Detection on GPU

A plugin made by Elad Bar of the Shinobi Community. Here's how to get it running with an NVIDIA GPU.

How to use a Telegram Bot for Shinobi Notifications

Using the Telegram API we can get notifications about our Shinobi CCTV system. Here's how.

How to Use LDAP Sign-In with Shinobi

This article will show you how to setup logging into Shinobi with your LDAP server.

How to Use Google Sign-In with Shinobi

This article will show you how to setup logging into Shinobi with your Google account.

How to install Coral Edge TPU M.2 A+E Key on Jetson Nano

This tutorial will highlight the steps required to run a Google Coral TPU Accelerator on Jetson Nano.

SyntaxError: /home/Shinobi/conf.json: Unexpected string in JSON

This happens when a user has made a change to the main configuration file for Shinobi but did not use proper syntax.

How to access the ONVIF Device Manager in Shinobi

Now you can modify some of the camera's internal settings right from the Shinobi dashboard. You may never need to open a IP Camera web panel again.... assuming it has ONVIF.

Could not load dynamic library 'libcudart.so.10.0'; dlerror: libcudart.so.10.0: cannot open shared object file: No such file or directory

This error can occur when installing the TensorFlow plugin for Shinobi.

Get NVIDIA CUDA 9.0, 9.2, 10.0, and 10.2 on Ubuntu

You may experience build issues with a variety of different C/C++ applications when CUDA is in the mix. You can run one or all of these to meet the requirements of your desired applications. Some of those applications may include the Shinobi plugins yolo, tensorflow, and face.

How to Migrate your Shinobi to another Machine

Learn to move your Shinobi from one machine to another.

How to Change the Recording Directory in Shinobi

How to change the default recording directory of Shinobi. These are the video files. Timelapse frames are also delegated by this.

How to Add Videos into the Shinobi Database

Sometimes videos become orphaned or you would like to add them from an external source. This will allow you to view your videos in the Shinobi dashboard.

How to Install OpenVPN Server the Easy Way

Thanks to Nyr on Github we have a very simple way to install a VPN Server with OpenVPN on Ubuntu, Debian, CentOS and Fedora.

How many Streams can my Machine do?

We all come to this question when doing our first setup. Here are some pointers to make understanding this a little easier.

My Storage Space Indicator is Incorrect

The Shinobi Web interface shows the hard drive is 8.94 GB but your drive is larger? Oh, let me tell you about that.

How to Push a Camera Stream to Shinobi

Shinobi Streamer v2 (Dashcam/NinjaCam) uses this method to Live Stream data to your Shinobi server. With this knowledge you can do it from any other device you desire.

Correcting Lens Distortion for Fisheye Cameras

Here you will learn how to fix a stream that contains barrel distortion, Fisheye.

Why is my CPU Usage so high?

Some features of Shinobi use a decent amount of CPU power. Here is an explanation for some of those features.

How do I know if my Camera is Supported?

Click the pencil icon in the top left to start editing the content on this page.

I Forgot my Shinobi Login

Sometimes we misplace our logins but rest assured, the Superuser panel will help you reset your username and password.

How to Automatically Backup Monitors to the Cloud

ShinobiHub now offers private cloud backups for subscribers. Just pair your account and hit Save on your monitor settings. Posted. Private.

How to run Detector Plugins in Cluster Mode

Is your detection engine critical? Try running it on multiple machines to give it better performance and better uptime.

Ways to resolve smearing, smudging, streaking, melting, and artifacts

This is known to affect H.264 streams over UDP.

How to Backup Monitor Configurations

Shinobi has methods to easily Import and Export a monitor or set of monitors with only a few clicks.

Unsupported GNU version! gcc versions later than X are not supported!

If you are trying to install a component for Shinobi, like the Yolo plugin, and are facing build issues with GCC and G++ versions then keep reading to resolve it!

How to view your Cameras on a TV

Once you have setup Monitors in Shinobi they can be set to appear in a playlist. This playlist is a standard M3U8. This means it can be used in almost any modern video player that supports user-defined streams, like VLC player.

How to add a USB Webcam to Shinobi

Adding a USB Webcam is similar to Adding an MJPEG Camera. You need to manually tune a lot of the configuration to get it working just right. Learn how to do that here.

How to Setup Yolo Object Detection and use different Weights

YoloV3 is the most advanced Object Detection method offered with Shinobi. Here's how to use it.

How to view FTP Uploads from your IP Camera in your Recordings

Shinobi can detect MP4 videos that have been uploaded through an FTP Trigger and automatically add them to your videos list for review.

How to backup videos to Google Cloud Storage

Record videos and upload automatically to Google Cloud Storage... with Amazon's Module. Here's how.

How to Install Ubuntu 18.04 Server on Windows 10

Using "Windows Subsystem for Linux" you can run Ubuntu 18.04 Server Applications, like Shinobi, on Windows 10.

Why Python isn't good for modern applications and why Node.js is

I'll probably be labelled a Node.js fanboy and I'm okay with that because Node.js is worth being a fan of.

How to push streams to Shinobi with RTMP

Real-Time Messaging Protocol is great for video streaming with the camera connection being in reverse. Thanks Macromedia!

What to do after Installing Shinobi

Get setup with your Superuser account. Start Streaming and Recording right away!

How to find a Connection Address for an IP Camera

Before being able to configure an IP camera in Shinobi, or even another VMS, you need a Connection Address.

How to setup PTZ in Shinobi

In Monitor Settings window you have the "Control" section.

My Monitor keeps saying "Unexpected Exit"

This can be caused by a number of things but generally this has started to happen to due to dependencies, not user error.

How to use SHA256 or SHA512 password hashes instead of MD5

MD5 is no longer considered secure and SHA512 is recommended instead.

How to backup videos to Amazon S3 Cloud Storage

Record videos and upload automatically to Amazon S3 Cloud Storage

How to add 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.

Difference between Shinobi Streamer v1 and Dashcam (Streamer v2)

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

Official repositories are moving to Gitlab

Github is now owned by Microsoft. This means the official repositories are moving to Gitlab.

How to Manually Uninstall Shinobi

The uninstall process currently is not automated. This article should help identify which components to remove.

How to change the Frontend Template

Changing the skin for Shinobi is as easy as changing the renderPaths object in conf.json.

How to modify the Default, Super and Admin Web Paths

You don't need to keep the URI as /admin for managing sub accounts or /super for managing admin accounts.

How to Upgrade to Pro from CE

Backup, Stop, Clone, Move, Start. Simple.

How to Save Recordings to Additional Storage Spaces

Shinobi supports multiple storage areas with the "addStorage" variable in conf.json

How to view Shinobi Stream in VLC

It's easy to view HLS, Poseidon, FLV and MJPEG Shinobi streams in VLC.

How to Stream Video to Facebook Live API with Shinobi

Any Shinobi monitor running smoothly can be used to stream to Facebook Live Video

How to configure a static IP on Ubuntu 17.10 and 18.04

The way to set static IPs has changed but the premise is still the same.

What does "Shinobi" mean?

Why is a security platform named after a Japanese pronunciation of the word ninja?

Spy Alert! Reolink products have a security hole

Recently Reolink became my favorite brand but quickly lost that sentiment upon learning this.

Fix Tesseract not found Ubuntu 17.10 for OpenCV and OpenALPR

Sometimes you don't get the packages you need. This short guide will fix that.

Managing a lot of cameras with Shinobi

Shinobi has finally gained some abilities to help with managing many streams.

Why Slack is bad for teamwork and Why you should never try it

If you are a little guy, like me, and can't pay for the crazy fees then come have a read.

Docker is now supported!

Before docker was not supported and now it is! Thanks to MiGoller and mrproper!

Fix apt on unsupported Ubuntu 17.04 (Zesty)

By adding some repositories to your Sources List located at /etc/apt/sources.list you can fix apt.

Docker is not supported

UPDATE : Docker is now supported!

Adding a GPU card, Does it help?

"The GPU’s advanced capabilities were originally used primarily for 3D game rendering. But now those capabilities are being harnessed more broadly to accelerate computational workloads." - NVIDIA

How to use Multiple Storage Areas

You can save recordings in different locations as per your monitor selection.

View H.264 and H.265 streams in the browser with Shinobi and maintain low CPU use

Due to changes in browser standards RTSP streams are no longer directly playable in most browsers, so we use Shinobi.

Using PM2 with Shinobi

PM2 is a process manager that helps you start, stop, and auto-start Node.js scripts.

My stream appears black or just a solid color

This could mean your settings are wrong or the setup is incomplete.

UPDATE.sh /bin/sh^M : bad interpreter

Sometimes the UPDATE.sh file is not executable and gives an error when trying to use it.

How to Install FFmpeg on CentOS

FFmpeg is the most popular open source solution to record, convert, and stream audio and video.

Shinobi CE and Shinobi Pro

The difference between Shinobi Community Edition and Shinobi Professional is subtle but important.

Shinobi on the go

Using Shinobi on mobile is as easy as opening it in your web browser.

Nodemailer is no longer maintained

Source : https://nodemailer.com/status/

The Aim of Shinobi

Why make Shinobi, Other solutions already exist.

Donate and Contribute

Help me keep Shinobi alive and well. No one great has ever done it alone.

Earn Money from Shinobi

Becoming an affiliate helps the development of Shinobi while giving you something for your effort.

Why not just use ZoneMinder

ZoneMinder is the most popular free open source CCTV platform.

Why aren't plugins just integrated?

Plugins are loaded separately from the main Shinobi application.

Unplayable videos

Damaged or corrupted video files that cannot be viewed in the browser or in the OS directly

Module not found

Shinobi requires the installation of modules to run