I want to help people and one way I believed this could be done was to make a world class CCTV platform. One that anyone can use. Simply login to your account, add camera details, set options, and away you go. No client app installations. Viewing streams and recordings on your mobile device by simply opening a web page.

You should be able to view it on any device with a capable web browser. A base was needed to start with so I took to the internet for more answers.

After much searching one popular CCTV application born in 2003 was the primary choice but found it wasn't capable of fulfilling the role.

Moe Alam

Performance Comparison

ZoneMinder is the most popular free open source CCTV platform


  Shinobi ZoneMinder
x2 Quad Xeon 2.4 GHz (8 Cores), 16GB RAM, Baremetal
Many cameras are currently set to record WebM, thus leaving Shinobi with a high CPU usage.
18 Cameras, 3fps, ~60% Load Crashed at 15 Cameras
Pentium E5500 2.8GHz (2 Cores), 3GB RAM, Baremetal
The cameras running on Shinobi are using the copy video encoder for MP4 files. Using this method simply pipes your stream data into a file. No extra processing.
16 Cameras, 15fps, 10% Load at most Crashed at 6 Cameras
Cloud x64/x86 Server (8 Cores), 16GB RAM, Baremetal
Many cameras are currently set to record WebM, thus leaving Shinobi with a high CPU usage.
18 Cameras, 3fps, ~60% Load Not Tested
  Learn More More Details

Why can't I get the same stream viewing performance as some others?


iSpyconnect, Blue Iris, FFplay, VLC and many others aren't hindered in the same way because they don't run in a browser, you must install them to use them. This means they can make better use of the CPU and GPU. In short : they have more freedom in how they can design their application.

Why not do it like the others?


By giving up this freedom for developers more freedom is given to the user. Shinobi's client viewer is supposed to run on as many devices as possible. Simply open a web browser and away you go. If you really wanted to you could view Shinobi streams on a Nintendo DS.

Why Discord for Chat?


Slack was the primary choice but it turned out there was a limit on how many people can get invitations for free teams. Not to mention the extra hoops required to invite new members. Simply put, Slack is bad for business.

Why FFMPEG?


After much research it was found FFMPEG was the leading tool in video processing. It can read almost any type of video stream. There was no need to reinvent the wheel and come up with something like "Shinobpeg" because FFMPEG does a fantastic job already.