Как создать GIF высшего качества из видео

ffgif() { p="fps=10,scale=${4:-320}:-1:flags=lanczos"; ffmpeg -y -ss ${2:-0} -t ${3:-0} -i "$1" -vf ${p},palettegen .p.png && ffmpeg -ss ${2:-0} -t ${3:-0} -i "$1" -i .p.png -filter_complex "${p}[x];[x][1:v]paletteuse" "${1%.*}".gif && rm .p.png; }


Команда ffgif() создает высококачественный GIF из видеофайла. Команда использует утилиту ffmpeg для обработки видео и создания гиф-анимации.

Аргументы:
$1 — исходный видеофайл;
${2:-0} — начальное время в формате hh:mm:ss (необязательный параметр, по умолчанию — 0);
${3:-0} — продолжительность в формате hh:mm:ss (необязательный параметр, по умолчанию — 0);
${4:-320} — ширина GIF в пикселях (необязательный параметр, по умолчанию — 320).

В результате работы команды создается файл GIF с тем же именем, что и исходный видеофайл, в той же директории. Время начала и продолжительность гиф-анимации определяются аргументами $2 и $3 соответственно. Если эти аргументы не указаны, то гиф-анимация будет создана на всю продолжительность видеофайла.

Кроме того, GIF будет масштабироваться до указанной ширины ${4:-320} и будет иметь качество, близкое к оригиналу благодаря фильтру flags=lanczos.

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *