我正在使用avconv
将图像转换为视频,但我遇到了一些问题。我的目录中有数千张图像,并且命名为,video_clip_0_0_0_0_0_0_0_0_09_0_102.jpeg
图像没有遵循任何特定顺序,有时在最后一个字段中添加 100,有时添加 103(但肯定会添加大约 100)。使用avconv
命令时:
- 我必须创建一个临时目录。
- 将所有图像复制到该目录中。
convert temp/*.jpeg -delay 10 -morph 10 temp/%05d.jpg.
avconv -f image2 -i temp/%05d.jpeg output.mkv
所有这些事情都花费了太多时间。我不想做所有这些事情,只想在不创建任何临时目录或重命名剪辑等的情况下制作视频。为了方便起见,并节省时间。
答案1
为了在 avconv 中使用图像创建视频,图像必须按顺序排列。否则,它将失败并显示错误消息“IMG_%04d.JPG:没有此文件或目录“
为此,您可以使用以下脚本按顺序重命名文件
a=1
for i in *.JPG; do
new=$(printf "%04d.JPG" ${a}) #04 pad to length of 4
mv ${i} ${new}
let a=a+1
done
重命名文件后,您可以创建视频。您还可以使用“-起始编号“
注意:您需要最新的 9.x 版 avconv 才能使用 -start_number 选项;目前版本不是 0.8.x。或者,您可以使用最新版本的 ffmpeg。或者将文件重命名为以 0 到 4 之间的数字开头,因为它会默认检查这些名称。