blindcatlogo.gif
Alles zum Filmemachen


Letzte Aktualisierung: 30.03.2017

Making Of Time Reloaded

27.12.2016 - 17:30

tr-makeof/WarneDay.jpg

Sorry, this article is in german. Maybe you like to read the Google translation by clicking here.

Inspiriert von den herrlichen Bildern aus Time is a Dimension von Fong Qi Wei habe ich mich entschlossen dieser Art der Bildgestaltung die Echtzeit zurückzugeben und damit Time Reloaded herzustellen. Für eine Reise durch Licht und Nacht, einfach mal den Film ansehen:

Time Reloaded from Frankie Blindcat on Vimeo.

Time Reloaded war Video of the Week bei WPPI Online im März 2014 !

Hintergrund - Making Of

Tatsächlich waren die Bilder von Fong Qi Wei die Quelle meiner Inspiration für Time Reloaded. Ich fragte mich, wie man dies in einem Film umsetzen könnte. Viele Varianten sind da denkbar, aber ich habe mich für die hier vorliegende entschlossen. Basis sollten Filmclips von ca. 3 min Länge sein, die in Echtzeit verwertet werden. Es wäre auch denkbar Timelapse Aufnahmen als Material zu verwenden. Die Motive sollten einerseits starke statische Elemente haben, die über die verschiedenen Ebenen hinweg das Bild zusammenhalten, andererseits sollte möglichst auch Bewegung im Bild sein, da ich schließlich einen Film machen wollte.

Kamerabefestigung

Die verschiedenen Clips müssen inhaltlich geometrisch übereinanderpassen. Damit sind wenigstens Stativaufnahmen erforderlich, bei denen das Stativ über den Aufnahmezeitraum hinweg nicht bewegt werden darf. Alternativ wären auch Motion Control Aufnahmen möglich. Diese müssten aber synchronisierbar ganz exakt gleichförmig ablaufen. Die billigste Variante wäre ein Slider mit Raspberry Pi oder Arduino und einer Steuerung über Magic Lantern. Dennoch war mir dies an dieser Stelle zuviel des Aufwandes. Vielleicht später mal :-) Ich habe die Clips jedenfalls einfach statisch vom Stativ geschossen.

Die Zeit

