使用 ffmpeg 从图像 url 生成视频

Generate a video from an image url with ffmpeg

我需要使用单张图片生成几秒钟的视频。 我试过 loop 参数:

ffmpeg -loop 1 -t 4.5 -i https://url/to/image.jpg ...

它有效,但似乎 ffmpeg 为每一帧请求 url。默认 framerate 是 25,因此它会为 4 秒的视频发出 100 个请求。

我无法将framerate设置为1,因为我添加了文字动画,因此帧应该经常更改。

但即使可以,我也不想每秒请求相同的图像。

作为解决方法,我可以先下载图像,然后使用本地版本。这样视频生成会快很多。

但是无论如何,是否有可能强制 ffmpeg 以某种方式缓存该图像并将其用于每一帧?

改用 loop and trim 过滤器。

ffmpeg -i https://url/to/image.jpg -vf "loop=-1:1:0,trim=duration=4.5"  ...