Unterabschnitte

Das Motion-Paket

Die Einleitung

Dieses Paket ermöglicht die einfache Überwachung von Videosignalen einer oder mehrerer Kameras und ist in der Lage signifikante Änderungen in Bildteilen zu erkennen; mit anderen Worten, es erkennt Bewegungen.

Die Funktionen

Das Motion-Paket besteht aus folgenden Komponenten:

Die Voraussetzungen

Dieses Paket benötigt zur korrekten Funktion folgende installierten Pakete: apache2, ffmpeg, mjpegtools, libavcodec, libjpeg

Die Installation

Das Motion-Paket wird über das Setup-Menü installiert. Wird eine ältere Paketversion vorgefunden, so wird diese deinstalliert bevor die neuen Programmdateien installiert werden. Nach dem Installieren der Programmdateien wird direkt der Konfigurations-Editor gestartet um die Konfiguration anzupassen. Nach Beendigung dieses Schrittes werden die Konfigurationsdateien generiert und alle benötigten Programme gestartet.
Hinweis
Sollte bei der Installation ein Usbcam-Paket gefunden werden, so auch dessen Konfiguration automatisch importiert.


Das Menü im Setup-Programm

Das Menü im Setup-Programm ist wie folgt aufgebaut:

Die Menüpunkte dürften selbsterklärend sein, da sie keinerlei weitere Eingaben erwarten. Deshalb wird auf deren Funktion nicht weiter eingegangen.

Die Änderung der Konfiguration

Die Konfiguration kann über den Menüpunkt 'Edit configuration' geändert werden. Standardmäßig wird der Editor aufgerufen, der in der Environment-Konfiguration über die Variable 'EDITOR' festgelegt wurde. Nachdem der Editor beendet wurde wird abgefragt, ob die Konfiguration aktiviert werden soll. Wird dies bestätigt, werden über ein Skript die Anpassungen umgehend wirksam gemacht.

Die Konfigurationsdatei

In der Konfigurationsdatei, die über das Menü zugänglich ist, sind folgende Parameter vorhanden; wer sie von Hand editieren will findet sie unter /etc/config.d/motion.

Die Parameter

START_MOTION

Für die Aktivierung des Motion-Paketes muss diese Parameter lediglich auf den Wert 'yes' gestellt werden. Die Einstellung 'no' deaktiviert das Motion-Paket.

Gültige Werte: yes, no

Standardeinstellung: START_MOTION='no'

MOTION_SETUPMODE_ENABLED

Wird dieser Parameter auf den Wert 'yes' gesetzt, so wird der Motion-Prozess im Konfigurationsmodus gestartet. In diesem Modus wird die Ausgabe einer Kamera in einen speziellen Modus geändert, welcher Bildänderungen im Grautönen anzeigt.
Zusätzlich werden folgende Information über die automatische Bilderkennung angezeigt:

D: - Differenzzähler
L: - Gesamtanzahl der Labels
N: - Pegel des Bildrauschens

Wird zusätzlich noch der Parameter MOTION_DO_DEBUG='yes' gesetzt, so startet der Prozess im Vordergrund und es werden detaillierte Meldungen auf dem Bildschirm ausgegeben.

Gültige Werte: yes, no

Standardeinstellung: MOTION_SETUPMODE_ENABLED='no'

MOTION_COMMAND_PRESTART

Über diesen Parameter kann ein optionales Skript festgelegt werden, welches vor dem Start des Motion-Prozesses ausgeführt werden soll.

Gültige Werte: Skriptname inkl. absoluter Pfadangabe

Standardeinstellung: MOTION_COMMAND_PRESTART=''

MOTION_COMMAND_POSTSTART

Über diesen Parameter kann ein optionales Skript festgelegt werden, welches nach dem Start des Motion-Prozesses ausgeführt werden soll.

Gültige Werte: Skriptname inkl. absoluter Pfadangabe

Standardeinstellung: MOTION_COMMAND_POSTSTART=''

MOTION_MODULES_N

Über diesen Parameter legt man die Anzahl der Video Kernelmodule fest, welche vor dem Start des Motion-Prozesses geladen werden sollen, weil sie z.B. für den Zugriff auf eine USB-Kamera benötigt werden.

Gültige Werte: Zahl

Standardeinstellung: MOTION_MODULES_N='3'

MOTION_MODULES_x_ACTIVE

Wird dieser Parameter auf den Wert 'yes' gesetzt, so wird das zugehörige Modul aktiviert, 'no' deaktiviert es.

Gültige Werte: yes oder no

Beispiel: MOTION_MODULES_1_ACTIVE='no'

MOTION_MODULES_x_NAME

Über diesen Parameter legt man den Namen eines Kernelmoduls fest, welches geladen werden soll.

Gültige Werte: Name eines Kernelmoduls

Beispiel: MOTION_MODULES_1_NAME='pwc'

MOTION_MODULES_x_OPTIONS

Über diesen Parameter kann man optionale Modulparameter festlegen, welche beim Laden des Kernelmoduls verwendet werden sollen. Mittels des folgenden Kommandozeilenbefehls kann man sich die verfügbaren Modulparameter eines Moduls anzeigen lassen:

modinfo <name-of-module>

Gültige Werte: Gültige Modulparameter

Beispiel: MOTION_MODULES_1_OPTIONS='fps=5'

MOTION_CONTROL_PORT

Über diesen Parameter legt man den TCP-Port für den Zugriff auf die Konfigurationsweboberfläche des Motion-Prozesses fest.

Gültige Werte: TCP-Portnummer

Standardeinstellung: MOTION_CONTROL_PORT='8080'

MOTION_CONTROL_USER / MOTION_CONTROL_PASS

Über diese Parameter legt man den Usernamen und das Kennwort für den Zugriff auf die Weboberfläche fest.

Gültige Werte: Username und Kennwort

Standardeinstellung:

MOTION_CONTROL_USER='admin'
MOTION_CONTROL_PASS='geheim'

MOTION_CONTROL_WEBGUI

Über diesen Parameter legt man fest, ob eine Weboberfläche für den komfortablen Zugriff auf die erzeugten Bild- und Videodateien installiert werden soll oder nicht. Es stehen folgende Optionen zur Auswahl:

Gültige Werte: no, motionbrowser, motioncgi

Standardeinstellung: MOTION_CONTROL_WEBGUI='no'

Auf Wunsch erzeugt das Motion-Programm bei Ereignissen, wie z.B. dem Speichern von Bildern, Videos oder Zeitraffervideos, Einträge in einer Datenbank. Der Zugriff auf diese Datenbank wird über folgende Parameter eingerichtet bzw. gesteuert.

MOTION_SQL_ENABLED

Über diesen Parameter wird die Datenbankunterstützung aktiviert, bzw. deaktiviert.

Gültige Werte: yes oder no

Standardeinstellung: MOTION_SQL_ENABLED='no'

MOTION_SQL_USER

Über diesen Parameter wird der Datenbanknutzer festgelegt, welcher für das Speichern der Daten verwendet werden soll.

Gültige Werte: SQL-Datenbanknutzer

Beispiel: MOTION_SQL_USER='sql-user'

MOTION_SQL_PASS

Über diesen Parameter wird das Kennwort des, über den Parameter MOTION_SQL_USER angegebenen Datenbanknutzer, festgelegt.

Gültige Werte: Kennwort

Beispiel: MOTION_SQL_PASS='sql-password'

MOTION_SQL_DEF_LOG_IMAGE / MOTION_x_SQL_LOG_IMAGE

Über diesen Parameter wird festgelegt, ob beim Speichern von JPEG-Bildern ein Eintrag in die Datenbank geschrieben werden soll.

Gültige Werte: yes oder no

Standardeinstellung: MOTION_SQL_DEF_LOG_IMAGE='yes'

MOTION_SQL_DEF_LOG_SNAPSHOT / MOTION_x_SQL_LOG_SNAPSHOT

Über diesen Parameter wird festgelegt, ob beim Speichern eines Snapschussbildern ein Eintrag in die Datenbank geschrieben werden soll.

Gültige Werte: yes oder no

Standardeinstellung: MOTION_SQL_DEF_LOG_SNAPSHOT='yes'

MOTION_SQL_DEF_LOG_MOVIE / MOTION_x_SQL_LOG_MOVIE

Über diesen Parameter wird festgelegt, ob beim Speichern einer Videodatei ein Eintrag in die Datenbank geschrieben werden soll.

Gültige Werte: yes oder no

Standardeinstellung: MOTION_SQL_DEF_LOG_MOVIE='yes'

MOTION_SQL_DEF_LOG_TIMELAPS / MOTION_x_SQL_LOG_TIMELAPS

Über diesen Parameter wird festgelegt, ob beim Speichern eines Zeitraffervideos ein Eintrag in die Datenbank geschrieben werden soll.

Gültige Werte: yes oder no

Standardeinstellung: MOTION_SQL_DEF_LOG_TIMELAPS='yes'

Um den Konfigurationsaufwand möglichst gering zu halten wird bei den nachfolgenden Parametern grundsätzlich zwischen Standardparametern, welche mit MOTION_DEF_.. beginnen, und optionalen, individuellen Parameter, welche mit MOTION_x_.. beginnen, unterschieden. Individuelle Parameter überschreiben dabei immer die Standardparameter.

MOTION_DEF_VIDEO_FREQ / MOTION_x_VIDEO_FREQ

Falls man ein TV-Karte verwendet, welche die Konfiguration der Tuner-Frequenz unterstützt, kann man über diesen Parameter die zu verwendende Frequenz in kHz festlegen.

Gültige Werte: Frequenz in kHz

Standardeinstellung: MOTION_DEF_VIDEO_FREQ='0'

MOTION_DEF_VIDEO_ROTATE / MOTION_x_VIDEO_ROTATE

Über diesen Parameter legt man fest, ob ein Kamerabild um einen bestimmten Winkel gedreht werden soll. Diese Einstellung betrifft sowohl das Speichern von Bildern als auch das aufzeichnen von MPEG-Videos.

