将一系列 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,那么这些标志将是相似的。
我正在 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,那么这些标志将是相似的。