FFmpeg 在对象后面叠加图像

FFmpeg 在对象后面叠加图像

我有一个视频,其中有一个场景需要叠加一张照片。该场景如下所示。

原来的

我在图片中间做了简单的叠加

ffmpeg -i demo.mp4 -loop 1 -i image.png -filter_complex "[1:v] fade=t=in:st=0:d=1.5:alpha=1, loop=loop=-1:size=120[fg];
[0:v][fg] overlay=520:230:enable='between(t,15,19)':shortest=1" -crf 22 -threads 2 -preset ultrafast output.mp4

结果还不错

我的结果

但也许有办法把图像放在框架后面?这样它就只覆盖在像素为黑色的地方

答案1

彩色键

ffmpeg -i demo.mp4 -i image.png -filter_complex "
[0]scale=640:-2,pad=720:404:(ow-iw)/2:(oh-ih)/2[b];
[1]format=rgb24,colorkey=black:0.05:0[f];
[b][f]overlay
" output.mp4 -y

相关内容