Краткий справочник

Шпаргалка по созданию и оптимизации GIF-анимаций

Краткое руководство по созданию, конвертации и оптимизации анимированных GIF из видео с помощью FFmpeg, ImageMagick и Gifsicle.

· Опубликовано

Краткий справочник по конвертации видеофайлов в качественные анимированные GIF с помощью консольных утилит.

Современный подход с FFmpeg (Рекомендуется)

Создание оптимизированных GIF с предварительной генерацией палитры в одну команду:

ffmpeg -ss 00:00:02 -to 00:00:08 -i input.mp4 \
  -vf "fps=15,scale=480:-1:flags=lanczos,split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse" \
  -loop 0 output.gif

Классический пайплайн ImageMagick и Gifsicle

Конвертация MP4 в GIF через mplayer и gifsicle

mkdir -p gif
mplayer -ao null -vo gif89a:outdir=gif "$INPUT"
mogrify -format gif *.png
gifsicle --colors=256 --delay=4 --loopcount=0 --dither -O3 gif/*.gif > "${INPUT%.*}.gif"
rm -rf gif

Требуются mplayer, imagemagick и gifsicle. Извлекает отдельные кадры видео и объединяет их в сжатый GIF.

Обрезка по времени

Извлечение только определенного фрагмента видео по таймкодам:

mplayer -ao null -ss 0:02:06 -endpos 0:00:15 -vo gif89a:outdir=gif videofile.mp4
  • -ss [time]: Начальный таймкод.
  • -endpos [duration]: Длительность обрабатываемого отрезка.

Оптимизация и сжатие в Gifsicle

Сжатие с потерями и сокращение палитры для радикального уменьшения размера файла GIF:

# Уменьшение количества цветов и оптимизация сжатия
gifsicle -O3 --colors 128 input.gif -o output.gif

# Сжатие с потерями (сильное уменьшение веса)
gifsicle -O3 --lossy=80 input.gif -o output.gif

Связанные темы