Mitunter erreichen uns verzweifelte Mails mit technischen Anfragen, wie der tägliche Zeitrafferfilm realisiert wird, ob man das nicht auch selbst machen könnte, und ob wir dazu nicht eine Anleitung schreiben könnten.

Betreff: Suche Tipps zu Webcam Zeitraffer
Hallo,
Kann mir mal jemand einen Tip geben, wie man solche Zeitraffer- Flashvideos realisieren kann?
Ein Bekannter möchte gerne eine Webcam in seinem Kuhstall aufstellen – soll öffentlich zugängig sein.
Da die Bilder sicherlich nicht sooo prickelnd sind, kann man es vielleicht per Zeitraffer etwas aufpäppeln…
mit freundlichen Grüßen,

Dies wollen wir hiermit gerne tun und mit diesem HowTo etwas Licht in unsere Technik hinter den Kulissen werfen. Leider gibt es kein WordPress-Plugin o.Ä., das einem die Arbeit vollkommen abnimmt, daher ist etwas Gefummel vonnöten.

Zum technischen Hintergrund

Wir haben bei Strato einen dedizierten Server gemietet. Als Betriebssystem läuft Ubuntu Linux 8.04. Wir haben uns für einen dedizierten Server entschieden, da das Erstellen der Zeitrafferfilme einiges an Rechenleistung benötigt. Zur Zeit werden alle 30 Minuten 4 Filme hergestellt.

Das Erstellen der Zeitrafferfilme

Um das Rohmaterial zu gewinnen, muss die Kamera in regelmäßigen Abständen automatisch abgefragt und das aktuelle Bild gespeichert werden. Dazu benutzen wir Wget (Wikipedia). Bei einer Einstellung von 10 Sekunden,  wie für die KaiKam gewählt, werden in 24 Stunden 8640 Einzelbilder gespeichert. Setzt man diese Frequenz herab, so wird seltener ein Bild gespeichert und der Film ist schneller zu Ende. Eine hohe Frequenz bewirkt, dass der Film länger wird. Einige Kameras liefern ihre Bilder jedoch in grösseren zeitlichen Abständen. Das erklärt, warum etwa der Zeitrafferfilm der Hafenhaus-Kamera, die zur Zeit minütlich aktualisiert, kürzer ist, und die Fähren im Film schneller an- und ablegen, als es auf anderen Filmen zu sehen ist. die Befehlszeile sieht bei uns so aus:

wget –tries=1 –timeout=30 -q –output-document=`date +%F_%H-%M-%S`.jpg http://www.adressederwebcam.de/

(natürlich alles in einer Zeile)

Das „–output-document=`date +%F_%H-%M-%S`.jpg“sorgt dafür, dass jedes Bild  Datum und Uhrzeit als Namen hat. Anschließend wird das Bild zu den anderen Bildern in einen Ordner kopiert.

Aus den vorhandenen Einzelbildern wird nun alle halbe Stunde ein Film erstellt. Der werdende Zeitrafferfilm verlängert sich somit im Laufe des Tages. Das Tool MEncoder (Wikipedia) übernimmt dies bei uns. Auf den Seiten findet sich auch eine ausführliche deutschsprachige Anleitung. Bei uns sieht der Aufruf so aus:

mencoder mf://`date +%F`*.jpg -mf fps=20:type=jpg -o video.flv -of lavf -ovc lavc -oac lavc -lavcopts vcodec=flv:vbitrate=1000 -vf crop=640:346:0:0

(auch hier alles in einer Zeile)

Die Option fps=20 legt fest, dass der Film 20 Bilder pro Sekunde zeigen soll. vbitrate=1000 sorgt für eine angenehme Qualität, bei nicht zu großen Dateien, crop=640:346:0:0 erzeugt dass schöne Kinoformat der Filme

Das kleine Hilfsprogramm flvtools2 fügt nun Metadaten wie Startpunkt und Zeitinformationen hinzu, die beim Abspielen des Filmes später z.B. Spulen ermöglichen.

Zum Abspielen der Zeitrafferfilme binden wir den JW FLV Media Player in die Seite ein. Auf der Homepage des Programmierers ist ein Tutorial, allerdings in englischer Sprache, zu finden.

Der Player gibt das durch MEncoder erstellte Flash Video (.flv) wieder, ein Format, das von Macromedia (jetzt Adobe) entwickelt wurde. Um das Video im Browser anzeigen zu können, muss beim jeweiligen Besucher ein Adobe Flash Player ab Version 9 auf dem Rechner installiert sein.

Na, dann mal los!