Linux-Magazin-Logo Die Zeitschrift für Linux-Professionals

Aus dem Alltag eines Sysadmin: Räume überwachen mit Motion

Wider den Fischzug

Charly Kühnast

Kommerzielle Raumüberwachungssysteme zeichnen sich durch hohe Preise und Wartungsverträge aus. Das sollte doch auch preisgünstig und trotzdem zuverlässig mit Linux zu lösen sein - und ist es auch.

Inhalt

62 | PHP für Syasdmins
Eigentlich taugt PHP nur fürs Web - aber auch für Admin-Skripte.

66 | Komfortabler Mailserver
Der Workshop zeigt, wie man Postfix, Cyrus-IMAP und MySQL vereint.

72 | Admin-Workshop
Locks sichern Programmen den exklusiven Zugriff auf Dateien.

Olli und Melanie, gute Freunde von mir, betreiben drei Einzelhandelsgeschäfte. In eins wurde wiederholt eingebrochen. Natürlich sind sie versichert, aber dass die Täter nicht zu schnappen waren, ärgert sie. Eine Videoüberwachung könnte helfen, doch solche Systeme sind kostspielig. Ob sie nicht mit einem alten PC und einer Webcam weiterkämen, fragten mich meine Freunde.

Ich besitze zwar eine Webcam, doch mangels sinnvoller Verwendung ist sie auf mein Arbeitszimmer-Aquarium gerichtet. Mit dem Thema Raumüberwachung habe ich keine Erfahrung, aber es gibt ja Suchmaschinen. Nach kurzer Zeit kristallisiert sich eine Software heraus: Motion[1]. Zum Installieren reichte bei meinem Debian-Testrechner:

apt-get install motion

Benutzer anderer Distributionen finden ein RPM und einen Tarball. Motion greift auf jedes V4L- oder V4L2-Gerät zu, in meinem Fall die Webcam, und vergleicht die Bilder. Weicht eines von seinem Vorgänger um eine konfigurierbare Anzahl Pixel ab, wird es gespeichert. Für diese Basisfunktion genügt:

motion -t /home/charly/motion

Der Parameter »-t« gibt an, wohin Motion die Bilder speichert. Jetzt laufe ich einmal quer durchs Bild. Der PC-Lautsprecher piept - Motion hat eine Bewegung im Bild erkannt. Ich sollte abnehmen, na ja. Bei Nichtgefallen verhindert »-Q« die akustischen Verlautbarungen. Läuft Motion im Daemon-Modus (»-D«), sind sie ohnehin deaktiviert.

Als die Bilder zählen lernten

Beim Feintuning kommt man nicht umhin, sich mit der Konfigurationsdatei zu befassen. Sie residiert entweder unter »/usr/local/etc/« oder im Homeverzeichnis und erlaubt es unter anderem, die Empfindlichkeit der Bewegungserkennung einzupegeln. Der Eintrag

threshold 1500

bewirkt, dass sich von einem zum nächsten Bild mindestens 1500 Pixel ändern müssen, damit dies als Bewegung erkannt wird. Da ich die Webcam nach wie vor auf das Aquarium gerichtet habe und meine Fische zwar gefährlich heißen, aber nicht so arg groß sind, halbiere ich den Wert. Und tatsächlich: Jetzt wird Motion wach, wenn Flossentiere von mehr als vier Zentimeter Länge durchs Bild schwimmen.

Wessen Linux einen Mpeg-Encoder an Bord hat, für den generiert Motion aus den geschossenen Bildern einen Film. Zur einfacheren Bedienung gibt es außerdem Motion.cgi [2]. Das Zusatzpaket beinhaltet eine Weboberfläche zum Starten, Stoppen und Aufzeichnen. Zudem kann ich damit ein Livebild betrachten: Abbildung 1 zeigt eines mit meiner schwimmenden Bestie.

Abbildung 1: Ein Fisch [3] schwimmt durchs Bild von Charlys Webcam, aufgenommen mit Motion.cgi.

Doch Achtung: Das Ganze steht und fällt mit der Kamera. Meine alte Webcam arbeitet bei gutem Licht super - aber wehe, wenn's duster wird! Da ich nicht weiß, ob in Olli und Melanies Ladenlokal nur Nachtblinde einbrechen, empfehle ich ihnen besser ein anderes Modell. (jk)

Infos

[1] Motion: [http://motion.sourceforge.net]

[2] Motion.cgi: [http://motion.sourceforge.net/motion.cgi]

[3] Ein Fisch: [http://www.zierfischverzeichnis.de/ordnungen/perciformes/anabantoidei/betta_splendens.htm]

Der Autor

Charly Kühnast administriert Unix-Betriebssysteme im Rechenzentrum Niederrhein in Moers. Zu seinen Aufgaben gehören die Sicherheit und Verfügbarkeit der Firewalls und der DMZ (demilitarisierte Zone). In seiner Freizeit lernt er Japanisch, um endlich die Bedienungsanleitung seiner Mikrowelle lesen zu können.