Gültige Werte: 0, 90, 180, 270

Standardeinstellung: MOTION_DEF_VIDEO_ROTATE='0'

MOTION_DEF_VIDEO_WIDTH / MOTION_x_VIDEO_WIDTH

Über diesen Parameter legt man die Bildbreite in Bildpunkten fest. Der Gültigkeitsbereich ist hierbei abhängig von der verwendeten Kamera.

Gültige Werte: Gültiger Bildpunktewert

Standardeinstellung: MOTION_DEF_VIDEO_WIDTH='320'

MOTION_DEF_VIDEO_HEIGHT / MOTION_x_VIDEO_HEIGHT

Über diesen Parameter legt man die Bildhöhe in Bildpunkten fest. Der Gültigkeitsbereich ist hierbei abhängig von der verwendeten Kamera.

Gültige Werte: Gültiger Bildpunktewert

Standardeinstellung: MOTION_DEF_VIDEO_HEIGHT='240'

MOTION_DEF_VIDEO_FRAMERATE / MOTION_x_VIDEO_FRAMERATE

Über diesen Parameter legt man die maximale Anzahl der Bilder fest, welche pro Sekunde als Bild oder in einem Video gespeichert werden sollen. Wird der Wert '0' gesetzt, so wird der Standardwert der Kamera verwendet.
ACHTUNG
Die CPU-Last kann stark ansteigen wenn dieser Wert zu hoch gesetzt wird!


Gültige Werte: Zahl

Standardeinstellung: MOTION_DEF_VIDEO_FRAMERATE='5'

MOTION_DEF_VIDEO_FRAMETIME / MOTION_x_VIDEO_FRAMETIME

Über diesen Parameter legt man die minimale Zeit in Sekunden an, die zwischen dem Speichern von Bildern gewartet werden soll. Wird der Wert '0' gesetzt, so wird der Standardwert der Kamera verwendet.

Gültige Werte: Zahl

Standardeinstellung: MOTION_DEF_VIDEO_FRAMETIME='0'

MOTION_DEF_VIDEO_BRIGHTNESS / MOTION_x_VIDEO_BRIGHTNESS

Über diesen Parameter kann Standardwert für die Helligkeit einer Kamera eingestellt werden. Wird dem Helligkeitswert das Schlüsselwort 'auto:' vorangestellt, so wird der gegebene Wert als mittlerer Helligkeitswert verstanden den Motion automatisch versucht einzustellen. Dieser Wert wird nur dann empfohlen, wenn eine Kamera keine automatische Helligkeitseinstellung unterstützt.

Gültige Werte: Zahl mit optional vorangestelltem 'auto:'

Standardeinstellung: MOTION_DEF_VIDEO_BRIGHTNESS='0'

MOTION_DEF_VIDEO_CONTRAST / MOTION_x_VIDEO_CONTRAST

Über diesen kann der Kontrast einer Kamera eingestellt werden. Wird der Wert '0' gesetzt, so wird diese Einstellung deaktiviert.

Gültige Werte: Zahl

Standardeinstellung: MOTION_DEF_VIDEO_CONTRAST='0'

MOTION_DEF_VIDEO_SATURATION / MOTION_x_VIDEO_SATURATION

Über diesen Parameter kann die Farbsättigung einer Kamera eingestellt werden. Wird der Wert '0' gesetzt, so wird diese Einstellung deaktiviert.

Gültige Werte: Zahl

Standardeinstellung: MOTION_DEF_VIDEO_SATURATION='0'

MOTION_DEF_MOTION_TRIGGER / MOTION_x_MOTION_TRIGGER

Über diesen Parameter legt man den Grenzwert der Bildpunkteänderungen fest ab welchem eine Bewegung im Bild erkannt wird.

Gültige Werte: Zahl

Standardeinstellung: MOTION_DEF_MOTION_TRIGGER='1500'

MOTION_DEF_MOTION_NOISE_TUNE / MOTION_x_NOISE_TUNE

Über diesen Parameter kann man einstellen ob versucht werden soll das Bildrauschen, welches die Bewegungserkennung beeinflussen kann, automatisch zu neutralisieren.

Gültige Werte: yes oder no

Standardeinstellung: MOTION_DEF_MOTION_NOISE_TUNE='yes'

MOTION_DEF_MOTION_NOISE_LEVEL / MOTION_x_MOTION_NOISE_LEVEL

Über diesen Parameter wird der Wert des Bildrauschens festgelegt, welcher bei der Bewegungserkennung ignoriert werden soll. Veraussetzung hierfür ist, dass der Parameter MOTION_DEF_MOTION_NOISE_TUNE='no' gesetzt wurde.

Gültige Werte: Zahl

Standardeinstellung: MOTION_DEF_MOTION_NOISE_LEVEL='32'

MOTION_DEF_MOTION_LIGHTSWITCH / MOTION_x_MOTION_LIGHTSWITCH

Über diesen Parameter legt man fest ab welchem Prozentwert eine starke Lichtintensitätsänderung ignoriert werden soll. Wird der Wert '0' gesetzt, so wird diese Einstellung deaktiviert.

