将一系列 jpg 转换为 Ruby 中的 mov 文件(或使用任何语言)

Convert a series of jpg into an mov file in Ruby (or using any language)

我正在 Ruby 中创建一个网站,其中有一系列图像(几乎像 powerpoint),我需要自动将这些图像转换成一个连续的视频文件(mov、mpeg)每个图像显示 5 秒左右。任何人都知道从哪里开始。

如果有工具可以完成工作,我也愿意使用另一种语言。

您或许可以使用 FFmpeg 来完成此操作。这是来自 the FFmpeg Wiki on the subject 的示例:

ffmpeg -framerate 1/5 -i img%03d.jpg -c:v libx264 -r 30 -pix_fmt yuv420p -movflags +faststart out.mp4

这样做的目的是...

  • -i img%03d.jpg
    从名为 img001.jpg、img002.jpg 等
  • 的一系列 JPEG 文件中读取输入
  • -framerate 1/5
    ...每五秒一帧...
  • -c:v libx264
    ...然后将其转换为 H.264/MPEG-4 AVC...
  • -r 30
    ...每秒三十帧...
  • -pix_fmt yuv420p
    ...使用 YUV420 像素格式(实际上,所有 FFmpeg 标志都在这里工作)...
  • -movflags +faststart
    ...编码完成后,将一些数据重新定位到文件的开头,以便在文件完全下载之前可以开始播放...
  • out.mp4
    ...并将其存储到 out.mp4 中。

如果您从 Ruby 使用它,您可能会启动 subprocess。如果您真的想要一个 (QuickTime) .mov 文件而不是 H.264 MPEG-4,那么这些标志将是相似的。