18-04-2019, 14:41 14
Darauf gestoßen bin ich durch den Tickerthread, als mich mein Spieltrieb mal wieder übermannte und ich unbedingt den WeLT-Ticker nachbasteln mußte. Nun stand ich vor der Frage, wie man am besten eine Uhrzeit einblenden könnte, die auch ordnungsgemäß mitläuft. DaVinci Resolve bietet da folgende Möglichkeit.
Zuerst erstellt man einen normalen Text+, klickt mit rechts in das Textfeld und wählt »TextTimer«. Danach wechselt man von »Tools« zu »Modifiers« und kann dann unter »Mode« zwischen drei Modi auswählen. Für eine Uhr wählt man da natürlich »Clock«.
Bild_001.png (Größe: 77,09 KB / Downloads: 55)
Bild_002.png (Größe: 63,04 KB / Downloads: 49)
Dann steht als Text für das Textfeld die aktuelle Systemzeit drin. Das hielt ich zunächst für eine sehr gute Lösung, bis ich einen kleinen Fehler bemerkte. Im Textfeld steht immer die aktuelle Uhrzeit. Auch beim Rendern ist die Uhr nach einer Minute bereits eine Minute weiter gelaufen, selbst wenn das Rendern gar nicht in Echtzeit passiert. Sind nach einer Minute erst 30 Sekunden des Films gerendert, läuft diese Minute im fertigen Film schon in diesen 30 Sekunden ab. Zurück im Bereich »Tools« habe ich per »Remove TextTimer1« die Funktion wieder gelöscht.
Bild_003.png (Größe: 78,23 KB / Downloads: 39)
Dann fand ich eine zweite Möglichkeit. Ebenfalls per Rechtsklick im Textfeld, lässt sich unten die Funktion »Expression« auswählen. Danach erscheint unter dem Textfeld eine zusätzliche Zeile. Schreibt man nun in diese Zeile einfach nur »time«, zeigt das Textfeld immer den aktuellen Frame an. Diese Eingabezeile lässt aber auch Skripte mit Berechnungen und Formatierungen zu. Ich hatte nun ein Skript für einen Counter gefunden und dieses für eine Uhr umgeschrieben.
Das kopiert man einfach in die Zeile und hat eine schöne Uhr, die auch nach dem Rendern noch richtig geht. Außerdem ist die von keiner Zeit abhängig. Man muß nur die richtige Framerate eintragen und seine Startzeit. Am besten wendet man das ganze auf einen Fusion-Clip an und achtet darauf, dass der auch bei Frame 0 beginnt, damit die eingegebene Startzeit auch stimmt.
Bild_004.png (Größe: 76,5 KB / Downloads: 39)
Bild_005.png (Größe: 71,58 KB / Downloads: 37)
Bild_006.png (Größe: 74,26 KB / Downloads: 38)
Edit: Also das ist als Tipp gedacht, nicht als Frage.
Zuerst erstellt man einen normalen Text+, klickt mit rechts in das Textfeld und wählt »TextTimer«. Danach wechselt man von »Tools« zu »Modifiers« und kann dann unter »Mode« zwischen drei Modi auswählen. Für eine Uhr wählt man da natürlich »Clock«.


Dann steht als Text für das Textfeld die aktuelle Systemzeit drin. Das hielt ich zunächst für eine sehr gute Lösung, bis ich einen kleinen Fehler bemerkte. Im Textfeld steht immer die aktuelle Uhrzeit. Auch beim Rendern ist die Uhr nach einer Minute bereits eine Minute weiter gelaufen, selbst wenn das Rendern gar nicht in Echtzeit passiert. Sind nach einer Minute erst 30 Sekunden des Films gerendert, läuft diese Minute im fertigen Film schon in diesen 30 Sekunden ab. Zurück im Bereich »Tools« habe ich per »Remove TextTimer1« die Funktion wieder gelöscht.

Dann fand ich eine zweite Möglichkeit. Ebenfalls per Rechtsklick im Textfeld, lässt sich unten die Funktion »Expression« auswählen. Danach erscheint unter dem Textfeld eine zusätzliche Zeile. Schreibt man nun in diese Zeile einfach nur »time«, zeigt das Textfeld immer den aktuellen Frame an. Diese Eingabezeile lässt aber auch Skripte mit Berechnungen und Formatierungen zu. Ich hatte nun ein Skript für einen Counter gefunden und dieses für eine Uhr umgeschrieben.
Code:
:framerate=25; startstunde=8; startminute=15; startcounter=(((startstunde*60*60)+(startminute*60))*framerate);
stunden=floor((startcounter+time)/framerate/60/60)%60;
minuten=floor((startcounter+time)/framerate/60)%60;
sekunden=floor((startcounter+time)/framerate)%60;
return Text(string.format("%02.f",stunden)..":"..string.format("%02.f",minuten)..":"..string.format("%02.f",sekunden));
Das kopiert man einfach in die Zeile und hat eine schöne Uhr, die auch nach dem Rendern noch richtig geht. Außerdem ist die von keiner Zeit abhängig. Man muß nur die richtige Framerate eintragen und seine Startzeit. Am besten wendet man das ganze auf einen Fusion-Clip an und achtet darauf, dass der auch bei Frame 0 beginnt, damit die eingegebene Startzeit auch stimmt.



Edit: Also das ist als Tipp gedacht, nicht als Frage.