Skip to content

Screenshotting Ingress

Im Vorfeld der Ingress-Aktion "Divide & Conquer" am 7. Februar 2014, bei der über 40 Spieler mehrere große Felder über die Städte Mainz und Wiesbaden spannten, kam der Wunsch auf, das Geschehen auf der Intel Map über Screenshots nachverfolgbar zu machen - auch, um im Anschluss ein schön animiertes GIF oder einen Film präsentieren zu können.

Nun war dieses Vorhaben leider nicht ganz so trivial umzusetzen, wie erhofft. Die Herausforderungen und wie diese zu lösen sind, habe ich im folgenden beschrieben.

Screenshots

Reload der Intel-Map

Die Karte aktualisiert sich nicht auf unbegrenzte Dauer automatisch. Für die inoffizielle Erweiterung IITC gibt es ein entsprechendes Plugin, aber hier sollte die Original-Map verwendet werden. Benutzerkationen per JavaScript zu simulieren, erwies sich als schwierig, so dass nur der Weg über einen Reload der ganzen Seite übrig blieb. Extensions wie Auto Refresh Plus ermöglichen ein zeitgesteuertes Neuladen eines Tabs. Ein Nachteil ist, dass es im Anschluss eine Weile dauert, bis die Map mit allen Portalen, Links und Feldern wieder neu aufgebaut wurde.

Regelmäßige Screenshots

Zum Fotografieren der Map kam das Tool Shutter zum Einsatz, das sich genialerweise auch über ein Skript wie das folgende aufrufen lässt. So wird ungefähr jede Minute ein Screenshot des Browserfensters gemacht.

#! /bin/bash
while true; do
    shutter --window=.*Chromium.* -e -C --delay=0 --output="~/ingress/%Y%m%d%T.png"
    sleep 1m
done

Idealer Kartenausschnitt

Die Felder hatten die Form einer Raute, so dass das Browserfenster ungefähr quadratisch aufgezogen wurde. Die Zoomstufen der Intel-Map stellten sich hier als großes Hindernis heraus, denn eine Maximalansicht der Fläche ließ sich kaum erreichen. Entweder waren Teile abgeschnitten, oder die Fläche wurde nur verhältnismäßig klein angezeigt. Auch ein Kippen des Display um 90° mittels xrandr --output VGA1 --rotate left hilft bei einer Auflösung von 1920x1080 nicht wirklich viel - sieht aber cool aus auf dem LCD-TV und ist ein schöner Brainfuck beim Bedienen der Maus ;-)

GIF-Animation

Nachdem ich unbrauchbare Screenshots aussortiert hatte, habe ich die verbleibenden über 100 PNG-Dateien per Phatch in GIFs umgewandelt. Dies geschieht einfach über die "Speichern"-Aktion, bei der als Ausgabeformat eben GIF ausgewählt wird.

Im Anschluss galt es die Einzelbilder zu einem einzigen animierten GIF zusammenzufassen, das ohne größere Qualitätseinbußen eine möglichst kleine Dateigröße haben sollte. Hier konnte das Kommandozeilenprogramm Gifsicle seine Stärken ausspielen. Der Befehl

$ gifsicle -V -O3 --delay=30 --loopcount=0 --colors 128 --crop 100,200-860,810 2014*.gif > loop.gif

erzeugt ein sich wiederholendes GIF mit einer Verzögerung von 0,3 Sekunden zwischen den einzelnen Frames. Die Anzahl der Farben habe ich auf 128 reduziert und den Bildausschnitt per --crop so reduziert, dass der Rahmen des Browserfenster und weitere überflüssige Flächen wegfielen.

Den letzten Frame mit dem vollendeten grünen Feld wollte ich allerdings länger aus 0,3 s anzeigen lassen. Mit $ gifsicle -I loop.gif lassen sich Informationen, u.a. auch die Anzahl der Frames, ausgeben. Um den letzten Frame (in diesem Fall mit der #109) 3 s anzeigen zu lassen, half folgender Befehl.

$ gifsicle -b loop.gif -d30 "#0-108" -d300 "#109"

Das Resultat

Die fertige Animation:

Trackbacks

Keine Trackbacks

Kommentare

Ansicht der Kommentare: Linear | Verschachtelt

Noch keine Kommentare

Kommentar schreiben

Markdown-Formatierung erlaubt
Wenn Du Deinen Twitter Namen eingibst wird Deine Timeline in Deinem Kommentar verlinkt.
Bewirb einen Deiner letzten Artikel
Dieses Blog erlaubt Dir mit Deinem Kommentar einen Deiner letzten Artikel zu bewerben. Bitte gib Deine Blog URL als Homepage ein, dann wird eine Auswahl erscheinen, in der Du einen Artikel auswählen kannst. (Javascript erforderlich)
Standard-Text Smilies wie :-) und ;-) werden zu Bildern konvertiert.
Die angegebene E-Mail-Adresse wird nicht dargestellt, sondern nur für eventuelle Benachrichtigungen verwendet.

Um maschinelle und automatische Übertragung von Spamkommentaren zu verhindern, bitte die Zeichenfolge im dargestellten Bild in der Eingabemaske eintragen. Nur wenn die Zeichenfolge richtig eingegeben wurde, kann der Kommentar angenommen werden. Bitte beachten Sie, dass Ihr Browser Cookies unterstützen muss, um dieses Verfahren anzuwenden.
CAPTCHA

Formular-Optionen

Kommentare werden erst nach redaktioneller Prüfung freigeschaltet!