Nistkasten Kamera: Einrichten einer Webcam mit Motion

Hier habe ich ja beschrieben wie die momentan eingesetzte Scharzweiss Infrarot Kamera unter Ubuntu eingerichtet und mit MPlayer getestet wurde. Der nächste Schritt ist zeitgesteuert Snapshots zu erstellen und diese dann auf meinem Blog Server zu transferieren. Implementiert habe ich das mit Motion. Zuerst installieren und konfigurieren wir die Software Motion und richten dann den Transfer auf den Web Server ein.

Installation und Konfiguration:

Die Installation von Motion ist recht einfach. Zuerst wird es mit apt-get installiert und dann über eine einzelne Konfigurationsdatei eingerichtet.

sudo apt-get install motion

vi /etc/motion/motion.conf
    # device einstellungen
    videodevice /dev/easycap0
    # webzugriff auch an anderen rechnern
    webcam_localhost off
    control_localhost off
    # hoehe und breite des bilder
    width 720
    height 576
    #eingeblendeter Text
    text_left MEISEN-CAM
    # Ich möchte alle 10 minute ein Bild haben
    snapshot_interval 600
    # und nicht jedesmal wenn sich was bewegt.
    output_normal off
    # und damit die bilder auf der Festplatte nicht alle in einer Datei landen
    jpeg_filename %Y%m%d/meisen-cam-%v-%Y%m%d%H%M%S-%q

Damit es auch automatisch gestartet wird

vi /etc/default/motion
start_motion_daemon=yes

Da auf meinem Rechner die Rechte auf den Video Devices (noch) nicht richtig gesetzt sind musste ich das Wechseln der Userid noch wegklemmen und dann starten

vi /etc/init.d/motion
  
  #if start-stop-daemon --start --oknodo --exec $DAEMON -b --chuid motion ; then
  if start-stop-daemon --start --oknodo --exec $DAEMON -b  ; then

/etc/init.d/motion start

Es wird also im angegeben Zeitraum ein Snapshot Bild gemacht und im angegebnen Verzeichniss gespeichert. Gleichzeit wird immer eine Datei lastsnap.jpg angelegt. Diese verweist immer auf die letzte Datei.

Über einen Browser kann man dann das aktuelle Bild einsehen http://yourmachine:8081/

Jetzt möchte ich aber in meinem Fall das Bild extern bereitstellen und zwar auf dem Server auf dem auch mein Blog läuft. Auf dem Zielserver wird dem root user mittels public key Authentifizierung erlaubt welche Kommandos er mit ssh ausführen darf. So kann ich das Bild dann auf meinen Webserver "an die richtige stelle" kopieren.

vi /etc/motion/motion.conf
on_picture_save dd if=%f | ssh -p yourport yourserver.com dd of=/var/www/yourdirectory/meisen-image.jpg

(Bemerkung: ich weiss es gibt direktere Methoden mit scp aber ich habe es nur so geschaft diesen Befehl mit meinem Wrapper für autorisierte Befehle zu erlauben. Aber das ist eine andere Geschichte)

Dann muss ich das Bild nur noch auf einer Seite integrieren und fertig ist die Laube.