Gültige Werte: Zahl

Standardeinstellung: MOTION_DEF_MOTION_LIGHTSWITCH='0'

MOTION_DEF_MOTION_FRAMES / MOTION_x_MOTION_FRAMES

Über diesen Parameter legt man fest in wie viel aufeinander folgenden Bildern mindestens eine Bewegung vorliegen muss bevor diese als wirkliche Bewegung erkannt wird.
Empfohlender Wertebereich: 1 - 10

Gültige Werte: Zahl

Standardeinstellung: MOTION_DEF_MOTION_FRAMES='1'

MOTION_DEF_MOTION_PRECAPTURE / MOTION_x_MOTION_PRECAPTURE

Über diesen Parameter legt man die Anzahl der Bilder fest, welche gepuffert und bei einer Bewegungserkennung gespeichert bzw. einem Video vorangestellt werden sollen.
Empfohlender Wertebereich: 0 - 5

Gültige Werte: Zahl

Standardeinstellung: MOTION_DEF_MOTION_PRECAPTURE='0'

MOTION_DEF_MOTION_POSTCAPTURE / MOTION_x_MOTION_POSTCAPTURE

Über diesen Parameter legt man die Anzahl der Bild fest, welche noch nach dem Ende einer Bewegungserkennung gespeichert werden sollen.

Gültige Werte: Zahl

Standardeinstellung: MOTION_DEF_MOTION_POSTCAPTURE='0'

MOTION_DEF_MOTION_ENDGAP / MOTION_x_MOTION_ENDGAP

Über diesen Parameter legt man die Anzahl der Sekunden fest die nach einer Bewegungserkennung gewartet werden sollen bevor ein Ereignis angestossen werden soll. Wird der Wert '0' gesetzt, so werden alle Ereignisse deaktiviert und alle erkannten Bewegungen in eine MPEG-Videodatei geschrieben.

Gültige Werte: Zahl

Standardeinstellung: MOTION_DEF_MOTION_ENDGAP='60'

MOTION_DEF_MOTION_LOCATE / MOTION_x_MOTION_LOCATE

Über diesen Parameter legt man fest, ob ein sich bewegendes Objekt erkannt und durch einen Rahmen kenntlich gemacht werden soll. Wird der Wert 'preview' gesetzt, so wird ein solcher Rahmen nur im Vorschaubild und nicht im gespeicherten Video angezeigt.

Gültige Werte: yes oder no

Standardeinstellung: MOTION_DEF_MOTION_LOCATE='no'

MOTION_DEF_MASK_FILE / MOTION_x_MASK_FILE

Über diesen Parameter kann ein Bild im PGM-Format (Portable Gray Map) angegeben werden, welches als Empfindlichkeitsmaske verwendet werden soll. Die Bildbereiche welche zur Bewegungserkennung herangezogen werden sollen müssen weiss eingefärbt, die Bildbereiche die nicht zur Bewegungserkennung herangezogen werden schwarz eingefärbt werden. Ein solches Bild muss exakt die gleiche Größe wie das Bild der Kamera haben. Auf diese Weise kann man z.B. verhindern, dass ein sich im Bild befindlicher, bewegender Baum die Bewegungserkennung auslöst. Details zur Erstellung eines solchen Bildes kann man hier nachlesen:
http://www.lavrsen.dk/twiki/bin/view/Motion/ConfigOptionMaskFile

Gültige Werte: Dateiname

Standardeinstellung: MOTION_DEF_MASK_FILE=''

MOTION_DEF_MASK_SPEED / MOTION_x_MASK_SPEED

Über diesen Parameter kann man festlegen ob dynamisch versucht werden soll eine Empfindlichkeitsmaske, siehe auch Parameter MOTION_DEF_MASK_FILE, anzulegen. Der angegebene Wert bestimmt hierbei die Geschwindigkeit in der eine solche Maske erstellt werden soll. Wird der Wert '0' gesetzt, so wird diese Einstellung deaktiviert.

Gültige Werte: Zahl

Standardeinstellung: MOTION_DEF_MASK_SPEED='0'

MOTION_DEF_TEXT_LEFT / MOTION_x_TEXT_LEFT

Über diesen Parameter legt man den Text fest, welcher in der unteren linken Ecke eines Bildes eingefügt werden soll. Im Text können verschieden Platzhalter eingefügt werden, die zur Laufzeit gefüllt werden. Eine Übersicht findet man im Absatz 'Platzhalter'.

Gültige Werte: Text

Standardeinstellung: MOTION_DEF_TEXT_LEFT='CAMERA %t'

MOTION_DEF_TEXT_RIGHT / MOTION_x_TEXT_RIGHT

Über diesen Parameter legt man den Text fest, welcher in der unteren rechten Ecke eines Bildes eingefügt werden soll. Im Text können verschieden Platzhalter eingefügt werden, die zur Laufzeit gefüllt werden. Eine Übersicht findet man im Absatz 'Platzhalter'.

Gültige Werte: Text

Standardeinstellung: MOTION_DEF_TEXT_RIGHT='%Y-%m-%d
n%T-%q'

MOTION_DEF_TEXT_SIZE / MOTION_x_TEXT_SIZE

Über diesen Parameter lässt sich einstellen, ob die mittels der Parameter MOTION_DEF_TEXT_LEFT und MOTION_DEF_TEXT_RIGHT konfigurierten Texte in doppelter Schriftgrösse dargestellt werden sollen oder nicht.

Gültige Werte: normal oder double

Standardeinstellung: MOTION_DEF_TEXT_SIZE='normal'

MOTION_DEF_CAPTURE_IMAGE / MOTION_x_CAPTURE_IMAGE

Über diesen Parameter legt man fest, ob eine JPEG Bilddateien beim Auftreten eines Ereignisses angelegt werden soll oder nicht. Wird der Wert 'first' ausgewählt, so wird nur das erste Bild eines Ereignisses gespeichert. Wird der Wert 'best' ausgewählt, so wird nur das Bild mit dem größten Bewegungsanteil gespeichert. Wird der Wert 'no' gewählt, so werden keine Bilddateien gespeichert.
Hinweis
Die Bilddateien werden immer in einem Verzeichnis unter $APACHE2_DOCUMENT_ROOT/motion/camera-[index] gespeichert


Gültige Werte: yes, first, best oder no

Standardeinstellung: MOTION_DEF_CAPTURE_IMAGE='yes'

MOTION_DEF_CAPTURE_ALL / MOTION_x_CAPTURE_ALL

Über diesen Parameter legt man fest, ob auch dann ein Bild oder ein Video aufgezeichnet werden soll wenn keine Bewegung erkannt wurde.

Gültige Werte: yes or no

Standardeinstellung: MOTION_DEF_CAPTURE_ALL='no'

MOTION_DEF_CAPTURE_SNAPSHOT / MOTION_x_CAPTURE_SNAPSHOT

Über diesen Parameter legt man fest, nach wie viel Sekunden jeweils ein Schnappschuss angelegt werden soll. Stellt man dem Zahlenwert das Schlüsselwort 'single:' voran, so wird genau ein Bild mit Namen 'snapshot.jpg' pro Intervall angelegt. Wird nur ein Zahlenwert angegeben, so werden individuelle Schnappschüsse pro Intervall abgelegt, wobei jeweils auf das aktuellste Bild mittels des symbolischen Links 'snapshot.jpg' referenziert wird. Wird der Wert '0' gesetzt, so wird diese Einstellung deaktiviert.
Hinweis
Die Bilddateien werden immer in einem Verzeichnis unter $APACHE2_DOCUMENT_ROOT/motion/camera-[index] gespeichert


Gültige Werte: Zahl mit optional vorangestelltem 'single:'

Standardeinstellung: MOTION_DEF_CAPTURE_SNAPSHOT='0'

MOTION_DEF_CAPTURE_QUALITY / MOTION_x_CAPTURE_QUALITY

Über diesen Parameter legt man die JPEG-Qualität in Prozent fest. Bei einem Wert von 100% wird die erzeugte Bilddatei kaum komprimiert und die höchste Bildqualität erzielt, bei kleineren Werten wird zu Lasten der Bildqualität höher komprimiert.

Gültige Werte: Zahl

Standardeinstellung: MOTION_DEF_CAPTURE_QUALITY='75'

MOTION_DEF_CAPTURE_MOVIE / MOTION_x_CAPTURE_MOVIE

Über diesen Parameter legt man fest, ob ein MPEG Video beim Auftreten eines Ereignisses angelegt werden soll oder nicht.
Hinweis
Die Videodateien werden immer in einem Verzeichnis unter $APACHE2_DOCUMENT_ROOT/motion/camera-[index] gespeichert


Gültige Werte: yes oder no

Standardeinstellung: MOTION_DEF_CAPTURE_MOVIE='no'

MOTION_DEF_CAPTURE_LENGTH / MOTION_x_CAPTURE_LENGTH

Über diesen Parameter legt man die maximale Länge eines MPEG-Videos in Sekunden fest. Wird dieser Wert überschritten wird eine neue Datei angelegt. Wird der Wert '0' gesetzt, so wird diese Einstellung deaktiviert.

Gültige Werte: Zahl

Standardeinstellung: MOTION_DEF_CAPTURE_LENGTH='0'

MOTION_DEF_CAPTURE_TIMELAPS / MOTION_x_CAPTURE_TIMELAPS

Über diesen Parameter legt man fest, nach wie viel Sekunden jeweils ein Schnappschuss für ein Zeitraffervideo angelegt werden soll. Wird der Wert '0' gesetzt, so wird diese Einstellung deaktiviert.

Gültige Werte: Zahl

Standardeinstellung: MOTION_DEF_CAPTURE_TIMELAPS='0'

MOTION_DEF_CAPTURE_CODEC / MOTION_x_CAPTURE_CODEC

Über diesen Parameter legt man den Video-Codec fest welcher für die Videokompression verwendet werden soll. Zeitraffervideos werden grundsätzlich im MPEG1-Format aufgezeichnet.

Gültige Werte: mpeg4, msmpeg4, swf, flv, ffv1, mov

Standardeinstellung: MOTION_DEF_CAPTURE_CODEC='msmpeg4'

MOTION_DEF_WEBCAM_PORT / MOTION_x_WEBCAM_PORT

Über diesen Parameter wird der TCP-Port angegeben über welchen der Kameraserver erreicht werden kann.

Gültige Werte: TCP-Port

Standardeinstellung: MOTION_DEF_WEBCAM_PORT='8081'

MOTION_DEF_WEBCAM_MOTION / MOTION_x_WEBCAM_MOTION

Über diesen Parameter kann festgelegt werden ob Motion den Kamera-Stream auf ein Bild pro Sekunde reduzieren soll wenn keine Bewegung erkannt wird. Wird der Wert 'no' gesetzt, so wird der über den Parameter MOTION_DEF_WEBCAM_FRAMERATE gesetzte Maximalwert verwendet.

Gültige Werte: yes oder no

Standardeinstellung: MOTION_DEF_WEBCAM_MOTION='no'

MOTION_DEF_WEBCAM_FRAMERATE / MOTION_x_WEBCAM_FRAMERATE

Über diesen Parameter kann die maximale Bildrate einer Kamera festgelegt werden. Dieser Wert sollte nicht zu hoch gesetzt werden solange der Zugriff nicht über das lokale Netzwerk erfolgt.

Gültige Werte: Zahl

Standardeinstellung: MOTION_DEF_WEBCAM_FRAMERATE='1'

Mittels der folgenden Parameter kann man Skripte beim Auftreten von Ereignissen automatisiert ausführen lassen. Die Skriptdateien selbst müssen sich hierzu im Verzeichnis /[data/packages| var]/motion befinden.

MOTION_DEF_ON_CAMERALOST / MOTION_x_ON_CAMERALOST

Über diesen Parameter kann ein Skript angegeben werden welches ausgeführt wird wenn keine Verbindung zur Kamera aufgebaut werden kann oder diese verloren geht. Im Dateinamen können verschieden Platzhalter eingefügt werden, die zur Laufzeit gefüllt werden. Eine Übersicht findet man im Absatz 'Platzhalter'.

Gültige Werte: Dateiname

Standardeinstellung: MOTION_DEF_ON_CAMERALOST=''

MOTION_DEF_ON_EVENTSTART / MOTION_x_ON_EVENTSTART

Über diesen Parameter kann ein Skript angegeben werden welches ausgeführt wird wenn ein Ereignis eintritt. Im Datenamen können verschieden Platzhalter eingefügt werden, die zur Laufzeit gefüllt werden. Eine Übersicht findet man im Absatz 'Platzhalter'.

Gültige Werte: Dateiname

Standardeinstellung: MOTION_DEF_ON_EVENTSTART=''

MOTION_DEF_ON_EVENTEND / MOTION_x_ON_EVENTEND

Über diesen Parameter kann ein Skript angegeben werden welches ausgeführt wird wenn ein Ereignis endet. Im Datenamen können verschieden Platzhalter eingefügt werden, die zur Laufzeit gefüllt werden. Eine Übersicht findet man im Absatz 'Platzhalter'.

Gültige Werte: Dateiname

Standardeinstellung: MOTION_DEF_ON_EVENTEND=''

MOTION_DEF_ON_MOTIONDETECT / MOTION_x_ON_MOTIONDETECT

Über diesen Parameter kann ein Skript angegeben werden welches ausgeführt wird sobald eine Bewegung erkannt wird. Im Datenamen können verschieden Platzhalter eingefügt werden, die zur Laufzeit gefüllt werden. Eine Übersicht findet man im Absatz 'Platzhalter'.

Gültige Werte: Dateiname

Standardeinstellung: MOTION_DEF_ON_MOTIONDETECT=''

MOTION_DEF_ON_MOVIESTART / MOTION_x_ON_MOVIESTART

Über diesen Parameter kann ein Skript angegeben werden welches ausgeführt wird sobald eine Videodatei angelegt wird. Im Datenamen können verschieden Platzhalter eingefügt werden, die zur Laufzeit gefüllt werden. Eine Übersicht findet man im Absatz 'Platzhalter'.

Gültige Werte: Dateiname

Standardeinstellung: MOTION_DEF_ON_MOVIESTART=''

MOTION_DEF_ON_MOVIEEND / MOTION_x_ON_MOVIEEND

Über diesen Parameter kann ein Skript angegeben werden welches ausgeführt wird sobald eine Videodatei geschlossen wird. Im Datenamen können verschieden Platzhalter eingefügt werden, die zur Laufzeit gefüllt werden. Eine Übersicht findet man im Absatz 'Platzhalter'.

Gültige Werte: Dateiname

Standardeinstellung: MOTION_DEF_ON_MOVIEEND=''

MOTION_DEF_ON_PICTURESAVE / MOTION_x_ON_PICTURESAVE

