• This repository has been archived on 18/Jun/2022
  • Stars
    star
    490
  • Rank 86,981 (Top 2 %)
  • Language
    C++
  • Created almost 10 years ago
  • Updated almost 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

(DEPRECATED) An open source image processing framework, which uses your USB-, IP- or RPi-camera to recognize events (e.g. motion).

Kerberos Open Source - Machinery (Archived)

This project is archived, and move to the new agent repository: Kerberos Agent.


License

The Kerberos Open Source project is licensed with BY-NC-SA 4.0, this means that everyone can use Kerberos and modify if to their needs, in a non commercial activity.

More information about this license.

Vote for features

Report features if you think something is missing, and should be added to Kerberos Open Source, we love to hear about your ideas.

Supported cameras

In this thread you can find a list of cameras that users confirmed working properly. Do you have a working camera missing from this list? Report your camera here.

Why Kerberos?

As burglary is very common, we believe that video surveillance is a trivial tool in our daily lifes which helps us to feel a little bit more secure. Responding to this need, a lot of companies have started developing their own video surveillance software in the past few years.

Nowadays we have a myriad of expensive cameras, recorders, and software solutions which are mainly outdated and difficult to install and use. Kerberos Open Source goal is to solve these problems and to provide every human being in this world to have their own ecological, affordable, easy-to-use and innovative surveillance solution.

Introduction

Kerberos Open Source is perfect for personal usage. It's great if you only have a couple of surveillance cameras to be managed. A Kerberos agent (e.g. on a Raspberry Pi or inside a Docker container) runs for each camera. Their are many different installation possibilities, please have a look at the architecture or installation page.

Every Kerberos agent has it's own web interface (front-end) to review media recording, and processing engine (back-end) of a specific surveillance camera. The Open Source version doesn't come with a central overview of all recordings generated by your Kerberos agents. For this feature we highly recommend Kerberos cloud.

If you want to manage more than 10 Kerberos agents, it's recommended to use Kerberos Enterprise. This will help you to scale, support high availability and load balancing. Check out the architecture section for a better understanding of when to use what.

Machinery

The machinery is the processing engine of Kerberos Open Source. It's an image processing framework, written in C++, who benefits from other third party libraries (OpenCV, etc). It takes images from the type of camera (USB-, IP- or RPi-camera) you've configured in the configuration files and executes one or more algorithms and post-processes (e.g. save a snapshot). The configuration files allow you to define the type of camera, post-processes, conditions and much more; it's highly configurable. It's important to note that the machinery, out-of-the-box, can handle only one camera at a time.

How does it work?

Read more on our documentation website to have a better understanding of how the machinery works.

Installation

Kerberos Open Source comes with different installation flavours (it includes both the machinery and web repository). The reason is because depending on the use case one option is better than another. A short list of recommendations:

  • KiOS: You have a Raspberry Pi, and you only want to run a Kerberos agent on it.
  • Raspbian: You have a Raspberry Pi, but you want other services running next to the Kerberos agent.
  • Docker: You have a lot of IP cameras, and/or don't want to mess with dependencies.
  • Generic: You want to develop/extend Kerberos with your own features, or you want to run a Kerberos agent on a not supported OS/architecure.

Compile from source

Update the packages and kernel, and install some development tools.

sudo apt-get update && sudo apt-get upgrade
sudo apt-get install git cmake subversion libav-tools dh-autoreconf libcurl4-openssl-dev yasm libx264-dev pkg-config libssl-dev

Install the FFmpeg library with x264 support.

git clone https://github.com/FFmpeg/FFmpeg ffmpeg
cd ffmpeg && git checkout remotes/origin/release/2.8
./configure --enable-gpl --enable-libx264 --enable-shared --prefix=/usr/local
make && sudo make install

Go to your home directory, or any place your prefer and pull the machinery from Github. Afterwards create a build directory and start the compilation.

cd && git clone https://github.com/kerberos-io/machinery
cd machinery && mkdir build && cd build
cmake .. && make && make check && sudo make install

After the machinery is build and installed succesfully, you can enable kerberosio to start on boot.

sudo systemctl enable kerberosio

More Repositories

1

agent

An open and scalable video surveillance system for anyone making this world a better and more peaceful place.
Go
455
star
2

web

(DEPRECATED) An open source GUI to configure the machinery and to view events that were detected by the machinery.
PHP
226
star
3

kios

A Linux OS created by Buildroot which runs Kerberos Open Source out-of-the-box.
Makefile
194
star
4

kerberos-docker

Run Kerberos Open Source inside a docker container.
PHP
103
star
5

documentation

Documentation for Kerberos Agent, Factory, Vault and Hub.
SCSS
32
star
6

kerberos-balena

Run Kerberos Open Source on Balena Cloud with just a few clicks.
29
star
7

hub

A scalable single pane of glass for your ever growing surveillance landscape with dashboards, analytics, notifications, device management, sites and grouping.
27
star
8

factory

An enterprise ready, resilient and horizontal scalable solution for large video landscapes.
JavaScript
23
star
9

vault

Bring Your Own Storage, implement your own apps and scale your machine learning.
19
star
10

heatmap

Creating a heatmap based on video recordings
Python
13
star
11

camera-to-rtsp

A container that helps us converting USB cameras and Raspberry Pi camera to a RTSP stream
10
star
12

virtual-rtsp

A virtual RTSP connection, based on a looping MP4.
Shell
8
star
13

glass

A single pane of glass for Kerberos Open Source and Kerberos Enterprise agents
Go
4
star
14

ui

Reusable components and widgets for the entire Kerberos.io ecosystem
TypeScript
4
star
15

roadmap

Future vision, strategy and upcoming features.
4
star
16

upptime

📈 Uptime monitor and status page for Kerberos.io, powered by @upptime
Markdown
3
star
17

rtsp-benchmark

A benchmark to understand the scalability of Kerberos Agents with the existing hardware.
Go
2
star
18

base

A multi-architecure base image which contains FFmpeg, OpenCV and Golang
Dockerfile
2
star
19

helm-charts

All Kerberos.io helm charts in a single place
HTML
2
star
20

openalpr

A Kerberos Vault integration with OpenALPR
Go
2
star
21

hub-tv

A TV mode for Kerberos Hub
1
star
22

turn-and-stun

A TURN and STUN server to stream live from Kerberos Agents to Kerberos Hub
Go
1
star
23

vault-detect-helmets

1
star
24

hub-mobile

A Flutter mobile app integrated with Kerberos Hub
1
star
25

tunnel

Run Kerberos agents in the cloud by tunneling your streams.
1
star
26

rtsp-simple-server

An extension on top of rtsp-simple-server which supports FFmpeg
Dockerfile
1
star
27

balena-agent-block

Kerberos Agent as a block for Balena Cloud
1
star
28

hub-objecttracker

An object tracker for Kerberos Hub pipeline
1
star
29

nvidia-gpu-kubernetes

An example of how to install the NVIDIA GPU operator on your Kubernetes cluster and scale your machine learning with Kerberos Vault.
1
star