Ein sehr aufwendiger Aspekt war die zeitliche Komponente, die ja eine der Hauptattraktionen des Films ist. Mein Ziel war es, dass der oberste Clip praktisch einfaches Tageslicht repräsentiert. Der unterste Clip sollte die tiefste und dunkselste Nacht repräsentieren. Wenn ich hier von oben und unten rede, dann nehme ich die spätere Anordnung der Clips in Spuren übereinander in einem Kompositionsprogramm bereits inhaltlich vorweg. Tatsächlich will man nicht zwölf Stunden mit fixem Stativ vor Ort rumsitzen. Es galt also ein zu den Zielvorgaben passendes Zeitfenster festzulegen in dem die Aufnahmen erfolgen sollten. Dazu habe ich natürlich erst einmal ein paar Testaufnahmen aus dem Fenster gemacht. Schnell stellt sich heraus, dass ein zentraler Zeitpunkt der Sonnenuntergang ist. Für die Zeit nach dem Sonnenuntergang gibt es auch weitere feste Zeiteinteilungen für die Dämmerung. Es gibt die Sonnenuntergangszeit, die zivile Dämmerung, die nautische Dämmerung und die astronomische Dämmerung. Diese lassen sich (auch im Web) berechnen. Eine ganz gute Seite neben der US Navy ist z.B. Galupki.de. Richtig schwarz ist der Himmel zum Zeitpunkt der astronomischen Dämmerung (auch vom Breitengrad abhängig). Die Zeit vor dem Sonnenuntergang ist dagegen leider nicht in derartig definierte Intervalle eingeteilt. Sieht man sich verschiedene Kurven von Helligkeitsmessungen von Wetterstationen an, so kann man aber feststellen, dass es sich um eine ziemlich logarithmische Kurve handelt. Theoretisch könnte man aus diesen Kurven und den Formeln der Sonnenuntergangs- und Dämmerungsberechnungen ganz gute Werte errechnen und ableiten lassen, um Zeiten für die Aufnahmen entsprechender Clips zu bekommen. Das mach ich auch noch einmal und wenn es richtig gut läuft wird das in der Kamera passieren .. :-) Jetzt ist es aber mehr so, dass ich Erfahrungswerte gesammelt habe und aus diesen etwa folgende Hinweise ableiten kann: Der Beginn einer Aufnahme sollte ca. bei 16:00 Uhr liegen (Herbst oder Frühjahr. Im Sommer und Winter entsprechend anders). Vorherige Aufnahmen sehen nicht viel mehr nach hellichtem Tag aus als Aufnahmen zu diesen Zeiten. Die letzte Aufnahme kann etwa 16 min. vor der astronomischen Dämmerung erfolgen, wenn man die Sonne im Rücken hat (empfehlenswert). Die wenigsten Veränderungen in Licht und Farbe gibt es in der ersten Phase. Hier reichen oft Aufnahmen in halbstündigem Abstand. Die dramatischsten Licht und Farbveränderungen im Motiv finden um den Sonnenuntergang herum statt. Zwischen den verschiedenen Dämmerungsintervallen reicht neben diesen Zeiten noch eine Aufnahme dazwischen. Sonst sind kaum Änderungen im Bildinhalt zwischen zwei Clips festzustellen. Ca. eine Viertelstunde vor Sonnenuntergang hat man richtig goldene Farben im Bild. Das sollte man möglichst mitnehmen. In der Stunde vor Sonnenuntergang dürfen es ruhig ca. 8 Aufnahmen sein. Die Helligkeit verändert sich in dieser Zeit ständig. Die Intervalle zwischen den Aufnahmen sollten bei den Clips vor und nach Sonnenuntergang kurz sein und in Richtung zu den Start und Endzeiten größer werden. Etwas weiter unten zeige ich ein Script, aus dem die konkreten Zeiten, die ich im Oktober in Mallorca verwendet habe, hervorgehen.

Kamera

Und damit komme ich zu einem weiteren entscheidenden Bestandteil der Aufnahmen, der Kamera. Welche Kamera man verwendet ist eigentlich egal. Ich hatte eine Canon 5D Mark II in Verwendung und das ist schon ganz gut. Aber wie stellt man sie ein? Die Aufnahme verschiedener Tageshelligkeiten zwischen lichtem Tag und tiefster Nacht ist eine nicht zu unterschätzende Herausforderung für eine Kamera. Es reicht ja nicht, eine für die einzelne Aufnahme schöne Belichtung einzustellen. Wichtig ist, das alle (ca. 15-20) Clips eine zueinander im Verhältnis harmonische Entwicklung der Belichtung zueinander haben. Mit manueller Belichtung besteht immer die Gefahr, dass benachbarte Clips einzeln zwar gut aussehen, aber nebeneinander unharmonisch wirken. Die Verschlusszeit steht da als Parameter ja auch nicht zur Verfügung, da sie bei einer Filmaufnahme möglichst immer auf 1/50stel stehen sollte. Nur mit der Blende lässt sich der Dynamikumfang des Tageslichtes in dieser Zeit aber nicht beherrschen. Ich habe mich relativ früh entschlossen die Kamera einfach auf ihre Belichtungsautomatik im Programm P zu stellen. Da die Automatiken relativ harmonischen Kennlinien für die Parameter folgen, könnte auch ein harmonisches Endergebnis herauskommen. Am Ende stelle ich für mich fest, dass die Verwendung der Automatik das beste Mittel war. Zusätzlich habe ich den ISO Wert auf Automatik gestellt und auch den Weißabgleich. Die Belichtung ist somit auf einfachste Weise geklärt, und bei der Betrachtung der Bilder wüsste ich nicht, welchen Vorteil mir ein manueller Eingriff an dieser Stelle bringen sollte.

tr-makeof/cam-branden.jpg

Magic Lantern

