来自大量jpg文件的动画

时间:2016-01-06 23:24:41

标签: animation imagemagick jpeg

我在目录中有超过100,000个jpg图像,并希望从这些文件创建动画。这些文件从file1到file125000按顺序编号。我尝试过使用ImageMagick和许多其他免费工具,但还没有工作。 3个小时后,imagemagick发出一个错误消息,指出文件数量太大。有没有可以处理这个的工具(Windows)?

1 个答案:

答案 0 :(得分:1)

您可以将ffmpeg与以下命令一起使用:

def validate_payee(self, value):
      import ipdb; ipdb.set_trace()
      if "  (NEW)" not in value:
        return value
      else:
        payee = value.replace("  (NEW)", "")
        contact = Contacts.objects.create(name = payee)
        value = contact.no
        return value

ffmpeg命令行的结构如下:

ffmpeg.exe -f image2 -r 30 -i image%06d.jpg -codec:v libx264 -crf 23 video.mp4

输入参数是:

  • -f :用于强制输入或输出格式。在我的示例中用于指示输入文件旨在被解析为 image2 ,这是一种内部ffmpeg格式,可用于使用模式指定多个图像;
  • -r :可用于强制输入或输出的帧速率。如果仅用于输入,则继承输出帧速率。
  • -i image%06d.jpg :此标志指定读取包含6位整数的所有图像,并填充前导零(从 image000000.jpg image999999.jpg )。当然ffmpeg将在最后一个现有文件中停止。

其他参数用于指定输出格式和视频编解码器。特别是:

  • -codec:v libx264 :指定视频编解码器(x264使用libx264)
  • -crf 23 :此参数是x264编码器特有的,用于指定Constant RateFactor,并影响输出比特率等。
  • video.mp4 :如果未指定,FFMpeg会尝试从输出文件名中猜测输出格式。在我的例子中,我使用 .mp4 ,因此FFmpeg将使用libx264编码器和MP4格式对视频进行编码。

FFMpeg windows build可以从zeranoe下载

编辑:如果您的图片名称没有前导零,请尝试使用文件%6d.jpg而不是文件%06d.jpg作为输入文件名(不带0)。