![FFMpeg 循环背景视频和叠加](https://linux22.com/image/1564507/FFMpeg%20%E5%BE%AA%E7%8E%AF%E8%83%8C%E6%99%AF%E8%A7%86%E9%A2%91%E5%92%8C%E5%8F%A0%E5%8A%A0.png)
我正在尝试叠加两个视频。我的第一个输入视频时长 20 分钟,第二个输入的背景视频时长 1 分钟。我成功地叠加了它们,但当我在 1 分钟后尝试播放时(当我的第二个输入的背景视频结束时),我的两个视频都卡住了,音频仍在播放。我怎样才能循环播放第二个输入,直到第一个输入完成。
这是我的代码:
ffmpeg -i clip.mp4 -i motion_bg.mp4
-filter_complex "
[0:v] setpts=PTS-STARTPTS, scale=1280x720 [lowerleft];
[1:v] setpts=PTS-STARTPTS, scale=1920x1080[center];
[center][lowerleft] overlay=shortest=1:y=360
"
-c:v libx264 -c:a copy overlay_test.mp4
答案1
背景需要循环播放,目前可以使用影片滤镜,并设置循环播放选项。
使用
ffmpeg -i clip.mp4 -f lavfi -i movie=motion_bg.mp4:loop=0
-filter_complex "
[0:v] setpts=PTS-STARTPTS, scale=1280x720 [lowerleft];
[1:v] setpts=PTS-STARTPTS, scale=1920x1080[center];
[center][lowerleft] overlay=shortest=1:y=360
"
-c:v libx264 -c:a copy overlay_test.mp4