我需要使用imagemagick从具有以下结构的图像列表中生成gif文件:
image [00-15].jpg
image [00-45].jpg
image [01-15].jpg
image [01-45].jpg
image [02-15].jpg
image [02-45].jpg
image [03-15].jpg
image [03-45].jpg
但我需要只使用最近的10张图片。如何使用bash脚本解决它?
答案 0 :(得分:0)
看起来你可以使用ffmpeg。
For creating a video from many images:
ffmpeg -f image2 -framerate 12 -i foo-%03d.jpeg -s WxH foo.avi
The syntax "foo-%03d.jpeg" specifies to use a decimal number composed of three digits padded with zeroes to express the sequence number. It is the same syntax supported
by the C printf function, but only formats accepting a normal integer are suitable.
When importing an image sequence, -i also supports expanding shell-like wildcard patterns (globbing) internally, by selecting the image2-specific "-pattern_type glob"
option.
For example, for creating a video from filenames matching the glob pattern "foo-*.jpeg":
ffmpeg -f image2 -pattern_type glob -framerate 12 -i 'foo-*.jpeg' -s WxH foo.avi
我使用此工具将视频片段与完整剧集合并。
在本地,我可以通过运行ffmpeg -i %02d.png output.gif
获得一个gif,其中我有01.png,02.png,03.png和04.png。你将不得不玩时间和东西的选项,但它是完全可行的。
答案 1 :(得分:0)
不确定我理解你对[]的使用。括号中的括号是否真实?如果没有,那么
convert -delay 50 image*.jpg[-1--10] -loop 0 animation.gif
不幸的是,它会加载你的所有图像并仅使用最后的10个。但是它将使用大量内存来加载所有的jpgs。