如何使用ffmpeg在视频的特定位置添加图像



我需要使用ffmpeg在视频中添加图像覆盖。ffmpeg -i test.mp4 -i logo.png -filter_complex "[0:v][1:v] overlay=10:10:enable='between(t,1,10)'" output.mp4我尝试了上面的代码,但覆盖图像的大小非常高,它显示在框架的顶部位置。图片1图片1显示了运行上述代码后得到的结果。我需要像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

线路描述:

  1. 使徽标高度为视频高度的10%
  2. 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行。(

之所以会发生这种情况,是因为图像的尺寸(宽度、高度(很大。您需要缩放图像。简单。

ffmpeg -i test.mp4 -i logo.png -filter_complex "[1]scale=300:100;[0:v][1] overlay=10:10:enable='between(t,1,10)'" output.mp4

相关内容

  • 没有找到相关文章

最新更新