Подтвердить что ты не робот

Как сгенерировать gif из avi с помощью ffmpeg?

Я пытаюсь извлечь часть видео в анимированный gif, используя следующую команду:

ffmpeg -i video.avi -t 5 out.gif

Он генерирует анимированный gif, но качество безумное. Однако, когда я генерирую gif-образ, используя:

ffmpeg -i video.avi -t 10 out%d.gif

Он генерирует приемлемое качество gif-изображений. Как я могу сгенерировать анимированный gif с помощью первой команды, но с тем же качеством, что и вторая команда?

4b9b3361

Ответ 1

У меня была аналогичная проблема, пытаясь создать высококачественный анимированный gif из серии изображений, извлеченных из фильма.

По некоторым причинам анимированный gif, сгенерированный с помощью ffmpeg, содержит только 103 цвета, допускающих использование фиксированной цветовой палитры системы уровня 256, что приводит к ужасающему результату. Мое решение было вместо

ffmpeg -i video.avi -t 10 out%02d.gif

затем

gifsicle --delay=10 --loop *.gif > anim.gif

Качество тогда неплохое. Вы можете найти gifsicle здесь

Изменить: Обновлено сообщение, чтобы отразить предложения Alex Kahn.

Ответ 2

Я еще не сделал анимированный GIF, но вы можете попробовать использовать параметр скорости передачи бит, чтобы указать качество, несмотря на то, что оно является изображением (и, по-видимому, без ставки). Качество миниатюр соответствует параметру -b. Если вы, сумасшедший, имеете в виду "безумно плохо", вы можете указать очень высокую скорость передачи битрейта и битрейта (не уверены, используете ли вы источник vbr или cbr). (или сделать наоборот, если вы имеете в виду, что это слишком хорошо, и вы хотите ограничить размер)

'-b', '10000000','-bt', '20000000'

В качестве альтернативы вы также можете изменить размеры с помощью параметра -s, который примет обычное представление размеров, таких как "1920X1200".

Это действительно зависит от битрейта и сжатия исходного материала и того, на что вы надеетесь, будет gif. Возможно, подумайте о том, чтобы предоставить больше информации, чем "безумные", но я думаю, что это даст вам хорошее начало в любом случае. Удачи.