Da ich mich im Vorfeld bereits mit den Zeitpunkten der Belichtung in Theorie und durch Tests am Fenster beschäftigt hatte, hatte ich eigentlich einen ganz gut vorgeplanten zeitlichen Ablauf. Und an dieser Stelle kam mir Magic Lantern in den Sinn. Da bin ich sowieso ein großer Fan von. Es handelt sich um eine Firmware Erweiterung für einige Canon Kameras, die zusätzliche Eigenschaften und Fähigkeiten in das Gerät bringt. Eine der coolsten Fähigkeiten aus den (Stand Ende 2013) Nigthly Builds war die Möglichkeit zur Scriptsteuerung in der Kamera. Ich habe PicoScript verwendet, was inzwischen von den Entwicklern wohl verworfen ist und nicht in der nächsten Version enthalten sein wird (dafür dann eine andere Scriptmöglichkeit). Wer noch Lust drauf hat sollte versuchen einen Nightly Build von etwa Ende Mai 2013 zu bekommen. Mit PicoScript konnte ich einen schönen zeitlichen Ablauf der Aufnahmen programmieren. In der Theorie heisst das: Kamera hinstellen, einschalten, Script starten, warten, fertig. In der Praxis war es etwas ruckliger. Bereits in Warnemünde hatte ich ein Script vorbereitet mit festgelegten Zeiten. Leider lief das Script nur halb durch, danach war der Akku alle. Nach dem Akkuwechsel konnte das Script nicht wieder gestartet werden, weil es zu einem festen Zeitpunkt gestartet werden musste. Die restlichen Aufnahmen nach dem Scriptabbruch musste ich also mit einem Ausdruck der geplanten Zeiten (den ich zum Glück mit hatte) und einer Stopuhr manuell alle fehlenden Aufnahmen selbst auslösen und stoppen. An dieser Stelle merkt man erst wie doof das ist und um wieviel besser das ist, wenn ein Script einem die Arbeit abnimmt. Im Nachgang habe ich dann bei den nächsten Aufnahmen immer einen Batteriegriff verwendet und das Script noch einmal etwas auf Stromsparend umgeschrieben. Ausserdem habe ich die Möglichkeit eingerichtet die Zeiten in einem Block übersichtlicher eingeben zu können und die Startzeit so flexibel zu gestalten, dass das Script beliebig vor dem Start gestartet werden kann und dann zu der richtigen Uhrzeit seine Arbeit aufnimmt. Weitere Erweiterungen, wie das flexible Einstarten jederzeit, die Aufnahme von Einzelfotos vor oder nach jedem Videoclip oder gar die eigenständige Berechnung von Sonnenuntergangs- und Dämmerungszeiten scheiterten leider an Out Of Memory Fehlern oder Bugs im Scriptinterpreter. Am Ende dieses Artikels habe ich das letzte Script, so wie ich es in Alcudia verwendet hatte mit angefügt. Während der Aufnahmen muss an der 5D Mark II die automatische Abschaltung ausgestellt werden und LiveView muss angeschaltet werden. Dann läuft das Script auch schön durch, wenn ein Batteriegriff mit dabei ist :-)
Falls sich jemand wundert, RAW habe ich nicht in Betracht gezogen, weil dies momentan noch einen gänzlich anderen Workflow erfordern würde. Heute bzw. in Zukunft wäre RAW generell natürlich ein gute Sache für genau diese spezifische Art des Films.

Wetter

Ich habe viele Testaufnahmen gemacht und sogar einen (nicht im Video enthaltenen) Echtclip bei bewölktem Himmel. Ich rate davon ab. Ich empfehle ausschließlich Aufnahmen bei Sonnenschein, oder sonniger Himmel mit sichtbaren Wolken, die aber NIEMALS die Sonne verdecken/abschatten. Bilder bei Bewölkung verändern kaum ihre Farbe oder Helligkeit. Im Zweifel sind kaum Unterschiede zwischen benachbarten Clips zu erkennen. Die Gesamtkomposition wirkt einfach nicht. Schatten sind diffus und nicht scharf. Auch diese helfen nicht bei der Differenzierung der Clips. Im Grunde sind nur Aufnahmen von Motiven brauchbar, die von Sonnenlicht direkt beschienen werden. Alles andere ist für den Müll. Daher ist die Wettervorhersage und der Wetterbericht ein unverzichtbares Werkzeug für diese Art von Aufnahmen. War ein Dreh geplant und es stellt sich heraus, dass es bewölkt sein wird, hilft nur eine Absage des Drehs ohne Bauchschmerzen.
Hat man einen Dreh vorbereitet, und das Wetter ist wenigstens wechselhaft, kann man ihn evtl. noch retten. Dann tatsächlich kein vorbereitetes Script starten und immer wenn es die Sonne erlaubt manuell Aufnahmen starten und durchziehen. Das ist auch ein bisschen anstrengend (insbesondere falls man Begleitung hat) aber es kann eine Aufnahme retten, wenn man z.B. objektiv gar keine andere Möglichkeit mehr hätte.

Und ... Action!

Die eigentliche Aufnahme ist ... langweilig. Evtl. Also man muss schon ganz schön Sitzfleisch entwickeln. Wenn das ganze Scriptgesteuert abläuft, ist die Hauptaufgabe das Stativ zu beschützen und darauf zu achten, dass kein Fussgänger dagegen läuft. Verrutscht das Stativ, ist die Aufnahme eigentlich ruiniert. Passiert das am Abend bei den letzten Aufnahmen ist es extrem ärgerlich. Viel Spaß beim Reparieren ... ich würde lieber auf gleichmäßigen Stand achten während der Aufnahmen ;-) Bei einigen der Aufnahmen haben sich auch nette Gespräche mit Passanten ergeben. Aber sonst fängt man eigentlich nur an irgendwann ... 30 min nach Sonnenuntergang auf die Uhr zu starren, wann das endlich vorbei ist ;-) An der Stelle kann ich noch einmal ein paar Worte zu Zeit und Kamera ergänzen. Auch die Blickrichtung der Kamera ist wichtig. Ich persönlich habe mich dafür entschieden möglichst nur Motive aufzunehmen, oder sie so aufzunehmen, dass ich die Sonne zum Sonnenuntergang im Rücken habe. Hauptvorteil liegt in der Belichtung und Beleuchtung. Gegen die Sonne ist eine Belichtung einfach viel schwieriger. Das eigentliche Spiel von Licht und Farbe ist nur noch schwer zu erkennen. Die Farbe des Himmels kann sich gegen das Licht kaum entwickeln. Wer Lust hat kann ja mal eine entsprechende Gegenlichtgeschichte machen. Ich habe sie noch nicht einmal zum Testen durchgeführt. Achtung: Die (offiziellen) Zeiten der Dämmerung stimmen nicht mehr, wenn man die Sonne im Rücken hat. In diese Richtung wird es viel schneller dunkler. Nach meinen Tests erscheint es mir, als würden die Zeiten nur in Blickrichtung zur Sonne stimmen. Die Abweichung im Herbst 2013 betrug bei den Dämmerungszeiten etwa durchgängig 16 Minuten früher, wenn man die Sonne im Rücken hat. In Warnemünde habe ich von 17:00 bis 22:15 Uhr aufgenommen. In Cala Rajada nur von 16:55 bis 19:49 Uhr.

tr-makeof/cam-warne.jpg

Lass die Maske fallen

Ein letzter Kernaspekt von meinem Film ist die Maskenarbeit. Vorbild waren die o.g. Bilder von Fong Qi Wei mit ihren geometrischen Formen. Ich wusste von Anfang an, dass diese in einem Film animiert und bewegt sein müssen. Aber wie machen? Hauptsächlich arbeite ich mit Adobe CS Produkten. Für die Weiterverarbeitung meiner Clips bot sich After Effects zwingend an. Dort wäre es möglich mit einer JavaScript artigen Sprache auch Masken und Masken Punkte zu animieren. Bei einem Blick auf das Dokument Objekt Modell ist mir aber die Lust vergangen, das in AE zu machen. Ich kann ein bisschen Java und hab daher entschieden die Masken in Java zu programmieren. Die Ausgabe sollte als Einzelbildsequenz erfolgen. Ich wollte ausserdem eine Vorschau auf die Effekte haben, bei der Graustufen die Layer simulieren sollten. Ein kleiner Assistent um Koordinaten zu finden rundet das Tool ab. Das Tool ist einigermaßen flexibel und erlaubt unterschiedliche Anzahlen von Spuren und Auflösungen sowie Synchronisationsmöglichkeiten  der Blendenmasken zu musikalischen bpm. Leider ist das Tool kein Anwenderprogramm. Zumindest die Abfolge der Effekte und die Parameter müssen im Quelltext erstellt werden. Dann muss es kompiliert und ausgeführt werden. Ist man mit der Vorschau zufrieden, erzeugt es für jede Spur einen Ordner mit einer Einzelbildsequenz der jeweiligen Schwarz/Weiß Maske. Für das Time Reloaded Video hab ich so insgesamt 111.569 Einzelbilder erzeugt. Der Source Code ist unten downloadbar.

software/trmc-screenshot.jpg

Compositing

Das Compositing fand in After Effects statt und war vergleichsweise trivial. Es wurden alle H.264 Original Clips in Spuren übereinandergelegt, Tag oben, Nacht unten. Dann wurde unterhalb jeder Maske die passende Einzelbildsequenz eingefügt und diese in der Videospur als Lumamaske gesetzt. Das war es eigentlich. Da der finale Clip deutlich kürzer ist als die 3 Minuten vorhandenes Footage, kann man auch noch einmal die Einzelclips verschieben, oder so anordnen, dass ein bestimmtes Objekt, wie z.B. ein Schiff, zu einer bestimmten Zeit an einer bestimmten Stelle im Bild zu sehen ist. Bei den Nachtspuren lohnt sich auch noch ein genauere Blick auf das Material, ob es da nicht angebracht ist evtl. noch einen Entrauscher zu verwenden. Ich habe das mit dem Red Giant Denoiser II bei ungefähr den untersten 4-5 Spuren gemacht. Die 5D2 ist zwar ein Low Light Viech, und es waren wenigstens 2,8er Lichtstärken drauf, aber irgendwann wird es trotzdem eng :-)
Mein jüngstes Rechner Upgrade auf einen i7 4770, GTX670, 32GB RAM, System SSD und Video RAID 0 war an der Stelle übrigens hilfreich. Die Warnemünde Sequenz auf einem Q9650, 8GB RAM und Standard HD hat 18 Std. gerendert und auf dem neuen System nur 1:48. Auf dem alten war AE CS 5.5 und auf dem neuen CS 6.

Endergebnis

Das Endergebnis ist dann in Premiere entstanden. Die Musik wurde recht schnell in Cubase gestrickt und ist nicht Oscar verdächtig. Zur Untermalung reicht es mir hier. Ins Premiere Schnittfenster wurden die AE Kompositionen als Dynamic Link importiert und angeordnet. Herausgerendert wurde für Vimeo das Vimeo Preset und HDTV1080p25 für den Heimgebrauch. Ein Rendervorgang dauert etwa 25 Std. auf dem neuen System, dafür wird ab dem Originalmaterial aber auch alles aufwärts durchgereicht.
Wenn man das so macht, kriegt man so ein Ergebnis. Wer jetzt Lust bekommen hat, kann sich das Magic Lantern Script noch einmal ansehen oder den Java Sourcecode runterladen und damit spielen (mag jemand doch eine voll interaktive GUI schreiben? Gar nicht sooo schwer ;-)

Download Java Source Code TRMC (Time Reloaded Mask Creator)

Ich gebe den SourceCode von trmc für den nicht kommerziellen Gebrauch frei. Die hier veröffentlichte Version hat auch Bugs, und entspricht einer Entwickler-Version (0.8). Sie ist aber so stabil, dass sie Ihren Dienst für den vorliegenden Film Time Reloaded anstandslos erfüllt hat. Im zip ist auch ein readme enthalten, welches die Benutzung unter Verwendung des Java SE JDK auf englisch und deutsch erklärt. Es findet sich auch eine Kurzbeschreibung für Entwickler dabei. Wer Lust hat kann das Tool ergänzen oder verändern. Ich weise aber ausdrücklich darauf hin, dass ich keinerlei Support übernehmen kann.

Download TRMC

Magic Lantern PicoC Script Alcudia

Hier ist das Magic Lantern PicoC Script, welches ich am 25.10.2013 in Alcudia für die Aufnahme verwendet habe. Bei einem Nightly Build aus dem Mai 2013 einfach in das Verzeichnis scripts als z.B. timerld.c kopieren und los. Das Script ist sicher kürzbar unter Verwendung eines Arrays und einer Schleife. Da PicoC aber nach meinem aktuellen Kenntnisstand keine Zukunft in ML hat, lohnte sich der Aufwand zur Anpassung jetzt auch nicht mehr. So arbeitet das Script ja ;-)

 
/*
@title Time Reloaded (early script of time reloaded)
*/
if (!lv) { click(LV); sleep(2); }

printf("Time Reloaded Videorecordingn");
printf("-----------Alcudia---------n");
int h = 18;
int m = 54;                    // Sunsettime, this script is based on. This is Wednesday 25.10.2013 Version - Alcudia Mallorca
struct tm * t = get_time();
int theCurrentHour = t->hour;
int theCurrentMinute = t->minute;
printf("Current Time: %02d:%02d:%02dn", theCurrentHour, t->minute, t->second);
printf("Sunset is at: %02d:%02dn", h, m);

int clipDuration = 180;        // In seconds. 180sec = 3 minutes
int sunsetDuration = 300;    // Sunsetclip can be a bit longer if you want

int shot1hour    = 16;                    // *** Calc shot 1    -11 to 16:56
int shot1min        = 45;
int shot2wait                 = 1800;
int shot2hour    = 17;                    // *** Calc shot 2
int shot2min        = 29;
int shot3wait                 = 1200;
int shot3hour    = 17;                    // *** Calc shot 3
int shot3min        = 52;
int shot4wait                 = 900;
int shot4hour    = 18;                    // *** Calc shot 4
int shot4min        = 10;
int shot5wait                 = 540;
int shot5hour    = 18;                    // *** Calc shot 5
int shot5min        = 22;
int shot6wait                 = 360;
int shot6hour    = 18;                    // *** Calc shot 6
int shot6min        = 31;
int shot7wait                 = 240;
int shot7hour    = 18;                    // *** Calc shot 7
int shot7min        = 38;
int shot8wait                 = 180;
int shot8hour    = 18;                    // *** Calc shot 8
int shot8min        = 44;
int shot9wait                 = 120;
int shot9hour    = 18;                    // *** Calc shot 9 - golden
int shot9min        = 49;
int shot10wait                 = 240;
int shot10hour    = 18;                    // *** Calc shot 10
int shot10min        = 56;
int shot11wait                 = 240;
int shot11hour    = 19;                    // *** Calc shot 11 - Sunset
int shot11min        = 3;
int shot12wait                 = 180;
int shot12hour    = 19;                    // *** Calc shot 12
int shot12min        = 11;
int shot13wait                 = 180;
int shot13hour    = 19;                    // *** Calc shot 13
int shot13min        = 17;
int shot14wait                 = 180;
int shot14hour    = 19;                    // *** Calc shot 14 - civil
int shot14min        = 23;
int shot15wait                 = 180;
int shot15hour    = 19;                    // *** Calc shot 15
int shot15min        = 29;
int shot16wait                 = 180;
int shot16hour    = 19;                    // *** Calc shot 16
int shot16min        = 35;
int shot17wait                 = 240;
int shot17hour    = 19;                    // *** Calc shot 17
int shot17min        = 42;
int shot18wait                 = 240;
int shot18hour    = 19;                    // *** Calc shot 18 - nautic
int shot18min        = 48;
int shot19wait                 = 420;
int shot19hour    = 19;                    // *** Calc shot 19
int shot19min        = 58;

int firstWait = 0;
int currMinutes = (theCurrentHour*60)+theCurrentMinute;
int shotMinutes = (shot1hour*60)+shot1min;
if(currMinutes<shotMinutes) {    // If we start script before first shot time, we wait until first shot time
    firstWait = (shotMinutes - currMinutes)*60;
    printf("First Shot starts in %d minutes. We wait.n",(firstWait/60));
    display_off();
    lv_pause();
    sleep(firstWait);        // Wait for first shot
    display_on();
    lv_resume();             // lv means LiveView
}

movie_start();            // Start Movie Recording ...
sleep(clipDuration);    // for this time of seconds
movie_end();            // and stop it
printf("Shot 01 taken at %02d:%02d, now wait %d min! n",shot1hour, shot1min, (shot2wait/60));
display_off();
lv_pause();                // Powersave on
sleep(shot2wait);    // Wait for next shot
display_on();            // Powersave off
lv_resume();

movie_start();            // Start Movie Recording ...
sleep(clipDuration);    // for this time of seconds
movie_end();            // and stop it
printf("Shot 02 taken at %02d:%02d, now wait %d min! n",shot2hour, shot2min, (shot3wait/60));
display_off();
lv_pause();                // Powersave on
sleep(shot3wait);        // Wait for next shot
display_on();            // Powersave off
lv_resume();

movie_start();            // Start Movie Recording ...
sleep(clipDuration);    // for this time of seconds
movie_end();            // and stop it
printf("Shot 03 taken at %02d:%02d, now wait %d min! n",shot3hour, shot3min, (shot4wait/60));
display_off();
lv_pause();                // Powersave on
sleep(shot4wait);        // Wait for next shot
display_on();            // Powersave off
lv_resume();

movie_start();            // Start Movie Recording ...
sleep(clipDuration);    // for this time of seconds
movie_end();            // and stop it
printf("Shot 04 taken at %02d:%02d, now wait %d min! n",shot4hour, shot4min, (shot5wait/60));
display_off();
lv_pause();                // Powersave on
sleep(shot5wait);        // Wait for next shot
display_on();            // Powersave off
lv_resume();

movie_start();            // Start Movie Recording ...
sleep(clipDuration);    // for this time of seconds
movie_end();            // and stop it
printf("Shot 05 taken at %02d:%02d, now wait %d min! n",shot5hour, shot5min, (shot6wait/60));
display_off();
lv_pause();                // Powersave on
sleep(shot6wait);        // Wait for next shot
display_on();            // Powersave off
lv_resume();

movie_start();            // Start Movie Recording ...
sleep(clipDuration);    // for this time of seconds
movie_end();            // and stop it
printf("Shot 06 taken at %02d:%02d, now wait %d min! n",shot6hour, shot6min, (shot7wait/60));
display_off();
lv_pause();                // Powersave on
sleep(shot7wait);        // Wait for next shot
display_on();            // Powersave off
lv_resume();

movie_start();            // Start Movie Recording ...
sleep(clipDuration);    // for this time of seconds
movie_end();            // and stop it
printf("Shot 07 taken at %02d:%02d, now wait %d min! n",shot7hour, shot7min, (shot8wait/60));
display_off();
lv_pause();                // Powersave on
sleep(shot8wait);        // Wait for next shot
display_on();            // Powersave off
lv_resume();

movie_start();            // Start Movie Recording ...
sleep(clipDuration);    // for this time of seconds
movie_end();            // and stop it
printf("Shot 08 taken at %02d:%02d, now wait %d min! n",shot8hour, shot8min, (shot9wait/60));
display_off();
lv_pause();                // Powersave on
sleep(shot9wait);        // Wait for next shot
display_on();            // Powersave off
lv_resume();

movie_start();            // Start Movie Recording ...
sleep(clipDuration);    // for this time of seconds
movie_end();            // and stop it
printf("Shot 09 taken at %02d:%02d, now wait %d min! n",shot9hour, shot9min, (shot10wait/60));
display_off();
lv_pause();                // Powersave on
sleep(shot10wait);        // Wait for next shot
display_on();            // Powersave off
lv_resume();

movie_start();            // Start Movie Recording ...
sleep(clipDuration);    // for this time of seconds
movie_end();            // and stop it
printf("Shot 10 taken at %02d:%02d, now wait %d min! n",shot10hour, shot10min, (shot11wait/60));
display_off();
lv_pause();                // Powersave on
sleep(shot11wait);        // Wait for next shot
display_on();            // Powersave off
lv_resume();

movie_start();            // Start Movie Recording ...
sleep(sunsetDuration);    // for this time of seconds
movie_end();            // and stop it
printf("Shot 11 taken at %02d:%02d, now wait %d min! n",shot11hour, shot11min, (shot12wait/60));
display_off();
lv_pause();                // Powersave on
sleep(shot12wait);        // Wait for next shot
display_on();            // Powersave off
lv_resume();

movie_start();            // Start Movie Recording ...
sleep(clipDuration);    // for this time of seconds
movie_end();            // and stop it
printf("Shot 12 taken at %02d:%02d, now wait %d min! n",shot12hour, shot12min, (shot13wait/60));
display_off();
lv_pause();                // Powersave on
sleep(shot13wait);        // Wait for next shot
display_on();            // Powersave off
lv_resume();

movie_start();            // Start Movie Recording ...
sleep(clipDuration);    // for this time of seconds
movie_end();            // and stop it
printf("Shot 13 taken at %02d:%02d, now wait %d min! n",shot13hour, shot13min, (shot14wait/60));
display_off();
lv_pause();                // Powersave on
sleep(shot14wait);        // Wait for next shot
display_on();            // Powersave off
lv_resume();

movie_start();            // Start Movie Recording ...
sleep(clipDuration);    // for this time of seconds
movie_end();            // and stop it
printf("Shot 14 taken at %02d:%02d, now wait %d min! n",shot14hour, shot14min, (shot15wait/60));
display_off();
lv_pause();                // Powersave on
sleep(shot15wait);        // Wait for next shot
display_on();            // Powersave off
lv_resume();

movie_start();            // Start Movie Recording ...
sleep(clipDuration);    // for this time of seconds
movie_end();            // and stop it
printf("Shot 15 taken at %02d:%02d, now wait %d min! n",shot15hour, shot15min, (shot16wait/60));
display_off();
lv_pause();                // Powersave on
sleep(shot16wait);        // Wait for next shot
display_on();            // Powersave off
lv_resume();

movie_start();            // Start Movie Recording ...
sleep(clipDuration);    // for this time of seconds
movie_end();            // and stop it
printf("Shot 16 taken at %02d:%02d, now wait %d min! n",shot16hour, shot16min, (shot17wait/60));
display_off();
lv_pause();                // Powersave on
sleep(shot17wait);        // Wait for next shot
display_on();            // Powersave off
lv_resume();

movie_start();            // Start Movie Recording ...
sleep(clipDuration);    // for this time of seconds
movie_end();            // and stop it
printf("Shot 17 taken at %02d:%02d, now wait %d min! n",shot17hour, shot17min, (shot18wait/60));
display_off();
lv_pause();                // Powersave on
sleep(shot18wait);        // Wait for next shot
display_on();            // Powersave off
lv_resume();

movie_start();            // Start Movie Recording ...
sleep(clipDuration);    // for this time of seconds
movie_end();            // and stop it
printf("Shot 18 taken at %02d:%02d, now wait %d min! n",shot18hour, shot18min, (shot19wait/60));
display_off();
lv_pause();                // Powersave on
sleep(shot19wait);        // Wait for next shot
display_on();            // Powersave off
lv_resume();

movie_start();            // Start Movie Recording ...
sleep(clipDuration);    // for this time of seconds
movie_end();            // and stop it
printf("Shot 19 taken at %02d:%02d, Done! n",shot19hour, shot19min);

console_show();
sleep(2);


© 2004 - 2017 by blindcat