Saschs Blog
neuster   |   archiv   |   fotos   |   orte   |   suche   |   über
Kommentare deaktiviert

Zeitraffer aus Einzelfotos

Veröffentlicht: 10. Februar 2013

Ich habe eine Schwäche für Zeitrafferaufnahmen. Um gutes Ausgangsmaterial zu erhalten, kann man seine Kamera auf ein Stativ stellen und regelmäßig auslösen lassen oder man nutzt eine der zahlreichen Webcams an imposanten Orten auf der Welt. Ende letzten Jahres hat die Webcam auf dem Münchner Olympiaturm eine spannende Weitwinkeloptik bekommen. Der Bildausschnitt hat mich inspiriert daraus ein Zeitraffervideo zu erstellen.
Hierfür speichere ich das öffentlich zur Verfügung gestellte Webcambild regelmäßig ab.

<?php
copy('http://www.olympiapark.de/webcamdaten/bild-ot-fest.jpg', 'OlympiaturmBilder/olympiaturm'.time().'.jpg');
?>

Da ich derzeit keinen V-Server habe, auf dem ich Cronjobs ausführen könnte, habe ich auf meinem Router einen Cronjob eingerichtet, der das Script auf dem Server regelmäßig aufruft.

* * * * * root /usr/bin/wget -q -O /dev/null http://meinserver.de/olympiaturmWebcam.php

Wenn genug Bildmaterial zusammengekommen ist, starte ich ein kleines Script, das die Fotos vom Server Zwischenspeicher herunterlädt, zu einem Video zusammensetzt und etwas Hintergrundmusik hinzufügt.

# !/bin/sh
# Timelapse Script
cd /media/Timelapse/Olympiaturm
 
# neue Webcambilder laden
wget -A jpg -m -p -np -nd -N -l 1 http://meinserver.de/OlympiaturmBilder/
 
# 7 Tage Rückblick ###########################################################
 
# Bilder der letzten 7 Tage raussuchen
mkdir img_in_order
x=1;
for i in `find . -maxdepth 1 -name "*.jpg" -mtime -7 | sort -n`; do
	counter=$(printf %04d $x);
	ln "$i" img_in_order/img"$counter".jpg;
	x=$(($x+1));
done;
 
# Bilder mit zu wenig Inhalt, z.B. Nachtbilder, anhand der Größe rausschmeißen. Eignet sich auch, um fehlerhaft übertragene Bilder zu entfernen.
find img_in_order/ -size -15k -name "*.jpg" -exec rm -rf {} \;
 
# Einzelbilder zu Film zusammenfügen
mencoder mf://img_in_order/*.jpg -mf fps=25:type=jpg -ovc copy -oac copy -o film_letzte_woche.avi
 
# Tonspur hinzufügen
ffmpeg -shortest -i film_letzte_woche.avi -vcodec copy -i sound.mp3 -acodec libmp3lame -ac 2 -ab 128k -y film_letzte_woche_sound.avi
 
# Fürs Web kodieren
 
# h2.64
ffmpeg -i film_letzte_woche_sound.avi -strict experimental -f mp4 -vcodec mpeg4 -r 25 -b 2000k -s 640x480 -acodec aac -ac 2 -ab 128k -y olympiaturm_letzte_woche.mp4
 
# ogv
ffmpeg -i film_letzte_woche_sound.avi -acodec libvorbis -r 25 -b 2000k -s 640x480 -ab 128k -y olympiaturm_letzte_woche.ogv
 
# aufräumen
rm -r img_in_order

Das Ergebnis sieht dann so aus.

Wer hat Lust hat etwas lebhaftere Zeitraffer mit virtuellen Kameraschwenks zu erzeugen, dem kann ich das Tool LRTimelapse nur wärmstens empfehlen.