Shinobi is an Open Source CCTV software written in Node.JS. Designed with multiple account system, Streams by WebSocket, and Save to WebM. Currently it is being crafted for IP Cameras, not local.
Shinobi can record IP Cameras and Local Cameras.
- Records IP Cameras and Local Cameras
- Streams by WebSocket
- Save to WebM and MP4
- Other formats will be added after codec choices are less confusing.
- API
- Get videos
- Get monitors
- Change monitor modes : Disabled, Watch, Record
- Embedding streams
If you like Shinobi please check out some ways you can help Support Shinobi.
$5 from each person that visits the github page would be enough. Currently all hours spent on Shinobi are entirely voluntary. There is no income from sharing this program with you, so all support means a great deal.
Just a side note: Gratipay is the best way to donate :)
https://github.com/moeiscool/Shinobi/wiki
https://github.com/moeiscool/Shinobi/wiki/Supported-Cameras
Moe Alam
Follow me on Twitter https://twitter.com/moe_alam
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
and maybe a few others.