Ninety Camera is an Free self-hosted Smart Monitoring Platform for Security Cameras
Ninety Camera is an open-source free smart monitoring platform for security cameras which can detect human intrusions from camera footage and notify users about the intruder.
The entire system is come up with a desktop application, mobile app and a self-hosted web app.
This is the frontend of the desktop application. By using this application you can connect to CCTV cameras, webcams and IP-cameras.
The app is written using React, Electro.js, MUI library, and Formik React library.
It is created by a team of developers from Sri Lanka that include: Malith Dilshan, Kaveesha Dinamidu, and Ruvindi Dilsara.
Supported CCTV Cam
Currently following CCTV cameras are supported, alongside Web cameras and IP Cameras as well.
How does it work?
Users can view the live feed of the CCTV cameras. And view the previous intrusions.
In addition to that users are able to view the recorded videos of the cameras.
Currently, only one user is able to login to this system. To run this system both flask-backend and the web-server needs to be run.
Features
- Sign in and sign up functions.
- Password forgot functions.
- Camera adding functions. (users can add both web camera's and ip camera's)
- Users can view the camera footages which connected to the system.
- Users can change the detection mode for all the cameras or for selected one camera.
- View the intrusion details and further we are showing the intrusion images and video playing option.
- View the processed video details and video view functions. Also users can view the processed videos using the date.
- Add subscriber option. Application will provide a QR code and then mobile users can scan it and add as a subscriber.
Setup
- Clone the Repository
- Run
npm i
to install the required packages - Install the dev dependencies in the package.json using
npm install --save-dev <package-name>
- Dev dependencies that used in the project
- Run
npm run dev
to run the package
Building
- In the build-app branch all the configurations are setup for the building process.
- Run
npm run package
to make the package of the frontend - Run
npm run make
to make the distributable of the package
License
- Free app (No License Listed)