Анимированная гифка (gif) из видеофайла с помощью программы FFMPEG

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
Ссылки, описания, дополнительная информация для моих уроков на YouTube
Canonical Link
Аватара пользователя

Автор темы
aeplug
Санта
Санта
Сообщения: 2802
Зарегистрирован: 18 мар 2016 23:20
Откуда: С Ютуба
Благодарил (а): 18 раз
Поблагодарили: 274 раза

Анимированная гифка (gif) из видеофайла с помощью программы FFMPEG


Теги:

Сообщение aeplug » 19 дек 2016 11:31

poster joker.jpg
poster joker.jpg (22.12 КБ) 6149 просмотров
poster joker.jpg
poster joker.jpg (22.12 КБ) 6149 просмотров

В какой-то момент передо мной встала задача создания небольших анимированных GIF файлов. Осмотревшись вокруг, остановил свой выбор на программе FFMPEG, все равно я активно ее использую для перекодирования видео файлов. Это консольная программа, для которой достаточно один раз составить команду с нужными параметрами. Кому-то это покажется слишком сложным, для меня же было плюсом. Новички же могут попробовать использовать для это обычный Photoshop, ведь теперь в нем можно открывать видео файлы. Еще одна программа способная помочь - Gifsicle. Её задача - оптимизация gif для уменьшения размеров файла.

Как создать GIF анимацию из видео с FFMPEG
https://www.youtube.com/watch?v=FGaA2n_Urx0
SS Joker WoW.gif
SS Joker WoW.gif (1.58 МБ) 6167 просмотров
SS Joker WoW.gif
SS Joker WoW.gif (1.58 МБ) 6167 просмотров

На последнем стриме меня попросили еще раз рассказать про создание гифок и я обещал выложить BAT файл, который использую последнее время. В нем вы обнаружите четыре команды, которые возможно захотите изменить:

Код: Выделить всё

SET param=fps=20,scale=480

Задает частоту кадров в готовом gif и его размер в пикселях по ширине. Высота подберется автоматически, сохраняя пропорции исходного файла. Чем больше эти параметры, тем приятнее глазу, но увеличит размер gif файла.

Код: Выделить всё

"e:\FFmpeg\bin\ffmpeg.exe" -i %1 -vf "%param%:-1:flags=lanczos, palettegen=stats_mode=diff:max_colors=64" -y "palette.png"

Создание палитры с используемыми цветами. Так как количество цветов в gif файлах ограничено 255 (+прозрачность), необходимо использовать параметр max_colors для более точно цветопередачи, но сохранения небольшого размера. Больше цветов - лучше картинка, больше размер.

Код: Выделить всё

"e:\FFmpeg\bin\ffmpeg.exe" -y -i %1 -i "palette.png" -lavfi "%param%:-1:flags=lanczos [x]; [x][1:v] paletteuse=dither=floyd_steinberg" %1.gif

Здесь задаются параметры дизеринга. Это позволяет в условиях фактически ограниченной палитры цветов сохранить их количество для восприятия человеком. Тут можно посмотреть примеры работы этих алгоритмов: http://blog.pkh.me/p/21-high-quality-gif-with-ffmpeg.html
дизеринг.gif
дизеринг.gif (56.56 КБ) 6118 просмотров
дизеринг.gif
дизеринг.gif (56.56 КБ) 6118 просмотров

Код: Выделить всё

"e:\gifsicle\gifsicle.exe" --careful -O3 %1.gif -o %1_cO3.gif

Финальный штрих - уменьшение размера новой гифки за счет оптимизации в программе Gifsicle. Вроде и так работает. Ничего менять не нужно. А вот и ссылка на сам готовый файл:
gif-all-last.zip
(386 байт) 932 скачивания
gif-all-last.zip
(386 байт) 932 скачивания

Конечно перед использованием надо заменить пути исполняемых файлов на свои и хоть немного понимать в работе пакетных файлов. Да-да, пора взрослеть 8-)
GIF creation example FFMPEG.gif
GIF creation example FFMPEG.gif (195.47 КБ) 6124 просмотра
GIF creation example FFMPEG.gif
GIF creation example FFMPEG.gif (195.47 КБ) 6124 просмотра


. :info: .
Полезные ссылки:



Видео уроки для After Effects http://www.youtube.com/AEPlug
Платные консультации по работе в программах

Теги:


Аватара пользователя

denim_free
Нуб
Нуб
Сообщения: 2
Зарегистрирован: 27 окт 2017 03:07

Palette.png НЕ РОЖДАЕТСЯ

Сообщение denim_free » 27 окт 2017 03:18

С вашим батником у меня не конвертится. Что не так — не пойму.
https://yadi.sk/i/5aw5s-783P8n3D
https://yadi.sk/i/vYyHMEdU3P8n3P
https://yadi.sk/i/8d9VnO6O3P8n3V

Аватара пользователя

Автор темы
aeplug
Санта
Санта
Сообщения: 2802
Зарегистрирован: 18 мар 2016 23:20
Откуда: С Ютуба
Благодарил (а): 18 раз
Поблагодарили: 274 раза

Сообщение aeplug » 27 окт 2017 06:35

Я из этих скринов ничего не понял.
Видео уроки для After Effects http://www.youtube.com/AEPlug
Платные консультации по работе в программах

Аватара пользователя

denim_free
Нуб
Нуб
Сообщения: 2
Зарегистрирован: 27 окт 2017 03:07

Сообщение denim_free » 28 окт 2017 03:33

это один скрин порциями по три. Я уж тем более ничего не понял из них... как то муторно с вашим подходом у меня вышло.. но любопытство однако

Аватара пользователя

Автор темы
aeplug
Санта
Санта
Сообщения: 2802
Зарегистрирован: 18 мар 2016 23:20
Откуда: С Ютуба
Благодарил (а): 18 раз
Поблагодарили: 274 раза

Сообщение aeplug » 28 окт 2017 08:06

А я предупреждал, не самый простой способо, попробуй фотошопом.
Видео уроки для After Effects http://www.youtube.com/AEPlug
Платные консультации по работе в программах


Вернуться в «Мои уроки»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей