在 Windows 上使用 FFMPEG 将图像转换为视频

在 Windows 上使用 FFMPEG 将图像转换为视频

我正在尝试将一系列 JPEG 图像转换为延时视频。它们的格式为 IMGP0001.JPG、IMGP0002.JPG 等。从外观上看,这应该与 IMGP%04.JPG 模式相匹配。

我尝试过以下命令(根据本页第二条内容修改)

ffmpeg -f image2 -i IMGP%04d.jpg video.mpg

我收到错误“IMGP%04d.JPG:没有此文件或目录”。

我做错了什么?也许语法“IMGP%04d.JPG”是 *nix 特有的?如果是这样,Windows 的等效语法是什么?

答案1

尝试将文件名模板放在双引号中。此外,如果您在脚本中运行该命令,则可能需要使用 %% 而不是 %。

答案2

基于上述 Mike 的回答,还有一些其他有用的开关也适用于 Windows 解决方案。

我使用下面的命令来降低帧速率并压缩图像,从而得到更小的视频:

ffmpeg.exe -f image2 -framerate 25 -pattern_type sequence -start_number 1234 
        -framerate 3 -i "Imgp%%04d.jpg" -s 720x480 test.avi

-framerate 3选项将生成的视频的帧速率设置为每秒 3 帧,这样我就可以在很短的时间内看到每个静态图像。-r如果您需要将输出的帧速率与值不同-framerate,则将其添加为输出选项将更改输出的帧速率。该-s选项将图片重新缩放到所需的分辨率,以管理生成的视频的大小。或者,更灵活的比例过滤器可以代替使用。

-start_number请注意,与 Jason 的上述评论相反,如果使用如下开关,则无需重命名文件:

ffmpeg -f image2 -start_number n -i "IMGP%%04d.jpg" video.mpg 
    -vcodec mpeg4 test.avi

n静止图像序列的开始位置在哪里。

只要序列开始后不中断,这种方法就有效。如果有间隙,而您想包含所有静止图像,则可能需要重新编号来填补间隙。

答案3

还有一种更简单的方法,需要使用免费软件(Total Commander)和免费的 AVI 插件。

参见本文“从静态图像制作动画“,这里

相关内容