我有一系列名为 keywords_[time].jpg 的图形,例如
particles_0.03101765477.jpg
particles_3.1327831317.jpg
particles_6.2345486087.jpg
particles_9.3363140857.jpg
时间在增加,但它具有实际价值。当我使用 ffmpeg 生成 gif 时
ffmpeg \
-framerate 60 \
-pattern_type glob \
-i 'figures/particles_*.jpg' \
-r 15 \
-vf scale=512:-1 \
out.gif \
;
,文件未按正确的顺序读取。我该如何解决这个问题?
#!/bin/bash
ls --quoting-style=shell-always -1v figures/*.jpg > tmp.txt
sed 's/^/file /' tmp.txt > list.txt && rm tmp.txt
ffmpeg -f concat -safe 0 -i list.txt -r 30 -vf scale=512:-1 out.gif
exit 0
另存为:
concat_jpg.sh
,然后:chmod +x concat_jpg.sh
figures
父目录运行。figures/
中删除 ls
以从 jpeg 目录内运行。