我需要使用从以下结构的图像列表ImageMagick的GIF文件生成:最后的10张图像转换成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脚本解决它?
我需要使用从以下结构的图像列表ImageMagick的GIF文件生成:最后的10张图像转换成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脚本解决它?
它看起来像你可以使用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。你将不得不玩弄时间和东西的选项,但它完全可行。
不知道我是否理解你对[]的使用。括号是否在你的文件名中是真实的?如果没有,那么
convert -delay 50 image*.jpg[-1--10] -loop 0 animation.gif
不幸的是,它会加载所有的图像,并使用只有最后的10,但它会使用大量的内存来加载所有的JPG文件。
是括号内是我的名实。大约每30分钟添加一个新文件。这就是为什么我要与最后10幅图像创建动画。 – armando85
小澄的问题 - 如果抱歉,这听起来很愚蠢:做文件名看起来* *完全相同像'图像[00-15] .jpg',或者使用'[...]'来表示某种范围是多少?添加一个实际图像的小列表可能会很有趣且有用。 –
是文件名看起来就像图像[00-15] .JPG。大约每30分钟添加一个新文件。这就是为什么我要与最后10幅图像创建动画。 – armando85