Есть ли способ конвертировать анимированный GIF-файл в видеоформат (например, .avi) в Linux?
.avi
Я уже пробовал
ffmpeg -i thegif.gif thevideo.avi
но все, что я получаю, это первое изображение видео.
GIF-ввод ffmpeg работает не слишком хорошо.Обычно проще распаковать gif-кадры с помощью convert (из ImageMagick) и обработать их с помощью ffmpeg:
convert some.gif some%05d.png ffmpeg -i some%05d.png some.avi rm some*.png
Я могу предложить комбинацию 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/
Если вы хотите иметь определенную частоту кадров в качестве входного, потому что результирующее видео должно быть быстрым или медленным
ffmpeg -r 'xx' -i some%05d.png some.avi
где xx - частота входного кадра.
Если вам не нужны временные файлы, вы можете попробовать mencoder:
mencoder myfile.gif -mf fps=25 -o myfile.avi -ovc lavc -lavcopts vcodec=mpeg4
Если вы хотите иметь цикл в качестве вывода
ffmpeg -loop 1 -t x -i some%05d.png some.avi
где x - время показа видео в секундах.
Источник