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

问题描述 投票:0回答:1

我需要使用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

image ffmpeg overlay yolo
1个回答
0
投票
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行。]

© www.soinside.com 2019 - 2024. All rights reserved.