Я пытаюсь использовать FFmpeg чтобы преобразовать группу Png в gif, устанавливая продолжительность каждого кадра и используя оптимальную палитру (и другие параметры, такие как dither) для одной команды.

Я читал страницу FFmpeg, но в примерах используются две команды и временный файл palette.png .


Вот что я получил, не используя palettegen и paletteuse:

-vsync 2 -safe 0 -f concat -i "concat.txt" -y "example.gif"

Файл concat.txt содержит путь и продолжительность каждого кадра, например:

file 'C:\0.png'  
duration 0.066 

Он выводит GIF с палитрой по умолчанию, как и ожидалось.


Итак, мой вопрос: как я могу использовать palettegen и paletteuse в одной команде без временного файла?

1 ответ1

1

Хорошо, теперь это работает с этой командой из другого ответа SuperUser:

-vsync 2 -safe 0 -f concat -i "concat.txt" 
-lavfi palettegen=stats_mode=single[pal],[0:v][pal]paletteuse=new=1 -y "example.gif"

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