Erstellen eines GIF mit sekundenschnellem Textwechsel

Erstellen eines GIF mit sekundenschnellem Textwechsel

Ich versuche derzeit, ein GIF wie dieses zu reproduzieren.

Bildbeschreibung hier eingeben

Aber das Problem, mit dem ich kämpfe, ist, dass ich, um ein GIF mit Textüberlagerung zu erstellen, den folgenden Befehl ausführen würde

ffmpeg -ss 30 -t 3 -i input.flv -i palette.png -filter_complex \
"fps=10,scale=320:-1:flags=lanczos,drawtext="fontfile=/path/to/font.ttf: \
 text='Stack Overflow': fontcolor=black: x=160: y=-1"[x];[x][1:v]paletteuse" output.gif

Ich kenne ffmpeg-AnbieterUntertitelaber ich bin nicht sicher, ob dadurch die Position des Textes geändert werden könnte und jede Sekunde ein anderer Text angezeigt werden könnte.

Muss ich mehrere Bilder machen und diese zusammenkleben?

Antwort1

Ich habe es herausgefunden, ffmpeg hat eine betweenOption. So können Sie den Zeichentext für die Dauer wie folgt angeben

ffmpeg -ss 30 -t 3 -i file.flv -filter_complex "fps=10,scale=720:-1:flags=lanczos,drawtext=enable='between(t,0,1)':fontfile=font3.ttf:text='word':fontsize=24:fontcolor=white:x=(w-tw)/2:y=(h/PHI)+th,drawtext=enable='between(t,1,2)':fontfile=font3.ttf:text='word what':fontsize=24:fontcolor=white:x=(w-tw)/2:y=(h/PHI)+th,split[x1][x2];[x1]palettegen[p];[x2][p]paletteuse" output.gif

verwandte Informationen