Ffmpeg:在视频上叠加两幅图像

Ffmpeg:在视频上叠加两幅图像

我目前使用 OBS 来执行此操作,我必须等到视频录制完成,这可能需要 20 - 40 分钟,具体取决于视频长度...它太长了......

我想要做的是这样的:

背景(视频下方)和覆盖(视频上方):不透明度 20(图 1 和图 2)。

视频(中间):不透明度 50,饱和度 -1(黑白)。

使用 ffmpeg 可以做到吗?如何做到?

答案1

使用 scale2ref、setsar、format、colorchannelmixer、hue 和 overlay过滤器

ffmpeg -i background.png -i video.mp4 -i foreground.png -filter_complex \
"[0][1]scale2ref[img1a][vid];[img1a]setsar=1[img1b]; \
 [vid]format=yuva444p,colorchannelmixer=aa=0.5,hue=s=0[video]; \
 [2][img1b]scale2ref[img2a][img1]; \
 [img2a]format=yuva444p,colorchannelmixer=aa=0.2[img2]; \
 [img1][video]overlay=(W-w)/2:(H-h)/2[bg];[bg][img2]overlay,format=yuv420p[v]" \
-map "[v]" -map 1:a -c:a copy output.mp4

相关内容