我正在尝试在 10 秒的视频上叠加 10 个不同的图像。我目前能够使用 FFMPEG 在视频的整个时间跨度上叠加一张图像。我希望能够在视频上每秒看到不同的图像。
如果可能的话,我怎么能做到这一点?
问候, 鲁本
我正在尝试在 10 秒的视频上叠加 10 个不同的图像。我目前能够使用 FFMPEG 在视频的整个时间跨度上叠加一张图像。我希望能够在视频上每秒看到不同的图像。
如果可能的话,我怎么能做到这一点?
问候, 鲁本
是的,该命令应类似于以下内容:
ffmpeg -y
-i foo.mp4 -i foo.jpg -i bar.jpg [...put more pics here...]
-filter_complex "
[0:v][1:v] overlay=25:25:enable='between(t,0,1)' [tmp];
[tmp][2:v] overlay=25:25:enable='between(t,1,2)' [tmp]
...continue the same way...
"
bar.mp4
假设您有一个有序的图像序列,一个简单的方法:
ffmpeg -i video.mp4 -pattern_type glob -framerate 1 -i "*.png" \
-filter_complex overlay output.mp4
缺点是所有输入图像需要具有相同的宽度、高度和像素格式:否则叠加的帧可能无法正确显示。