From 69c347fde7defcfcc1d8bc3864d57146299c0941 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Verstraeten?= Date: Wed, 24 Aug 2016 09:04:54 +0200 Subject: [PATCH] added streaming --- 4_release_notes.md | 3 +- 72_machinery/1_introduction.md | 2 +- .../81_algorithms/2_background_subtraction.md | 2 +- 72_machinery/92_streaming.md | 30 +++++++++++++++++++ 73_addons/4_People_Counting.md | 2 +- 5 files changed, 35 insertions(+), 4 deletions(-) diff --git a/4_release_notes.md b/4_release_notes.md index 6f14368..4bd2edb 100644 --- a/4_release_notes.md +++ b/4_release_notes.md @@ -38,7 +38,8 @@ * Fix removal images if disk is almost full (wrong path was defined). [#1](https://github.com/kerberos-io/kios/issues/1) * Support for the Raspberry Pi Camera module v2.1. [#3](https://github.com/kerberos-io/kios/issues/3) - +* Support for the Raspberry Pi Zero; updated kernel to latest Raspbian. [#3](https://github.com/kerberos-io/kios/issues/3) +* KiOS GUI installer. ## 2.0.0 diff --git a/72_machinery/1_introduction.md b/72_machinery/1_introduction.md index d6d27c3..c8fabe1 100644 --- a/72_machinery/1_introduction.md +++ b/72_machinery/1_introduction.md @@ -13,7 +13,7 @@ The machinery is an **image processing framework** which is devided into four st The steps belong to a four passway; illustrated on the image below. In each cycle a sequence of images is processed. Each step will process the sequence, and will return some result to the next step. For example: an algorithm will process the images and returns an array to the Expositor, which contains boolean values. The steps are **loosly coupled**, so they have **simple conventions**, just like the example before. -Thanks to the loosly coupling, each step can be developed indepently. So algorithms, expositors, heuristics and conditions can be switched on the fly. This makes it easier for other developers who want to contribute to kerberos. They can create a new algorithm without knowing how a specific expositor or heuristic works. They just need to be aware of the convention an algorithm should meet. +Thanks to the loosly coupling, each step can be developed indepently. So algorithms, expositors, heuristics and conditions can be switched on the fly. This makes it easier for other developers who want to contribute to Kerberos.io. They can create a new algorithm without knowing how a specific expositor or heuristic works. They just need to be aware of the convention an algorithm should meet. ![Lifecycle](1_project_structure.png) diff --git a/72_machinery/81_algorithms/2_background_subtraction.md b/72_machinery/81_algorithms/2_background_subtraction.md index 67cf055..20dd15d 100644 --- a/72_machinery/81_algorithms/2_background_subtraction.md +++ b/72_machinery/81_algorithms/2_background_subtraction.md @@ -2,7 +2,7 @@ This Background subtraction algorithm is **a more advanced** method in comparison to the **Differential images** method. The key difference is that it uses and calculates a background image. Images taken from the capture device are then subtracted from the background image, resulting in a more robust segmentation of the foreground. As this method is more accurate, it also **consumes a lot more CPU power and memory**; the background model is adapted by every iteration. -# Parameters +## Parameters The parameters of the Background images algorithm can be found in the *config/algorithm.xml* file, but you can also use the web to modify the parameters. Below you see a default configuration file. diff --git a/72_machinery/92_streaming.md b/72_machinery/92_streaming.md index e69de29..e4c415b 100644 --- a/72_machinery/92_streaming.md +++ b/72_machinery/92_streaming.md @@ -0,0 +1,30 @@ +# Streaming + +The machinery has the ability to stream your capture device as a MJPG stream. + +## Parameters + +The parameters for the supported streaming protocols can be found in the *config/stream.xml* file, but you can also use the web to modify the parameters. Below you see a default configuration file; at the moment of writing only a MJPG stream is supported. + + + + + true + 8888 + 75 + + + + + +### Enabled + +A boolean which turns ON/OFF the stream. This is interesting when working with IP cameras, where you already have an RTSP/MJPG stream from the camera itself. + +### Stream Port + +The port on which the stream is available. + +### Quality + +The quality is a value between [0-100]. The lower the quality, the more the image will be compressed. \ No newline at end of file diff --git a/73_addons/4_People_Counting.md b/73_addons/4_People_Counting.md index 0812f86..8d9a4ad 100644 --- a/73_addons/4_People_Counting.md +++ b/73_addons/4_People_Counting.md @@ -26,7 +26,7 @@ When opening the counter heuristic, you'll see two lines (a green and red one) w ### Specify the webhook url -The **Webhook Io device** is used to retrieve the number of incoming and outgoing objects; therefore we need to specify an endpoint to which the webhook will post the JSON object. The web application we will create in next paragraph will listen on port 25000, therefore we chage the url of the webhook to: +The **Webhook Io device** is used to send the number of incoming and outgoing objects to your own application; therefore we need to specify an endpoint to which the webhook will post the JSON object (e.g. your own API). We will demonstrate how this works with a traditional NodeJS application, which we will create in next paragraph. The application will run on our local machine, and listen on port 25000, therefore we need to change the url of the webhook to: http://localhost:250000