Время чтения: 6 мин.

По запросу «как конвертировать видео в gif» в интернете находится немало руководств, большинство из них построено на использовании программ с графическим интерфейсом. Но если вас даже чуть-чуть не пугает командная строка, то вы можете получить универсальность и больший контроль. Пусть вас не пугает много текста и без картинок, скорее всего вам потребуется это прочитать и вникнуть в пару моментов всего один раз, последующие гифки вы будете штамповать почти на автомате (а это занятие вызывает привыкание у некоторых).

Утилиты: нам понадобятся FFMpeg, ImageMagick и GIFSicle. Для Windows их можно взять по ссылкам, пользователи альтернативных ОС разберутся сами (им проще, на самом деле).

Сама конвертация состоит из 5 простых шагов.

  1. Открываете видео в своем любимом видеопроигрывателе, находите нужный момент и запоминаете время и продолжительность эпизода, который хотите сохранить в GIF. Лучше взять «с запасом», лишние кадры потом проще удалить.

  2. Сохраняем кадры видео как PNG. У FFMpeg есть некоторые проблемы с сохранением напрямую в GIF, и результирующее качество выходит не очень. (Если знаете, как это решить, прошу в комментарии.)

     ffmpeg -ss 00:05:23 -i 'video.mkv' -r 10 -t 10 -s 320x180 out%04d.png
    

    Давайте разберем все пункты по очереди.

    ffmpeg — если у вас Windows, это должен быть путь к ffmpeg.exe

    -ss 00:05:23 — стартовая позиция, которую мы искали на предыдущем шаге

    -i 'video.mkv' — в кавычках должен быть путь к видео

    -r 10 — количество кадров в секунду (частота кадров). Чем больше число, тем плавнее результат, но больше размер файла. В большинстве случаев не нужно больше 12 и практически никогда не нужно больше 24. Для большинства аниме это 6-12 кадров в секунду. Рекомендуется четное число.

    -t 10 — продолжительность нужного эпизода. Не бойтесь захватить лишнего, его проще удалить на следующем шаге.

    -s 320x180 — размер видео. Дело вкуса, но от этого также прямо зависит размер конечного файла. Размер также зависит от соотношения сторон. Данные цифры приведены для широкоэкранного видео (16:9), для 4:3 можно взять 320x240. Учтите также, что мало кого обрадует гифка сногсшибательного качества, но огромного размера: на большинстве интернет-соединений она будет грузиться очень долго, а тормозить почти везде.

    out%04d.png — название результирующих файлов, рекомендуется оставить без изменений

  3. Перейдите в папку, куда сохранились кадры и удалите лишние, если есть.

  4. Сконвертируем png-файлы в gif с помощью утилиты mogrify, в составе ImageMagick. Следующую команду надо выполнить в директории, где лежат png, полученные на предыдущих шагах. На Windows вместо mogrify должен быть путь к mogrify.exe.

     mogrify -format gif *.png
    
  5. Пришло время объединить gif-файлы в одну анимацию, что нам поможет сделать утилита gifsicle.

     gifsicle --delay=10 --loop --colors 256 *.gif > result.gif
    

    gifsicle — если у вас Windows, это должен быть путь к gifsicle.exe

    --delay=10 — задержка между кадрами последовательности, это важный параметр и он зависит от частоты кадров, которую вы выбрали на 2 шаге. Проще всего его получить, поделив 100 на выбранную частоту.

В результате мы имеем gif-анимацию, довольно приличную в соотношении качество/размер.

Возможные проблемы: Ошибки «Не найдено/Not found» прямо намекают, что вы где-то ошиблись с путями. Не забывайте, что вы можете перетаскивать файлы прямо в командную строку и туда будет помещаться полный путь к ним.

QR Code

Комментарии (3)

Аватар Alex7Kom Alex7Kom

Бонус-трек.

https://dl.dropboxuserconte...

Аватар Артур Артур

Спасибо, сохранил )

Аватар Liquoricesweets Liquoricesweets

Отличный гайд, благодарю.
http://25.media.tumblr.com/...

Темы заметок
access_time share