Über diesen Parameter kann ein Skript angegeben werden welches ausgeführt wird sobald eine Bild abgespeichert wurde. Im Dateinamen können verschieden Platzhalter eingefügt werden, die zur Laufzeit gefüllt werden. Eine Übersicht findet man im Absatz 'Platzhalter'.

Gültige Werte: Dateiname

Standardeinstellung: MOTION_DEF_ON_PICTURESAVE=''

MOTION_N

Über diesen Parameter wird die Anzahl der Videogeräte/Kameras festgelegt.

Gültige Werte: Zahl

Standardeinstellung: MOTION_N='1'

MOTION_x_ACTIVE

Wird dieser Parameter auf den Wert 'yes' gesetzt, so wird das zugehörige Konfiguration aktiviert, 'no' deaktiviert sie.

Gültige Werte: yes oder no

Beispiel: MOTION_1_ACTIVE='no'

MOTION_x_VIDEO_DEVICE

Über diesen Parameter wird das Video-Device konfiguriert von welchem Daten aufgezeichnet werden sollen.

Gültige Werte: Video-Device

Standardeinstellung: MOTION_1_VIDEO_DEVICE='/dev/video0'

MOTION_x_VIDEO_INPUT

Über diesen Parameter wird der Engangskanal des Videogerätes festgelegt. Folgende Werte können gesetzt werden:

0 - TV Tuner
1 - Standard Composite Video
3 - S-VHS
8 - USB-Kamera

Gültige Werte: Zahl

Standardeinstellung: MOTION_1_VIDEO_INPUT='8'

MOTION_x_NETCAM_URL

Über diesen Parameter kann eine URL zu einer ladbaren JPEG-Datei oder einem MJPEG-Stream einer IP-Kamera angegeben werden.

Gültige Werte: URL

Standardeinstellung: MOTION_1_NETCAM_URL=''

MOTION_x_NETCAM_USER / MOTION_x_NETCAM_PASS

Über diese Parameter legt man den Usernamen und das Kennwort für den Zugriff auf die IP-Kamera fest.

Gültige Werte: Username und Kennwort

Standardeinstellung:

MOTION_1_NETCAM_USER=''
MOTION_1_NETCAM_PASS=''

Verschiedenes

Apache2-Konfiguration anpassen

Neben der für administrative Zwecke gedachten Weboberfläche (Siehe Parameter MOTION_CONTROL_..) gibt es noch die Möglichkeit über eine einfache Weboberfläche auf die gespeicherten Bild- und Filmdateien, sowie die Kamerabilder direkt zuzugreifen. Für den Zugriff ist jedoch eine Anpassung der Apache2-Konfiguration notwendig, damit zu zugehörigen CGI-Skripte korrekt ausgeführt werden. Folgende Änderungen ermöglichen z.B. den Zugriff mittels der URL http://<eisfair-server>/motion/motion.cgi:

APACHE2_DIR_N='1'
APACHE2_DIR_1_PATH='/var/www/htdocs/motion'
APACHE2_DIR_1_AUTH_NAME='Members only!'
APACHE2_DIR_1_ACCESS_CONTROL='all'
APACHE2_DIR_1_CGI='.cgi'
APACHE2_DIR_1_SSI='no'
APACHE2_DIR_1_VIEW_DIR_CONTENT='no'
APACHE2_DIR_1_WEBDAV='no'

Axis 2100 / Axis 207

Den Zugriff auf die genannten Kameras konnte ich durch die folgende Konfiguration ermöglichen:

MOTION_1_NETCAM_URL='http://<camera-name>/axis-cgi/mjpg/video.cgi'
MOTION_1_VIDEO_WIDTH='640'
MOTION_1_VIDEO_HEIGHT='480'

Axis 207W über SSL-Tunnel und mit Authentifizierung

Den SSL-gesicherten Zugriff auf die genannte Kamera konnte ich durch die folgende Konfiguration, unter unter zu Hilfenahme des Stunnel-Paketes ermöglichen. Weitere Informationen zur Konfiguration des Stunnel-Paketes findet man selbstverständlich in der Stunnel-Dokumentation:

STUNNEL_1_NAME='https-axis207w'
STUNNEL_1_CLIENT_MODE='yes'
STUNNEL_1_CLIENT_DELAYED_DNS='no'
STUNNEL_1_CLIENT_LISTEN_HOST='8082'
STUNNEL_1_CLIENT_REMOTE_HOST='axis207w.local.lan:443'
STUNNEL_1_SERVER_MODE='no'
STUNNEL_1_CERT_CHECK='3'
STUNNEL_1_CERT_FILE='axis207w.local.lan.pem'
STUNNEL_1_CERT_KEY=''
STUNNEL_1_PROTOCOL='ssl3'

MOTION_1_NETCAM_URL='http://127.0.0.1:8082/axis-cgi/mjpg/video.cgi'
MOTION_1_NETCAM_USER='user'
MOTION_1_NETCAM_PASS='geheim'
MOTION_1_VIDEO_WIDTH='640'
MOTION_1_VIDEO_HEIGHT='480'

Logitech Quickcam Messenger USB

Den Zugriff auf die genannte Kamera konnte ich durch die folgende Konfiguration ermöglichen:

MOTION_MODULES_N='2'
MOTION_MODULES_1_ACTIVE='yes'
MOTION_MODULES_1_NAME='videodev'
MOTION_MODULES_2_ACTIVE='yes'
MOTION_MODULES_2_NAME='qcmessenger'

MOTION_1_VIDEO_DEVICE='/dev/video0'
MOTION_1_VIDEO_INPUT='8'
MOTION_1_VIDEO_WIDTH='320'
MOTION_1_VIDEO_HEIGHT='240'

Creative Webcam II (parallel)

Den Zugriff auf die genannte Kamera konnte ich durch die folgende Konfiguration ermöglichen:

MOTION_MODULES_N='2'
MOTION_MODULES_1_ACTIVE='yes'
MOTION_MODULES_1_NAME='parport_pc'
MOTION_MODULES_2_ACTIVE='yes'
MOTION_MODULES_2_NAME='cpia_pp'

MOTION_1_VIDEO_DEVICE='/dev/video0'
MOTION_1_VIDEO_INPUT='8'
MOTION_1_VIDEO_WIDTH='320'
MOTION_1_VIDEO_HEIGHT='240'

Ereignisbenachrichtigung versenden

Im Verzeichnis /[data/packages|var]/motion wird u.a. das Skript motionmail.pl mitgeliefert welches es erlaubt bei Auftreten eines Ereignisses automatisch eine E-Mail mit einer Bildcollage des gespeicherten Ereignisses zu versenden.
Um dieses Skript nutzen zu können muss eine spezielle motionmail-Konfigurationsdatei bearbeitet und müssen zwei Parameter der motion-Konfiguration angepasst werden.

Liste von Platzhaltern in Dateinamen

Die folgenden Platzhalter können in Dateinamen oder in den Feldern MOTION_DEF_TEXT_LEFT und MOTION_DEF_TEXT_RIGHT verwendet werden:

Platzhalter Beschreibung
%a Abgekürzter Wochenname
%A Vollständiger Wochenname
%b Abgekürzter Monatsname
%B Vollständiger Monatsname
%c Bevorzugtes Datums- und Zeitformat
%d Tag des Monats (Bereich 01 bis 31)
%D Anzahl der von Motion erkannten Bildpunkteänderungen
%f Dateiname, kann bei den Parametern MOTION_(DEF/x)_ON_MOVIESTART, MOTION_(DEF/x)_ON_MOVIEEND und MOTION_(DEF/x)_ON_PICTURESAVE verwendet werden.
%F Datumsequivalent zu %Y-%m-%d (ISO 8601 Datumsformat)
%H Stunde im 24h-Format (Bereich 00 bis 23)
%i Breite des Rechtecks in welchem Bildpunkteänderungen erkannt wurden
%I Stunde im 12h-Format (Bereich 01 bis 12)
%j Tag des Jahres (Bereich 001 bis 366)
%J Höhe des Rechtecks in welchem Bildpunkteänderungen erkannt wurden
%k Stunde im 24h-Format (Bereich 0 bis 23)
%K X-Koordinate der Bildpunkteänderungen (Bezugspunkt: obere linke Ecke)
%l Stunde im 12h-Format (Bereich 1 bis 12)
%L Y-Koordinate der Bildpunkteänderungen (Bezugspunkt: obere linke Ecke)
%m Monatsnummer (Bereich 01 bis 12)
%M Minute (Bereich 00 bis 59)
%N Bildrauschschwelle
%o Anzahl der erkannten Bildpunkte die zur Bewegungserkennung benötigt werden
%p 'AM' oder 'PM' in Bezug auf die aktuelle Uhrzeit
%P 'am' oder 'pm' in Bezug auf die aktuelle Uhrzeit
%q Rahmennummer eines Bilders innerhalb der aktuellen Sekunde
%Q Anzahl der erkannten Labels
%r Uhrzeit in am/pm-Notation
%R Uhrzeit im 24h-Format (%H:%M)
%s Anzahl von Sekunden seit dem 1970-01-01 %00:00:00 UTC
%S Sekunden (Bereich 00 bis 61)
%t Instanznummer (Kameranummer)
%T Uhrzeit im 24h-Format (%H:%M:%S)
%u Wochentag (Bereich 1 [Montag] bis 7)
%U Wochennummer des aktuellen Jahres (Bereich 00 bis 53)
%v Ereignisnummer
%V Wochennummer des aktuellen Jahres (Bereich 01 bis 53) (ISO 8601:1988)
%w Wochentag (Bereich 0 [Sonntag] bis 6)
%W Wochennummer des aktuellen Jahres (Bereich 00 bis 53)
%x Aktuelles Datum ohne Uhrzeit
%X Aktuelle Zeit ohne Datum
%y Jahreszahl ohne Jahrhundert (Bereich 00 bis 99)
%Y Jahreszahl mit Jahrhundert
%z Zeitzone als Stundenabweichung von GMT
%Z Zeitzone, deren Name oder Abkürzung

eis 2017-05-03