我想知道使用 FFMPEG 是否可以每隔 x 秒/分钟在视频上淡入淡出水印,持续 y 秒/分钟。我尝试过 -filter_complex 看看它是否有帮助,但没有任何结果。
答案1
您可以使用环路滤波器。
ffmpeg -i video -loop 1 -i logo.png -filter_complex
"[1]trim=0:30,fade=in:st=0:d=1:alpha=1,fade=out:st=9:d=1:alpha=1,
loop=999:750:0,setpts=N/25/TB[w];
[0][w]overlay=shortest=1" out.mp4
首先,将徽标图像流修剪为持续时间为x
秒的 30 秒。然后应用 1 秒的淡入和淡出效果。淡出从y-1
秒开始,这里是 9。结果循环 999 次 - 使用足以跨越视频长度的数字。由于我修剪了 30 秒的片段,因此要循环的片段的大小为duration x framerate
,这里30 x 25
= 750
。循环从起始帧开始0
。最后,循环过滤器不会清理时间戳,因此添加了 setpts 以产生单调序列。
然后将流叠加在视频上。