%
% motion.tex
% Last Update: $Id$
%
%%%%%%%%%%%%%%%%%%%%%%%%%% Kapitel Motion %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Achtung: Dateien muessen mit latin1-Encoding gespeichert werden!
% Attention: Files must be saved using latin1 encoding!
%

\chapter{Das Motion-Paket}

\section{Die Einleitung}

    Dieses Paket erm"oglicht die einfache "Uberwachung von Videosignalen einer
    oder mehrerer Kameras und ist in der Lage signifikante "Anderungen in
    Bildteilen zu erkennen; mit anderen Worten, es erkennt Bewegungen.


\section{Die Funktionen}

   Das Motion-Paket besteht aus folgenden Komponenten:

    \begin{itemize}
        \item Cambozola - Wird zur Anzeige von Video-Streams im Webbrowser ben"otigt.\\
            (\url{http://www.charliemouse.com:8080/code/cambozola/index.html})
        \item Motion - Wird zur "Uberwachung der Kameras ben"otigt.\\
            (\url{http://www.lavrsen.dk/twiki/bin/view/Motion/WebHome})
        \item MotionCGI - Wird f"ur den Webbrower-Zugriff auf die Kameras ben"otigt.\\
            (\url{http://www.lavrsen.dk/twiki/bin/view/Motion/MotionCGI})
        \item MotionBrowser - Alternative Oberfl"ache f"ur den Webbrower-Zugriff
            auf die Kameras.\\
            (\url{http://www.lavrsen.dk/foswiki/bin/view/Motion/MotionBrowser})
    \end{itemize}


\section{Die Voraussetzungen}

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


\section{Die Installation}

    Das Motion-Paket wird "uber das Setup-Men"u installiert. Wird eine "altere
    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"otigten Programme gestartet.\\
    \hinweis{Sollte bei der Installation ein Usbcam-Paket gefunden werden, so
    auch dessen Konfiguration automatisch importiert.}


\section{Das Men"u im Setup-Programm}

    Das Men"u im Setup-Programm ist wie folgt aufgebaut:

    \begin{itemize}
        \item Motion administration
        \begin{itemize}
            \item View documentation: Anzeigen der Dokumentation
            \item Edit configuration: Bearbeiten der Konfiguration
            \item Advanced configuration file handling: Konfigurationen verwalten
            \item Show status: Status der Motion-Komponenten anzeigen
            \item Stop Motion services: Alle Motion-Komponenten anhalten
            \item Start Motion services: Alle Motion-Komponenten starten
            \item Stop Motion kernel modules: Motion-Kernelmodule entladen
            \item Force motion web file update: Motion-CGI-Dateien aktualisieren
            \item View motion log entries: Motion-Logdatei anzeigen
            \item Return: Untermen"u verlassen
        \end{itemize}
    \end{itemize}

    Die Men"upunkte d"urften selbsterkl"arend sein, da sie keinerlei weitere
    Eingaben erwarten. Deshalb wird auf deren Funktion nicht weiter eingegangen.


\section{Die "Anderung der Konfiguration}

    Die Konfiguration kann "uber den Men"upunkt 'Edit configuration' ge"andert
    werden. Standardm"a"sig wird der Editor aufgerufen, der in der
    Environment-Konfiguration "uber die Variable 'EDITOR' festgelegt wurde.
    Nachdem der Editor beendet wurde wird abgefragt, ob die Konfiguration
    aktiviert werden soll. Wird dies best"atigt, werden "uber ein Skript die
    Anpassungen umgehend wirksam gemacht.


\section{Die Konfigurationsdatei}

    In der Konfigurationsdatei, die "uber das Men"u zug"anglich ist, sind
    folgende Parameter vorhanden; wer sie von Hand editieren will findet
    sie unter /etc/config.d/motion.


\subsection{Die Parameter}

\begin{description}
    \config{START\_MOTION}{START\_MOTION}{STARTMOTION}
        F"ur die Aktivierung des Motion-Paketes muss diese Parameter lediglich
        auf den Wert 'yes' gestellt werden. Die Einstellung 'no' deaktiviert
        das Motion-Paket.

        G"ultige Werte: yes, no

        Standardeinstellung: \texttt{START\_MOTION='no'}

    \config{MOTION\_SETUPMODE\_ENABLED}{MOTION\_SETUPMODE\_ENABLED}{MOTIONSETUPMODEENABLED}
        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"andert,
        welcher Bild"anderungen im Graut"onen anzeigt.\\
        Zus"atzlich werden folgende Information "uber die automatische
        Bilderkennung angezeigt:

        D: - Differenzz"ahler\\
        L: - Gesamtanzahl der Labels\\
        N: - Pegel des Bildrauschens

        Wird zus"atzlich noch der Parameter MOTION\_DO\_DEBUG='yes' gesetzt,
        so startet der Prozess im Vordergrund und es werden detaillierte
        Meldungen auf dem Bildschirm ausgegeben.

        G"ultige Werte: yes, no

        Standardeinstellung: \texttt{MOTION\_SETUPMODE\_ENABLED='no'}

    \config{MOTION\_COMMAND\_PRESTART}{MOTION\_COMMAND\_PRESTART}{MOTIONCOMMANDPRESTART}
        "Uber diesen Parameter kann ein optionales Skript festgelegt werden,
        welches vor dem Start des Motion-Prozesses ausgef"uhrt werden soll.

        G"ultige Werte: Skriptname inkl. absoluter Pfadangabe

        Standardeinstellung: \texttt{MOTION\_COMMAND\_PRESTART=$''$}

    \config{MOTION\_COMMAND\_POSTSTART}{MOTION\_COMMAND\_POSTSTART}{MOTIONCOMMANDPOSTSTART}
        "Uber diesen Parameter kann ein optionales Skript festgelegt werden,
        welches nach dem Start des Motion-Prozesses ausgef"uhrt werden soll.

        G"ultige Werte: Skriptname inkl. absoluter Pfadangabe

        Standardeinstellung: \texttt{MOTION\_COMMAND\_POSTSTART=$''$}

    \config{MOTION\_MODULES\_N}{MOTION\_MODULES\_N}{MOTIONMODULESN}
        "Uber 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"ur den Zugriff auf eine USB-Kamera ben"otigt werden.

        G"ultige Werte: Zahl

        Standardeinstellung: \texttt{MOTION\_MODULES\_N='3'}

    \config{MOTION\_MODULES\_x\_ACTIVE}{MOTION\_MODULES\_x\_ACTIVE}{MOTIONMODULESxACTIVE}
        Wird dieser Parameter auf den Wert 'yes' gesetzt, so wird das
        zugeh"orige Modul aktiviert, 'no' deaktiviert es.

        G"ultige Werte: yes oder no

        Beispiel: \texttt{MOTION\_MODULES\_1\_ACTIVE='no'}

    \config{MOTION\_MODULES\_x\_NAME}{MOTION\_MODULES\_x\_NAME}{MOTIONMODULESxNAME}
        "Uber diesen Parameter legt man den Namen eines Kernelmoduls fest,
        welches geladen werden soll.

        G"ultige Werte: Name eines Kernelmoduls

        Beispiel: \texttt{MOTION\_MODULES\_1\_NAME='pwc'}

    \config{MOTION\_MODULES\_x\_OPTIONS}{MOTION\_MODULES\_x\_OPTIONS}{MOTIONMODULESxOPTIONS}
        "Uber diesen Parameter kann man optionale Modulparameter festlegen,
        welche beim Laden des Kernelmoduls verwendet werden sollen. Mittels
        des folgenden Kommandozeilenbefehls kann man sich die verf"ugbaren
        Modulparameter eines Moduls anzeigen lassen:

        modinfo <name-of-module>

        G"ultige Werte: G"ultige Modulparameter

        Beispiel: \texttt{MOTION\_MODULES\_1\_OPTIONS='fps=5'}

    \config{MOTION\_CONTROL\_PORT}{MOTION\_CONTROL\_PORT}{MOTIONCONTROLPORT}
        "Uber diesen Parameter legt man den TCP-Port f"ur den Zugriff auf
        die Konfigurationsweboberfl"ache des Motion-Prozesses fest.

        G"ultige Werte: TCP-Portnummer

        Standardeinstellung: \texttt{MOTION\_CONTROL\_PORT='8080'}

    \index{MOTION\_CONTROL\_PASS}
    \config{MOTION\_CONTROL\_USER / MOTION\_CONTROL\_PASS}{MOTION\_CONTROL\_USER}{MOTIONCONTROLUSER}
        "Uber diese Parameter legt man den Usernamen und das Kennwort f"ur den
        Zugriff auf die Weboberfl"ache fest.

        G"ultige Werte: Username und Kennwort

        Standardeinstellung:

        \texttt{MOTION\_CONTROL\_USER='admin'\\
                MOTION\_CONTROL\_PASS='geheim'}

    \config{MOTION\_CONTROL\_WEBGUI}{MOTION\_CONTROL\_WEBGUI}{MOTIONCONTROLWEBGUI}
        "Uber diesen Parameter legt man fest, ob eine Weboberfl"ache f"ur den
        komfortablen Zugriff auf die erzeugten Bild- und Videodateien installiert
        werden soll oder nicht. Es stehen folgende Optionen zur Auswahl:

        \begin{itemize}
            \item no - Es wird keine Weboberfl"ache installiert.\\
            \item motionbrowser - Es wird die MotionBrowser-Oberfl"ache installiert.\\
            \item motioncgi - Es wird die Motion-CGI-Oberfl"ache installiert.\\
        \end{itemize}

        G"ultige Werte: no, motionbrowser, motioncgi

        Standardeinstellung: \texttt{MOTION\_CONTROL\_WEBGUI='no'}
\end{description}

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

\begin{description}
    \config{MOTION\_SQL\_ENABLED}{MOTION\_SQL\_ENABLED}{MOTIONSQLENABLED}
        "Uber diesen Parameter wird die Datenbankunterst"utzung aktiviert,
        bzw. deaktiviert.

        G"ultige Werte: yes oder no

        Standardeinstellung: \texttt{MOTION\_SQL\_ENABLED='no'}

    \config{MOTION\_SQL\_USER}{MOTION\_SQL\_USER}{MOTIONSQLUSER}
        "Uber diesen Parameter wird der Datenbanknutzer festgelegt,
        welcher f"ur das Speichern der Daten verwendet werden soll.

        G"ultige Werte: SQL-Datenbanknutzer

        Beispiel: \texttt{MOTION\_SQL\_USER='sql-user'}

    \config{MOTION\_SQL\_PASS}{MOTION\_SQL\_PASS}{MOTIONSQLPASS}
        "Uber diesen Parameter wird das Kennwort des, "uber den Parameter
        \jump{MOTIONSQLUSER}{MOTION\_SQL\_USER} angegebenen Datenbanknutzer,
        festgelegt.

        G"ultige Werte: Kennwort

        Beispiel: \texttt{MOTION\_SQL\_PASS='sql-password'}

    \index{MOTION\_x\_SQL\_LOG\_IMAGE}
    \config{MOTION\_SQL\_DEF\_LOG\_IMAGE / MOTION\_x\_SQL\_LOG\_IMAGE}{MOTION\_SQL\_DEF\_LOG\_IMAGE}{MOTIONSQLDEFLOGIMAGE}
        "Uber diesen Parameter wird festgelegt, ob beim Speichern von
        JPEG-Bildern ein Eintrag in die Datenbank geschrieben werden
        soll.

        G"ultige Werte: yes oder no

        Standardeinstellung: \texttt{MOTION\_SQL\_DEF\_LOG\_IMAGE='yes'}

    \index{MOTION\_x\_SQL\_LOG\_SNAPSHOT}
    \config{MOTION\_SQL\_DEF\_LOG\_SNAPSHOT / MOTION\_x\_SQL\_LOG\_SNAPSHOT}{MOTION\_SQL\_DEF\_LOG\_SNAPSHOT}{MOTIONSQLDEFLOGSNAPSHOT}
        "Uber diesen Parameter wird festgelegt, ob beim Speichern eines
        Schnappschussbildern ein Eintrag in die Datenbank geschrieben werden
        soll.

        G"ultige Werte: yes oder no

        Standardeinstellung: \texttt{MOTION\_SQL\_DEF\_LOG\_SNAPSHOT='yes'}

    \index{MOTION\_x\_SQL\_LOG\_MOVIE}
    \config{MOTION\_SQL\_DEF\_LOG\_MOVIE / MOTION\_x\_SQL\_LOG\_MOVIE}{MOTION\_SQL\_DEF\_LOG\_MOVIE}{MOTIONSQLDEFLOGMOVIE}
        "Uber diesen Parameter wird festgelegt, ob beim Speichern einer
        Videodatei ein Eintrag in die Datenbank geschrieben werden soll.

        G"ultige Werte: yes oder no

        Standardeinstellung: \texttt{MOTION\_SQL\_DEF\_LOG\_MOVIE='yes'}

    \index{MOTION\_x\_SQL\_LOG\_TIMELAPS}
    \config{MOTION\_SQL\_DEF\_LOG\_TIMELAPS / MOTION\_x\_SQL\_LOG\_TIMELAPS}{MOTION\_SQL\_DEF\_LOG\_TIMELAPS}{MOTIONSQLDEFLOGTIMELAPS}
        "Uber diesen Parameter wird festgelegt, ob beim Speichern eines
        Zeitraffervideos ein Eintrag in die Datenbank geschrieben werden
        soll.

        G"ultige Werte: yes oder no

        Standardeinstellung: \texttt{MOTION\_SQL\_DEF\_LOG\_TIMELAPS='yes'}
\end{description}

    Um den Konfigurationsaufwand m"oglichst gering zu halten wird bei den
    nachfolgenden Parametern grunds"atzlich zwischen Standardparametern,
    welche mit MOTION\_DEF\_.. beginnen, und optionalen, individuellen Parameter,
    welche mit MOTION\_x\_..  beginnen, unterschieden. Individuelle Parameter
    "uberschreiben dabei immer die Standardparameter.


\begin{description}
    \index{MOTION\_x\_VIDEO\_FREQ}
    \config{MOTION\_DEF\_VIDEO\_FREQ / MOTION\_x\_VIDEO\_FREQ}{MOTION\_DEF\_VIDEO\_FREQ}{MOTIONDEFVIDEOFREQ}
        Falls man ein TV-Karte verwendet, welche die Konfiguration der
        Tuner-Frequenz unterst"utzt, kann man "uber diesen Parameter die
        zu verwendende Frequenz in kHz festlegen.

        G"ultige Werte: Frequenz in kHz

        Standardeinstellung: \texttt{MOTION\_DEF\_VIDEO\_FREQ='0'}

    \index{MOTION\_x\_VIDEO\_ROTATE}
    \config{MOTION\_DEF\_VIDEO\_ROTATE / MOTION\_x\_VIDEO\_ROTATE}{MOTION\_DEF\_VIDEO\_ROTATE}{MOTIONDEFVIDEOROTATE}
        "Uber 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"ultige Werte: 0, 90, 180, 270

        Standardeinstellung: \texttt{MOTION\_DEF\_VIDEO\_ROTATE='0'}

    \index{MOTION\_x\_VIDEO\_WIDTH}
    \config{MOTION\_DEF\_VIDEO\_WIDTH / MOTION\_x\_VIDEO\_WIDTH}{MOTION\_DEF\_VIDEO\_WIDTH}{MOTIONDEFVIDEOWIDTH}
        "Uber diesen Parameter legt man die Bildbreite in Bildpunkten fest.
        Der G"ultigkeitsbereich ist hierbei abh"angig von der verwendeten
        Kamera.

        G"ultige Werte: G"ultiger Bildpunktewert

        Standardeinstellung: \texttt{MOTION\_DEF\_VIDEO\_WIDTH='320'}

    \index{MOTION\_x\_VIDEO\_HEIGHT}
    \config{MOTION\_DEF\_VIDEO\_HEIGHT / MOTION\_x\_VIDEO\_HEIGHT}{MOTION\_DEF\_VIDEO\_HEIGHT}{MOTIONDEFVIDEOHEIGHT}
        "Uber diesen Parameter legt man die Bildh"ohe in Bildpunkten fest. Der
        G"ultigkeitsbereich ist hierbei abh"angig von der verwendeten
        Kamera.

        G"ultige Werte: G"ultiger Bildpunktewert

        Standardeinstellung: \texttt{MOTION\_DEF\_VIDEO\_HEIGHT='240'}

    \index{MOTION\_x\_VIDEO\_FRAMERATE}
    \config{MOTION\_DEF\_VIDEO\_FRAMERATE / MOTION\_x\_VIDEO\_FRAMERATE}{MOTION\_DEF\_VIDEO\_FRAMERATE}{MOTIONDEFVIDEOFRAMERATE}
        "Uber 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"ultige Werte: Zahl

        Standardeinstellung: \texttt{MOTION\_DEF\_VIDEO\_FRAMERATE='5'}

    \index{MOTION\_x\_VIDEO\_FRAMETIME}
    \config{MOTION\_DEF\_VIDEO\_FRAMETIME / MOTION\_x\_VIDEO\_FRAMETIME}{MOTION\_DEF\_VIDEO\_FRAMETIME}{MOTIONDEFVIDEOFRAMETIME}
        "Uber 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"ultige Werte: Zahl

        Standardeinstellung: \texttt{MOTION\_DEF\_VIDEO\_FRAMETIME='0'}

    \index{MOTION\_x\_VIDEO\_BRIGHTNESS}
    \config{MOTION\_DEF\_VIDEO\_BRIGHTNESS / MOTION\_x\_VIDEO\_BRIGHTNESS}{MOTION\_DEF\_VIDEO\_BRIGHTNESS}{MOTIONDEFVIDEOBRIGHTNESS}
        "Uber diesen Parameter kann Standardwert f"ur die Helligkeit einer
        Kamera eingestellt werden. Wird dem Helligkeitswert das
        Schl"usselwort '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"utzt.

        G"ultige Werte: Zahl mit optional vorangestelltem 'auto:'

        Standardeinstellung: \texttt{MOTION\_DEF\_VIDEO\_BRIGHTNESS='0'}

    \index{MOTION\_x\_VIDEO\_CONTRAST}
    \config{MOTION\_DEF\_VIDEO\_CONTRAST / MOTION\_x\_VIDEO\_CONTRAST}{MOTION\_DEF\_VIDEO\_CONTRAST}{MOTIONDEFVIDEOCONTRAST}
        "Uber diesen kann der Kontrast einer Kamera eingestellt werden.
        Wird der Wert '0' gesetzt, so wird diese Einstellung deaktiviert.

        G"ultige Werte: Zahl

        Standardeinstellung: \texttt{MOTION\_DEF\_VIDEO\_CONTRAST='0'}

    \index{MOTION\_x\_VIDEO\_SATURATION}
    \config{MOTION\_DEF\_VIDEO\_SATURATION / MOTION\_x\_VIDEO\_SATURATION}{MOTION\_DEF\_VIDEO\_SATURATION}{MOTIONDEFVIDEOSATURATION}
        "Uber diesen Parameter kann die Farbs"attigung einer Kamera
        eingestellt werden. Wird der Wert '0' gesetzt, so wird diese
        Einstellung deaktiviert.

        G"ultige Werte: Zahl

        Standardeinstellung: \texttt{MOTION\_DEF\_VIDEO\_SATURATION='0'}

    \index{MOTION\_x\_MOTION\_TRIGGER}
    \config{MOTION\_DEF\_MOTION\_TRIGGER / MOTION\_x\_MOTION\_TRIGGER}{MOTION\_DEF\_MOTION\_TRIGGER}{MOTIONDEFMOTIONTRIGGER}
        "Uber diesen Parameter legt man den Grenzwert der Bildpunkte"anderungen
        fest ab welchem eine Bewegung im Bild erkannt wird.

        G"ultige Werte: Zahl

        Standardeinstellung: \texttt{MOTION\_DEF\_MOTION\_TRIGGER='1500'}

    \index{MOTION\_x\_NOISE\_TUNE}
    \config{MOTION\_DEF\_MOTION\_NOISE\_TUNE / MOTION\_x\_NOISE\_TUNE}{MOTION\_DEF\_MOTION\_NOISE\_TUNE}{MOTIONDEFMOTIONNOISETUNE}
        "Uber diesen Parameter kann man einstellen ob versucht werden soll
        das Bildrauschen, welches die Bewegungserkennung beeinflussen kann,
        automatisch zu neutralisieren.

        G"ultige Werte: yes oder no

        Standardeinstellung: \texttt{MOTION\_DEF\_MOTION\_NOISE\_TUNE='yes'}

    \index{MOTION\_x\_MOTION\_NOISE\_LEVEL}
    \config{MOTION\_DEF\_MOTION\_NOISE\_LEVEL / MOTION\_x\_MOTION\_NOISE\_LEVEL}{MOTION\_DEF\_MOTION\_NOISE\_LEVEL}{MOTIONDEFMOTIONNOISELEVEL}
        "Uber diesen Parameter wird der Wert des Bildrauschens festgelegt,
        welcher bei der Bewegungserkennung ignoriert werden soll.
        Voraussetzung hierf"ur ist, dass der Parameter
        \jump{MOTIONDEFMOTIONNOISETUNE}{MOTION\_DEF\_MOTION\_NOISE\_TUNE='no'}
        gesetzt wurde.

        G"ultige Werte: Zahl

        Standardeinstellung: \texttt{MOTION\_DEF\_MOTION\_NOISE\_LEVEL='32'}

    \index{MOTION\_x\_MOTION\_LIGHTSWITCH}
    \config{MOTION\_DEF\_MOTION\_LIGHTSWITCH / MOTION\_x\_MOTION\_LIGHTSWITCH}{MOTION\_DEF\_MOTION\_LIGHTSWITCH}{MOTIONDEFMOTIONLIGHTSWITCH}
        "Uber diesen Parameter legt man fest ab welchem Prozentwert eine
        starke Lichtintensit"ats"anderung ignoriert werden soll. Wird der
        Wert '0' gesetzt, so wird diese Einstellung deaktiviert.

        G"ultige Werte: Zahl

        Standardeinstellung: \texttt{MOTION\_DEF\_MOTION\_LIGHTSWITCH='0'}

    \index{MOTION\_x\_MOTION\_FRAMES}
    \config{MOTION\_DEF\_MOTION\_FRAMES / MOTION\_x\_MOTION\_FRAMES}{MOTION\_DEF\_MOTION\_FRAMES}{MOTIONDEFMOTIONFRAMES}
        "Uber diesen Parameter legt man fest in wie viel aufeinander
        folgenden Bildern mindestens eine Bewegung vorliegen muss bevor
        diese als wirkliche Bewegung erkannt wird.\\
        Empfohlener Wertebereich: 1 - 10

        G"ultige Werte: Zahl

        Standardeinstellung: \texttt{MOTION\_DEF\_MOTION\_FRAMES='1'}

    \index{MOTION\_x\_MOTION\_PRECAPTURE}
    \config{MOTION\_DEF\_MOTION\_PRECAPTURE / MOTION\_x\_MOTION\_PRECAPTURE}{MOTION\_DEF\_MOTION\_PRECAPTURE}{MOTIONDEFMOTIONPRECAPTURE}
        "Uber diesen Parameter legt man die Anzahl der Bilder fest, welche
        gepuffert und bei einer Bewegungserkennung gespeichert bzw. einem
        Video vorangestellt werden sollen.\\
        Empfohlener Wertebereich: 0 - 5

        G"ultige Werte: Zahl

        Standardeinstellung: \texttt{MOTION\_DEF\_MOTION\_PRECAPTURE='0'}

    \index{MOTION\_x\_MOTION\_POSTCAPTURE}
    \config{MOTION\_DEF\_MOTION\_POSTCAPTURE / MOTION\_x\_MOTION\_POSTCAPTURE}{MOTION\_DEF\_MOTION\_POSTCAPTURE}{MOTIONDEFMOTIONPOSTCAPTURE}
        "Uber diesen Parameter legt man die Anzahl der Bild fest, welche
        noch nach dem Ende einer Bewegungserkennung gespeichert werden
        sollen.

        G"ultige Werte: Zahl

        Standardeinstellung: \texttt{MOTION\_DEF\_MOTION\_POSTCAPTURE='0'}

    \index{MOTION\_x\_MOTION\_ENDGAP}
    \config{MOTION\_DEF\_MOTION\_ENDGAP / MOTION\_x\_MOTION\_ENDGAP}{MOTION\_DEF\_MOTION\_ENDGAP}{MOTIONDEFMOTIONENDGAP}
        "Uber diesen Parameter legt man die Anzahl der Sekunden fest die
        nach einer Bewegungserkennung gewartet werden sollen bevor ein
        Ereignis angesto"sen werden soll. Wird der Wert '0' gesetzt, so
        werden alle Ereignisse deaktiviert und alle erkannten Bewegungen
        in eine MPEG-Videodatei geschrieben.

        G"ultige Werte: Zahl

        Standardeinstellung: \texttt{MOTION\_DEF\_MOTION\_ENDGAP='60'}

    \index{MOTION\_x\_MOTION\_LOCATE}
    \config{MOTION\_DEF\_MOTION\_LOCATE / MOTION\_x\_MOTION\_LOCATE}{MOTION\_DEF\_MOTION\_LOCATE}{MOTIONDEFMOTIONLOCATE}
        "Uber 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"ultige Werte: yes oder no

        Standardeinstellung: \texttt{MOTION\_DEF\_MOTION\_LOCATE='no'}

    \index{MOTION\_x\_MASK\_FILE}
    \config{MOTION\_DEF\_MASK\_FILE / MOTION\_x\_MASK\_FILE}{MOTION\_DEF\_MASK\_FILE}{MOTIONDEFMASKFILE}
        "Uber 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"ussen wei"s eingef"arbt, die
        Bildbereiche die nicht zur Bewegungserkennung herangezogen werden
        schwarz eingef"arbt werden. Ein solches Bild muss exakt die
        gleiche Gr"o"se 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"ost. Details zur
        Erstellung eines solchen Bildes kann man hier nachlesen:\\
        \url{http://www.lavrsen.dk/twiki/bin/view/Motion/ConfigOptionMaskFile}

        G"ultige Werte: Dateiname

        Standardeinstellung: \texttt{MOTION\_DEF\_MASK\_FILE=$''$}

    \index{MOTION\_x\_MASK\_SPEED}
    \config{MOTION\_DEF\_MASK\_SPEED / MOTION\_x\_MASK\_SPEED}{MOTION\_DEF\_MASK\_SPEED}{MOTIONDEFMASKSPEED}
        "Uber diesen Parameter kann man festlegen ob dynamisch versucht
        werden soll eine Empfindlichkeitsmaske, siehe auch Parameter
        \jump{MOTIONDEFMASKFILE}{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"ultige Werte: Zahl

        Standardeinstellung: \texttt{MOTION\_DEF\_MASK\_SPEED='0'}

    \index{MOTION\_x\_TEXT\_LEFT}
    \config{MOTION\_DEF\_TEXT\_LEFT / MOTION\_x\_TEXT\_LEFT}{MOTION\_DEF\_TEXT\_LEFT}{MOTIONDEFTEXTLEFT}
        "Uber diesen Parameter legt man den Text fest, welcher in der
        unteren linken Ecke eines Bildes eingef"ugt werden soll. Im Text
        k"onnen verschieden Platzhalter eingef"ugt werden, die zur Laufzeit
        gef"ullt werden.
        Eine "Ubersicht findet man im Absatz \jump{ListevonPlatzhalterninDateinamen}{'Platzhalter'}.

        G"ultige Werte: Text

        Standardeinstellung: \texttt{MOTION\_DEF\_TEXT\_LEFT='CAMERA \%t'}

    \index{MOTION\_x\_TEXT\_RIGHT}
    \config{MOTION\_DEF\_TEXT\_RIGHT / MOTION\_x\_TEXT\_RIGHT}{MOTION\_DEF\_TEXT\_RIGHT}{MOTIONDEFTEXTRIGHT}
        "Uber diesen Parameter legt man den Text fest, welcher in der
        unteren rechten Ecke eines Bildes eingef"ugt werden soll. Im Text
        k"onnen verschieden Platzhalter eingef"ugt werden, die zur Laufzeit
        gef"ullt werden.
        Eine "Ubersicht findet man im Absatz \jump{ListevonPlatzhalterninDateinamen}{'Platzhalter'}.

        G"ultige Werte: Text

        Standardeinstellung: \texttt{MOTION\_DEF\_TEXT\_RIGHT='\%Y-\%m-\%d\\n\%T-\%q'}

    \index{MOTION\_x\_TEXT\_SIZE}
    \config{MOTION\_DEF\_TEXT\_SIZE / MOTION\_x\_TEXT\_SIZE}{MOTION\_DEF\_TEXT\_SIZE}{MOTIONDEFTEXTSIZE}
        "Uber diesen Parameter l"asst sich einstellen, ob die mittels der
        Parameter \jump{MOTIONDEFTEXTLEFT}{MOTION\_DEF\_TEXT\_LEFT}
        und \jump{MOTIONDEFTEXTRIGHT}{MOTION\_DEF\_TEXT\_RIGHT}
        konfigurierten Texte in doppelter Schriftgr"o"se dargestellt
        werden sollen oder nicht.

        G"ultige Werte: normal oder double

        Standardeinstellung: \texttt{MOTION\_DEF\_TEXT\_SIZE='normal'}

    \index{MOTION\_x\_CAPTURE\_IMAGE}
    \config{MOTION\_DEF\_CAPTURE\_IMAGE / MOTION\_x\_CAPTURE\_IMAGE}{MOTION\_DEF\_CAPTURE\_IMAGE}{MOTIONDEFCAPTUREIMAGE}
        "Uber diesen Parameter legt man fest, ob eine JPEG Bilddateien
        beim Auftreten eines Ereignisses angelegt werden soll oder nicht.
        Wird der Wert 'first' ausgew"ahlt, so wird nur das erste Bild
        eines Ereignisses gespeichert. Wird der Wert 'best' ausgew"ahlt,
        so wird nur das Bild mit dem gr"o"sten Bewegungsanteil gespeichert.
        Wird der Wert 'no' gew"ahlt, so werden keine Bilddateien gespeichert.\\
        \hinweis{Die Bilddateien werden immer in einem Verzeichnis unter
                 \$APACHE2\_DOCUMENT\_ROOT/motion/camera-[index] gespeichert}

        G"ultige Werte: yes, first, best oder no

        Standardeinstellung: \texttt{MOTION\_DEF\_CAPTURE\_IMAGE='yes'}

    \index{MOTION\_x\_CAPTURE\_ALL}
    \config{MOTION\_DEF\_CAPTURE\_ALL / MOTION\_x\_CAPTURE\_ALL}{MOTION\_DEF\_CAPTURE\_ALL}{MOTIONDEFCAPTUREALL}
        "Uber diesen Parameter legt man fest, ob auch dann ein Bild oder
        ein Video aufgezeichnet werden soll wenn keine Bewegung erkannt
        wurde.

        G"ultige Werte: yes or no

        Standardeinstellung: \texttt{MOTION\_DEF\_CAPTURE\_ALL='no'}

    \index{MOTION\_x\_CAPTURE\_SNAPSHOT}
    \config{MOTION\_DEF\_CAPTURE\_SNAPSHOT / MOTION\_x\_CAPTURE\_SNAPSHOT}{MOTION\_DEF\_CAPTURE\_SNAPSHOT}{MOTIONDEFCAPTURESNAPSHOT}
        "Uber diesen Parameter legt man fest, nach wie viel Sekunden
        jeweils ein Schnappschuss angelegt werden soll. Stellt man dem
        Zahlenwert das Schl"usselwort 'single:' voran, so wird genau
        ein Bild mit Namen 'snapshot.jpg' pro Intervall angelegt.
        Wird nur ein Zahlenwert angegeben, so werden individuelle
        Schnappsch"usse 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"ultige Werte: Zahl mit optional vorangestelltem 'single:'

        Standardeinstellung: \texttt{MOTION\_DEF\_CAPTURE\_SNAPSHOT='0'}

    \index{MOTION\_x\_CAPTURE\_QUALITY}
    \config{MOTION\_DEF\_CAPTURE\_QUALITY / MOTION\_x\_CAPTURE\_QUALITY}{MOTION\_DEF\_CAPTURE\_QUALITY}{MOTIONDEFCAPTUREQUALITY}
        "Uber diesen Parameter legt man die JPEG-Qualit"at in Prozent fest.
        Bei einem Wert von 100\% wird die erzeugte Bilddatei kaum
        komprimiert und die h"ochste Bildqualit"at erzielt, bei kleineren
        Werten wird zu Lasten der Bildqualit"at h"oher komprimiert.

        G"ultige Werte: Zahl

        Standardeinstellung: \texttt{MOTION\_DEF\_CAPTURE\_QUALITY='75'}

    \index{MOTION\_x\_CAPTURE\_MOVIE}
    \config{MOTION\_DEF\_CAPTURE\_MOVIE / MOTION\_x\_CAPTURE\_MOVIE}{MOTION\_DEF\_CAPTURE\_MOVIE}{MOTIONDEFCAPTUREMOVIE}
        "Uber 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"ultige Werte: yes oder no

        Standardeinstellung: \texttt{MOTION\_DEF\_CAPTURE\_MOVIE='no'}

    \index{MOTION\_x\_CAPTURE\_LENGTH}
    \config{MOTION\_DEF\_CAPTURE\_LENGTH / MOTION\_x\_CAPTURE\_LENGTH}{MOTION\_DEF\_CAPTURE\_LENGTH}{MOTIONDEFCAPTURELENGTH}
        "Uber diesen Parameter legt man die maximale L"ange eines
        MPEG-Videos in Sekunden fest. Wird dieser Wert "uberschritten wird
        eine neue Datei angelegt. Wird der Wert '0' gesetzt, so wird
        diese Einstellung deaktiviert.

        G"ultige Werte: Zahl

        Standardeinstellung: \texttt{MOTION\_DEF\_CAPTURE\_LENGTH='0'}

    \index{MOTION\_x\_CAPTURE\_TIMELAPS}
    \config{MOTION\_DEF\_CAPTURE\_TIMELAPS / MOTION\_x\_CAPTURE\_TIMELAPS}{MOTION\_DEF\_CAPTURE\_TIMELAPS}{MOTIONDEFCAPTURETIMELAPS}
        "Uber diesen Parameter legt man fest, nach wie viel Sekunden
        jeweils ein Schnappschuss f"ur ein Zeitraffervideo angelegt
        werden soll. Wird der Wert '0' gesetzt, so wird diese Einstellung
        deaktiviert.

        G"ultige Werte: Zahl

        Standardeinstellung: \texttt{MOTION\_DEF\_CAPTURE\_TIMELAPS='0'}

    \index{MOTION\_x\_CAPTURE\_CODEC}
    \config{MOTION\_DEF\_CAPTURE\_CODEC / MOTION\_x\_CAPTURE\_CODEC}{MOTION\_DEF\_CAPTURE\_CODEC}{MOTIONDEFCAPTURECODEC}
        "Uber diesen Parameter legt man den Video-Codec fest welcher f"ur
        die Videokompression verwendet werden soll. Zeitraffervideos
        werden grunds"atzlich im MPEG1-Format aufgezeichnet.

        G"ultige Werte: mpeg4, msmpeg4, swf, flv, ffv1, mov

        Standardeinstellung: \texttt{MOTION\_DEF\_CAPTURE\_CODEC='msmpeg4'}

    \index{MOTION\_x\_WEBCAM\_PORT}
    \config{MOTION\_DEF\_WEBCAM\_PORT / MOTION\_x\_WEBCAM\_PORT}{MOTION\_DEF\_WEBCAM\_PORT}{MOTIONDEFWEBCAMPORT}
        "Uber diesen Parameter wird der TCP-Port angegeben "uber welchen
        der Kameraserver erreicht werden kann.

        G"ultige Werte: TCP-Port

        Standardeinstellung: \texttt{MOTION\_DEF\_WEBCAM\_PORT='8081'}

    \index{MOTION\_x\_WEBCAM\_MOTION}
    \config{MOTION\_DEF\_WEBCAM\_MOTION / MOTION\_x\_WEBCAM\_MOTION}{MOTION\_DEF\_WEBCAM\_MOTION}{MOTIONDEFWEBCAMMOTION}
        "Uber 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
        "uber den Parameter MOTION\_DEF\_WEBCAM\_FRAMERATE gesetzte
        Maximalwert verwendet.

        G"ultige Werte: yes oder no

        Standardeinstellung: \texttt{MOTION\_DEF\_WEBCAM\_MOTION='no'}

    \index{MOTION\_x\_WEBCAM\_FRAMERATE}
    \config{MOTION\_DEF\_WEBCAM\_FRAMERATE / MOTION\_x\_WEBCAM\_FRAMERATE}{MOTION\_DEF\_WEBCAM\_FRAMERATE}{MOTIONDEFWEBCAMFRAMERATE}
        "Uber diesen Parameter kann die maximale Bildrate einer Kamera
        festgelegt werden. Dieser Wert sollte nicht zu hoch gesetzt
        werden solange der Zugriff nicht "uber das lokale Netzwerk
        erfolgt.

        G"ultige Werte: Zahl

        Standardeinstellung: \texttt{MOTION\_DEF\_WEBCAM\_FRAMERATE='1'}
\end{description}


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


\begin{description}
    \index{MOTION\_x\_ON\_CAMERALOST}
    \config{MOTION\_DEF\_ON\_CAMERALOST / MOTION\_x\_ON\_CAMERALOST}{MOTION\_DEF\_ON\_CAMERALOST}{MOTIONDEFONCAMERALOST}
        "Uber diesen Parameter kann ein Skript angegeben werden welches
        ausgef"uhrt wird wenn keine Verbindung zur Kamera aufgebaut
        werden kann oder diese verloren geht. Im Dateinamen k"onnen
        verschieden Platzhalter eingef"ugt werden, die zur Laufzeit
        gef"ullt werden.
        Eine "Ubersicht findet man im Absatz \jump{ListevonPlatzhalterninDateinamen}{'Platzhalter'}.

        G"ultige Werte: Dateiname

        Standardeinstellung: \texttt{MOTION\_DEF\_ON\_CAMERALOST=$''$}

    \index{MOTION\_x\_ON\_EVENTSTART}
    \config{MOTION\_DEF\_ON\_EVENTSTART / MOTION\_x\_ON\_EVENTSTART}{MOTION\_DEF\_ON\_EVENTSTART}{MOTIONDEFONEVENTSTART}
        "Uber diesen Parameter kann ein Skript angegeben werden welches
        ausgef"uhrt wird wenn ein Ereignis eintritt. Im Dateinamen k"onnen
        verschieden Platzhalter eingef"ugt werden, die zur Laufzeit
        gef"ullt werden.
        Eine "Ubersicht findet man im Absatz \jump{ListevonPlatzhalterninDateinamen}{'Platzhalter'}.

        G"ultige Werte: Dateiname

        Standardeinstellung: \texttt{MOTION\_DEF\_ON\_EVENTSTART=$''$}

    \index{MOTION\_x\_ON\_EVENTEND}
    \config{MOTION\_DEF\_ON\_EVENTEND / MOTION\_x\_ON\_EVENTEND}{MOTION\_DEF\_ON\_EVENTEND}{MOTIONDEFONEVENTEND}
        "Uber diesen Parameter kann ein Skript angegeben werden welches
        ausgef"uhrt wird wenn ein Ereignis endet. Im Dateinamen k"onnen
        verschieden Platzhalter eingef"ugt werden, die zur Laufzeit
        gef"ullt werden.
        Eine "Ubersicht findet man im Absatz \jump{ListevonPlatzhalterninDateinamen}{'Platzhalter'}.

        G"ultige Werte: Dateiname

        Standardeinstellung: \texttt{MOTION\_DEF\_ON\_EVENTEND=$''$}

    \index{MOTION\_x\_ON\_MOTIONDETECT}
    \config{MOTION\_DEF\_ON\_MOTIONDETECT / MOTION\_x\_ON\_MOTIONDETECT}{MOTION\_DEF\_ON\_MOTIONDETECT}{MOTIONDEFONMOTIONDETECT}
        "Uber diesen Parameter kann ein Skript angegeben werden welches
        ausgef"uhrt wird sobald eine Bewegung erkannt wird. Im Dateinamen
        k"onnen verschieden Platzhalter eingef"ugt werden, die zur Laufzeit
        gef"ullt werden.
        Eine "Ubersicht findet man im Absatz \jump{ListevonPlatzhalterninDateinamen}{'Platzhalter'}.

        G"ultige Werte: Dateiname

        Standardeinstellung: \texttt{MOTION\_DEF\_ON\_MOTIONDETECT=$''$}

    \index{MOTION\_x\_ON\_MOVIESTART}
    \config{MOTION\_DEF\_ON\_MOVIESTART / MOTION\_x\_ON\_MOVIESTART}{MOTION\_DEF\_ON\_MOVIESTART}{MOTIONDEFONMOVIESTART}
        "Uber diesen Parameter kann ein Skript angegeben werden welches
        ausgef"uhrt wird sobald eine Videodatei angelegt wird. Im Dateinamen
        k"onnen verschieden Platzhalter eingef"ugt werden, die zur Laufzeit
        gef"ullt werden.
        Eine "Ubersicht findet man im Absatz \jump{ListevonPlatzhalterninDateinamen}{'Platzhalter'}.

        G"ultige Werte: Dateiname

        Standardeinstellung: \texttt{MOTION\_DEF\_ON\_MOVIESTART=$''$}

    \index{MOTION\_x\_ON\_MOVIEEND}
    \config{MOTION\_DEF\_ON\_MOVIEEND / MOTION\_x\_ON\_MOVIEEND}{MOTION\_DEF\_ON\_MOVIEEND}{MOTIONDEFONMOVIEEND}
        "Uber diesen Parameter kann ein Skript angegeben werden welches
        ausgef"uhrt wird sobald eine Videodatei geschlossen wird. Im Dateinamen
        k"onnen verschieden Platzhalter eingef"ugt werden, die zur Laufzeit
        gef"ullt werden.
        Eine "Ubersicht findet man im Absatz \jump{ListevonPlatzhalterninDateinamen}{'Platzhalter'}.

        G"ultige Werte: Dateiname

        Standardeinstellung: \texttt{MOTION\_DEF\_ON\_MOVIEEND=$''$}

    \index{MOTION\_x\_ON\_PICTURESAVE}
    \config{MOTION\_DEF\_ON\_PICTURESAVE / MOTION\_x\_ON\_PICTURESAVE}{MOTION\_DEF\_ON\_PICTURESAVE}{MOTIONDEFONPICTURESAVE}
        "Uber diesen Parameter kann ein Skript angegeben werden welches
        ausgef"uhrt wird sobald eine Bild abgespeichert wurde. Im
        Dateinamen k"onnen verschieden Platzhalter eingef"ugt werden, die
        zur Laufzeit gef"ullt werden.
        Eine "Ubersicht findet man im Absatz \jump{ListevonPlatzhalterninDateinamen}{'Platzhalter'}.

        G"ultige Werte: Dateiname

        Standardeinstellung: \texttt{MOTION\_DEF\_ON\_PICTURESAVE=$''$}

    \config{MOTION\_N}{MOTION\_N}{MOTIONN}
        "Uber diesen Parameter wird die Anzahl der Videoger"ate/Kameras
        festgelegt.

        G"ultige Werte: Zahl

        Standardeinstellung: \texttt{MOTION\_N='1'}

    \config{MOTION\_x\_ACTIVE}{MOTION\_x\_ACTIVE}{MOTIONxACTIVE}
        Wird dieser Parameter auf den Wert 'yes' gesetzt, so wird das
        zugeh"orige Konfiguration aktiviert, 'no' deaktiviert sie.

        G"ultige Werte: yes oder no

        Beispiel: \texttt{MOTION\_1\_ACTIVE='no'}

    \config{MOTION\_x\_VIDEO\_DEVICE}{MOTION\_x\_VIDEO\_DEVICE}{MOTIONxVIDEODEVICE}
        "Uber diesen Parameter wird das Videoger"at konfiguriert von
        welchem Daten aufgezeichnet werden sollen.

        G"ultige Werte: Videoger"at

        Standardeinstellung: \texttt{MOTION\_1\_VIDEO\_DEVICE='/dev/video0'}

    \config{MOTION\_x\_VIDEO\_INPUT}{MOTION\_x\_VIDEO\_INPUT}{MOTIONxVIDEOINPUT}
        "Uber diesen Parameter wird der Engangskanal des Videoger"ates
        festgelegt. Folgende Werte k"onnen gesetzt werden:

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

        G"ultige Werte: Zahl

        Standardeinstellung: \texttt{MOTION\_1\_VIDEO\_INPUT='8'}

    \config{MOTION\_x\_NETCAM\_URL}{MOTION\_x\_NETCAM\_URL}{MOTIONxNETCAMURL}
        "Uber diesen Parameter kann eine URL zu einer ladbaren JPEG-Datei
        oder einem MJPEG-Stream einer IP-Kamera angegeben werden.

        G"ultige Werte: URL

        Standardeinstellung: \texttt{MOTION\_1\_NETCAM\_URL=$''$}

    \index{MOTION\_x\_NETCAM\_PASS}
    \config{MOTION\_x\_NETCAM\_USER / MOTION\_x\_NETCAM\_PASS}{MOTION\_x\_NETCAM\_USER}{MOTIONxNETCAMUSER}
        "Uber diese Parameter legt man den Usernamen und das Kennwort f"ur
        den Zugriff auf die IP-Kamera fest.

        G"ultige Werte: Username und Kennwort

        Standardeinstellung:

        \texttt{MOTION\_1\_NETCAM\_USER=''\\
                MOTION\_1\_NETCAM\_PASS=''}
\end{description}


\section{Verschiedenes}

\begin{description}
    \config{Apache2-Konfiguration anpassen}{Apache2-Konfiguration anpassen}{Apache2-Konfigurationanpassen}
        Neben der f"ur administrative Zwecke gedachten Weboberfl"ache (Siehe
        Parameter \jump{MOTIONCONTROLPORT}{MOTION\_CONTROL\_..}) gibt es noch
        die M"oglichkeit "uber eine einfache Weboberfl"ache auf die
        gespeicherten Bild- und Filmdateien, sowie die Kamerabilder direkt
        zuzugreifen.
        F"ur den Zugriff ist jedoch eine Anpassung der Apache2-Konfiguration
        notwendig, damit zu zugeh"origen CGI-Skripte korrekt ausgef"uhrt werden.
        Folgende "Anderungen erm"oglichen z.B. den Zugriff mittels der URL
        \url{http://<eisfair-server>/motion/motion.cgi}:

        \texttt{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'}

    \config{Axis 2100 / Axis 207}{Axis 2100 / Axis 207}{Axis2100/Axis207}
        Den Zugriff auf die genannten Kameras konnte ich durch die
        folgende Konfiguration erm"oglichen:

        \texttt{MOTION\_1\_NETCAM\_URL='http://<camera-name>/axis-cgi/mjpg/video.cgi'\\
                MOTION\_1\_VIDEO\_WIDTH='640'\\
                MOTION\_1\_VIDEO\_HEIGHT='480'}

    \config{Axis 207W "uber SSL-Tunnel und mit Authentifizierung}{Axis 207W "uber SSL-Tunnel und mit Authentifizierung}{Axis207WueberSSL-Tunnel}
        Den SSL-gesicherten Zugriff auf die genannte Kamera konnte ich durch
        die folgende Konfiguration, unter unter zu Hilfenahme des Stunnel-Paketes
        erm"oglichen. Weitere Informationen zur Konfiguration des Stunnel-Paketes
        findet man selbstverst"andlich in der Stunnel-Dokumentation:

        \texttt{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'}

    \config{Logitech Quickcam Messenger USB}{Logitech Quickcam Messenger USB}{LogitechQuickcamMessengerUSB}
        Den Zugriff auf die genannte Kamera konnte ich durch die
        folgende Konfiguration erm"oglichen:

        \texttt{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'}

    \config{Creative Webcam II (parallel)}{Creative Webcam II}{CreativeWebcamII}
        Den Zugriff auf die genannte Kamera konnte ich durch die
        folgende Konfiguration erm"oglichen:

        \texttt{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'}

    \config{Ereignisbenachrichtigung versenden}{Ereignisbenachrichtigung versenden}{Ereignisbenachrichtigungversenden}
        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"onnen muss eine spezielle
        motionmail-Konfigurationsdatei bearbeitet und m"ussen zwei
        Parameter der motion-Konfiguration angepasst werden.

        \begin{itemize}
            \item 1 - Man benennt die mitgelieferte Datei motionmail.conf.EXAMPLE
                      in motionmail.conf (oder auch in motionmail-<Instanz>.conf)
                      um und passt dann die darin enthaltenen Einstellungen (send\_to,
                      file\_dir, server\_url, app\_email, monday - sunday) den eigenen
                      W"unschen an.

            \item 2 - Nun "offnet man die Konfiguration des motion-Paketes und
                      erg"anzt die folgenden beiden Parameter:\\

                      \texttt{MOTION\_2\_ON\_EVENSTART='motionmail.pl -start -e \%v -i \%t -t \%s -q'\\
                              MOTION\_2\_ON\_EVENTEND='motionmail.pl -end -e \%v -i \%t -q'}
        \end{itemize}

    \config{Liste von Platzhaltern in Dateinamen}{Liste von Platzhaltern in Dateinamen}{ListevonPlatzhalterninDateinamen}
        Die folgenden Platzhalter k"onnen in Dateinamen oder in den Feldern
        \jump{MOTIONDEFTEXTLEFT}{MOTION\_DEF\_TEXT\_LEFT} und
        \jump{MOTIONDEFTEXTRIGHT}{MOTION\_DEF\_TEXT\_RIGHT} verwendet werden:

        \begin{tabular}[ht]{|c|l|}
            \hline
            Platzhalter & Beschreibung\\
            \hline
            \%a & Abgek"urzter Wochenname\\
            \%A & Vollst"andiger Wochenname\\
            \%b & Abgek"urzter Monatsname\\
            \%B & Vollst"andiger Monatsname\\
            \%c & Bevorzugtes Datums- und Zeitformat\\
            \%d & Tag des Monats (Bereich 01 bis 31)\\
            \%D & Anzahl der von Motion erkannten Bildpunkte"anderungen\\
            \%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"anderungen erkannt wurden\\
            \%I & Stunde im 12h-Format (Bereich 01 bis 12)\\
            \%j & Tag des Jahres (Bereich 001 bis 366)\\
            \%J & H"ohe des Rechtecks in welchem Bildpunkte"anderungen erkannt wurden\\
            \%k & Stunde im 24h-Format (Bereich 0 bis 23)\\
            \%K & X-Koordinate der Bildpunkte"anderungen (Bezugspunkt: obere linke Ecke)\\
            \%l & Stunde im 12h-Format (Bereich 1 bis 12)\\
            \%L & Y-Koordinate der Bildpunkte"anderungen (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"otigt werden\\
            \%p & 'AM' oder 'PM' in Bezug auf die aktuelle Uhrzeit\\
            \%P & 'am' oder 'pm' in Bezug auf die aktuelle Uhrzeit\\
            \%q & Rahmennummer eines Bildes 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"urzung\\
            \hline
        \end{tabular}
\end{description}
