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

Ссылки, описания, дополнительная информация для моих уроков на YouTube
Аватара пользователя

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

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


Теги:

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

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

В какой-то момент передо мной встала задача создания небольших анимированных 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 МБ) 5535 просмотров
SS Joker WoW.gif
SS Joker WoW.gif (1.58 МБ) 5535 просмотров

На последнем стриме меня попросили еще раз рассказать про создание гифок и я обещал выложить 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 КБ) 5486 просмотров
дизеринг.gif
дизеринг.gif (56.56 КБ) 5486 просмотров

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

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

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

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


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



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

Теги:


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

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

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

Сообщение #2 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 раза
Контактная информация:

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

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

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

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

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

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

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

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

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

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


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

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

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