Allerdings in einem sehr kleinen Format und es werden keine Millisekunden gezählt sondern Frames...
Ich dachte mir, das sollte man doch auch mit "Hausmitteln" hinbekommen... So schauts jetzt aus:
Code: Alles auswählen
#!/usr/bin/zsh
FPS=30.0
LENGTH=60.0 # in seconds
POINTSIZE=120
for tc in $(seq 0 $((1000 / FPS / 1000)) $((LENGTH))); do
tc=$(printf "%0.4f" $tc | tr "," ".")
S=$(date -u +"%H:%M:%S,%4N" -d "@$tc")
echo -n -e "$S\r" 1>&2
convert -size 1000x$((POINTSIZE + 20)) xc:white -font "FreeMono" -pointsize $POINTSIZE -fill black -annotate +0+$((POINTSIZE - 10)) "$S" png:-
done | ffmpeg -r $FPS -f image2pipe -s 1000x$((POINTSIZE + 20)) -i - -vcodec libx265 test.mp4
Größtes Problem: Es ist wahnsinnig langsam! convert braucht zum erstellen des Bildes eine ganze weile...
Geht das noch irgendwie schneller? Ich mein oft muss man es ja eh nicht ausführen, aber trotzdem