使用静态图像制作视频

使用静态图像制作视频

我正在使用avconv将图像转换为视频,但我遇到了一些问题。我的目录中有数千张图像,并且命名为,video_clip_0_0_0_0_0_0_0_0_09_0_102.jpeg图像没有遵循任何特定顺序,有时在最后一个字段中添加 100,有时添加 103(但肯定会添加大约 100)。使用avconv命令时:

  1. 我必须创建一个临时目录。
  2. 将所有图像复制到该目录中。
  3. convert temp/*.jpeg -delay 10 -morph 10 temp/%05d.jpg.
  4. 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 之间的数字开头,因为它会默认检查这些名称。

相关内容