В настоящее время я конвертирую видео в 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 ответ1

2

Вы вставляете его после масштабирования, но до фильтров палитры.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .