Ответ Саймона П Стивенса почти привел меня туда:
ffmpeg -f image2 -i image%d.jpg video.avi
ffmpeg -i video.avi -pix_fmt rgb24 -loop_output 0 out.gif
Давайте посмотрим, сможем ли мы разобраться с этим.
Переход через avi не нужен.-pix_fmt
из rgb24
недопустимо, а опция -loop_output
предотвращает зацикливание, что мне не нужно.Мы получаем:
ffmpeg -f image2 -i image%d.jpg out.gif
Мои входные изображения помечены нумерованным 3-значным числом, и у меня их 30 (image_001.jpg, image_002.jpg, ...), поэтому мне нужноисправьте спецификатор формата
ffmpeg -f image2 -i image_%003d.jpg out.gif
Мои входные изображения с моей камеры телефона, они слишком большие!Мне нужно уменьшить их.
ffmpeg -f image2 -i image_%003d.jpg -vf scale=531x299 out.gif
Мне также нужно повернуть их на 90 градусов по часовой стрелке
ffmpeg -f image2 -i image_%003d.jpg -vf scale=531x299,transpose=1 out.gif
Этот GIF будет играть с нулевой задержкой между кадрами, что, вероятно, не то, что мыхочу.Укажите частоту кадров входных изображений
ffmpeg -f image2 -framerate 9 -i image_%003d.jpg -vf scale=531x299,transpose=1 out.gif
Изображение слишком большое, поэтому я обрежу небо на 100 пикселей.Транспонирование делает это непростым делом, я использую значения x и y после поворота:
ffmpeg -f image2 -framerate 9 -i image_%003d.jpg -vf scale=531x299,transpose=1,crop=299,431,0,100 out.gif
Окончательный результат - я могу поделиться с миром удивительным выражением лица моего приятеля: