我需要使用ffmpeg在视频中添加图像叠加层。ffmpeg -i test.mp4 -i logo.png -filter_complex "[0:v][1:v] overlay=10:10:enable='between(t,1,10)'" output.mp4
我尝试了上面的代码,但是覆盖图像的尺寸非常高,并且显示在框架的顶部位置。Image1image1显示运行以上代码后得到的结果。我需要像image2这样的输出。image2
ffmpeg test.mp4 -i logo.png -filter_complex "\
[1][0]scale2ref=w=oh*mdar:h=ih/10[logo][input0];\
[input0][logo]overlay=x=main_w*0.05:(main_h-overlay_h)-(main_h *
0.1):enable='between(t,1,10)'" output.mp4
行描述:
x=main_w*0.05
->将徽标放置在距离屏幕左边缘5%的位置;(main_h-overlay_h)-(main_h * 0.1)
->将徽标放置在距离屏幕底部10%的位置;如果您希望徽标淡入而不是突然出现,请使用此:
ffmpeg -i test.mp4 -loop 1 -i logo.png -filter_complex "\
[1][0]scale2ref=w=oh*mdar:h=ih/10[logo][input0];\
[logo]format=rgba,\
fade=in:\
st=1:\
d=0.5:\
alpha=1\
,fade=out:st=6:d=0.5:alpha=1\
[logo2];\
[input0][logo2]overlay=x=main_w*0.05:(main_h-overlay_h)-(main_h * 0.1):" output.mp4
((如果不想淡出,可以删除第8
行。]