我目前正在使用以下命令将视频转换为 gif(取自这个例子)
ffmpeg -y -ss 30 -t 3 -i input.flv \
-vf fps=10,scale=320:-1:flags=lanczos,palettegen palette.png
ffmpeg -ss 30 -t 3 -i input.flv -i palette.png -filter_complex \
"fps=10,scale=320:-1:flags=lanczos[x];[x][1:v]paletteuse" output.gif
我想实现的功能是在播放 gif 时在其顶部显示文本,但我对如何添加下面的命令感到有些困惑这个例子
drawtext="fontfile=/path/to/font.ttf: \
text='Stack Overflow': fontcolor=black: x=160: y=-1"
答案1
您可以将其插入到缩放之后、调色板过滤器之前。
ffmpeg -y -ss 30 -t 3 -i input.flv \
-vf fps=10,scale=320:-1:flags=lanczos,drawtext="fontfile=/path/to/font.ttf: \
text='Stack Overflow': fontcolor=black: x=160: y=-1",palettegen palette.png
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