Анимированный gif для avi on linux
Есть ли способ конвертировать анимированный gif в видеоформат (например, .avi
) в Linux?
Я уже пробовал
ffmpeg -i thegif.gif thevideo.avi
но все, что я получаю, это первое изображение видео.
Ответы
Ответ 1
Я могу предложить сочетание imagemagick и ffmpeg
сделайте это, чтобы извлечь каждый кадр как png/jpeg
$magick> convert 'images.gif[0]' image.png
Сделайте это, чтобы преобразовать изображения в последовательность видеороликов
ffmpeg -f image2 -i image%d.jpg video.mpg
Дополнительная помощь по командам
http://www.imagemagick.org/script/command-line-processing.php
http://www.catswhocode.com/blog/19-ffmpeg-commands-for-all-needs
http://electron.mit.edu/~gsteele/ffmpeg/
Ответ 2
Вход ffmpeg gif не работает слишком хорошо. Обычно проще распаковать gif-кадры с помощью convert (из ImageMagick) и обработать их с помощью ffmpeg:
convert some.gif some%05d.png
ffmpeg -i some%05d.png some.avi
rm some*.png
Ответ 3
Если вам нравится иметь определенную частоту кадров в качестве входных данных, потому что результирующее видео должно быстро или замедляться
ffmpeg -r 'xx' -i some%05d.png some.avi
где xx - входная частота кадров.
Ответ 4
Если вам нравится иметь цикл как вывод
ffmpeg -loop 1 -t x -i some%05d.png some.avi
где x - время, в течение которого видео должно запускаться в секундах.
Источник
Ответ 5
Если вы не хотите временных файлов, вы можете попробовать mencoder:
mencoder myfile.gif -mf fps=25 -o myfile.avi -ovc lavc -lavcopts vcodec=mpeg4