我目前正在嘗試複製一張像這樣的 gif。
但我正在努力解決的問題是,為了製作帶有文字疊加的 gif,我會執行以下命令
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
我知道 ffmpeg 供應商字幕但我不確定這是否可以改變文字的位置以及每秒顯示不同的文字。
我必須製作多張圖像並將它們貼在一起嗎?
答案1
我發現了,ffmpeg 有一個between
選項。因此,您可以指定繪製文字的持續時間,如下所示
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