zmNinja is a multi platform (iOS, Android, Windows Desktop, Mac Desktop, Linux Desktop) client for ZoneMinder users. ZoneMinder is an incredible open source camera monitoring system and is used by many for home and commercial security monitoring. http://www.zoneminder.com
Problems running zmNinja? Check out the FAQ
Check out a video demo of zmNinja here: https://youtu.be/prtA_mv68Ok
zmNinja is stable as of today and runs on a variety of Android and iOS platforms.
See links above to get them on play store (Android) and app store (iOS)
It also runs on the desktop (see below)
This will forever be Beta. I’m using the awesome Electron packager to auto-package my ionic apps to executables.
Please download binaries for Win 7, Linux or Mac from here.
Please make sure you download the correct ZIP file (32⁄64 bit)
Key Features (just watch the video already)
H264 video branch support - if you are using the zoneminder video branch and have recorded videos they will automatically be used (you can disable it in developer settings). If an event has a recorded video, you will see a small video icon at the top of that event entry in events view
Receive real time push notifications for alarms as they happen. You need to install my Event Server for this. You can even control monitors you want to be notified of and reporting intervals (if you defined your zones loosely you don’t want pings every second, do you?)
Runs on Android/iOS and now desktops too - in a browser
View live monitors and events
High speed event scrubbing and control
Pullup handy views of activities based on time
Incredible zoom/pan timeline of alarms
Control Zoneminder - restart, change states
Swipe/pan between monitors
To the zonemider community in general, and the awesome Stack Overflow community. But specifically, Andrew Bauer (knnniggett) - he is a ZoneMinder maintainer and helped me significantly in getting into ZoneMinder and also continues to help me with my client goals.
- zmNinja needs APIs enabled in ZoneMinder. See https://github.com/pliablepixels/zmNinja/wiki/Configuring-ZoneMinder-with-API
I wanted to learn how to create a full fledged cross platform app for a long time. I used this as an excuse to learn Angular JS, phoneGap and ionic and see if one could use these modern tools to build high performance phonegap apps. I was very pleasantly surprised – for a large part, most people who complain about performance probably haven’t spent time researching how to optimize.
I’ll keep refining it over time as I learn more of AngularJS and stuff.
Running from source
Please follow these instructions.
If you want to run zmNinja in an emulator, you will need to install the appropriate emulator tools.
- For iOS, you will need the latest version of XCode (available in the App Store) as well as the npm package
npm install -g ios-sim
- For Android, you will need the latest Android Studio
Now, you can launch the emulator:
$ ionic emulate ios # - OR - $ ionic emulate android
Event Quick Scrub:
Full Screen Events Footage View (with floating buttons)
Sliding Montage View 1:
Sliding Montage View 2 (Different sizes):
Montage Re-order and show/hide:
Control ZM custom states/start/stop/restart:
Change Monitor Modes: