Ich hab mir grad mit meinen mickrigen Bash Kenntnissen etwas Witziges zusammengebastelt, das ich mal in die Runde werfen möchte:
Auf meinem ausgedienten Android Handy läuft die Gratis-App "IP Webcam". Der VDR (yaVDR 0.4) holt sich davon alle 5 Minuten ein Capture und vergleicht es mit dem vorherigen. Ist hier eine Bewegung zu erkennen, sendet er einen Tastendruck, um den Shutdown Timer zurückzusetzen. Das Handy muss erstmal zum Testen herhalten. Wenns ordentlich läuft, kommt eine schöne Webcam her, die auf den Fernseher geclipt wird. Hat den Vorteil, dass sich das Ding gemeinsam mit dem VDR ausschaltet und nicht unnötig ununterbrochen läuft.
Grund des Ganzen war einfach, dass der Shutdown auf 2h eingestellt ist (think green ), was sich zB. während eines Filmes aber für viel zu kurz erweist. Er soll aber andererseits auch nicht ewig nachlaufen. Mit dieser Lösung reicht ein Shutdown Timer von 30 bis 60 Minuten. Grade so, dass er sich während dem Kacken eben nicht ausschaltet.
Das Script:
#!/bin/bash
DIR=/home/mediapc/scripts/motion
URL=http://10.0.0.56:2525/shot.jpg
FILENAME=shot.jpg
SLEEP=300
SENS=30
cd $DIR
if [ ! -f $DIR/1.jpg ]; then
wget $URL 2>/dev/null
mv $DIR/$FILENAME $DIR/1.jpg
fi
function get_img {
wget $URL 2>/dev/null
mv $DIR/1.jpg $DIR/2.jpg
mv $DIR/$FILENAME $DIR/1.jpg
}
function detect {
get_img
MOTION=$(motiontrack $DIR/1.jpg $DIR/2.jpg \ --sensitivity=9 2>/dev/null | head -n 1)
}
while [ true ]; do
detect
if [ $MOTION -gt $SENS ]; then
svdrpsend HITK User9 >/dev/null
fi
sleep $SLEEP
done
Alles anzeigen
Für die meisten von euch wirds selbsterklärend sein, für die anderen hier eine kurze Erläuterung.
Um die beiden Bilder zu vergleichen, wird das Programm "motiontrack" benutzt.
Installation:
sudo aptitude install build-essential libgd2-xpm-dev wget checkinstall
wget gemia.de/motion/motiontrack-0.1.3.tar.gz
tar xzf motiontrack-0.1.3.tar.gz
cd motiontrack-0.1.3/
./configure
make
sudo checkinstall
Konfiguration des Skripts:
DIR -> Verzeichnis, in dem das Skript liegt
URL -> Addresse für den Capture des Webcam Videos
FILENAME -> Dateiname, unter dem der Capture gespeichert wird
SLEEP -> Wie oft auf Bewegung überprüft werden soll (Sekunden)
SENS -> Wie stark die Unterschiede zwischen den Bildern sein dürfen. 30 hat sich für mein Wohnzimmer als guter Wert ergeben
Mit wenigen Änderungen sollte sich das an verschiedene Webcams/Programme/Apps was auch immer anpassen lassen.
Dann noch das Handy so positioniert, dass sich die Couch schön im Bild befindet und voila: Ein Billigsdorfer Motion Tracking System für den VDR.
EDIT: Ach ja, hier wird die "Taste" User9 verwendet, welche bei mir keine Funktion hat. Das muss eventuell geändert werden. Eine Liste der möglichen Werte gibts mit svdrpsend HITK. Sollte halt nicht grad der Power Button sein...