使用 ffmpeg 每 5 秒生成一个带有图像的视频

使用 ffmpeg 每 5 秒生成一个带有图像的视频

我想通过命令行创建一个包含如下图像的视频:

-rw-r--r--  1 dt dt   3360622 Sep  4 23:57  IMG_0670.jpg
-rw-r--r--  1 dt dt   2949398 Sep  4 23:57  IMG_0671.jpg
-rw-r--r--  1 dt dt   3710442 Sep  4 23:57  IMG_0675.jpg
-rw-r--r--  1 dt dt   4569791 Sep  4 23:57  IMG_0680.jpg
-rw-r--r--  1 dt dt   5235626 Sep  4 23:57  IMG_0681.jpg
-rw-r--r--  1 dt dt   3688616 Sep  4 23:57  IMG_0682.jpg
-rw-r--r--  1 dt dt   5149644 Sep  4 23:57  IMG_0684.jpg
-rw-r--r--  1 dt dt   3415468 Sep  4 23:57  IMG_0686.jpg

每 5 秒变化一次:

0s - - - - 5s - - - - 10s - - - - 15s...
img1.jpg...img2.jpg...img3.jpg....img4.jpg...
           ^          ^
           |          |
         change     change

我尝试使用的命令是:

ffmpeg -y -framerate 25-pattern_type glob -i '*.jpg' -c:v libx264 -profile:v high -crf 20 -pix_fmt yuv420p output.mp4

但是它会生成一个2秒的视频,其中图像停留时间为0.01秒......

在这个问题中,我发现我可以-loop 1 -t 5在输入前添加以使其停留更多秒数。命令变成这样:

ffmpeg -y -framerate 25 -loop 1 -t 5 -pattern_type glob -i '*.jpg' -c:v libx264 -profile:v high -crf 20 -pix_fmt yuv420p output.mp4

但现在我的视频大小超过 1 Gb(我中断了命令)。我该怎么做?

相关内容