使用 FFMPEG 每 x 秒/分钟在视频上淡入淡出水印,持续 y 秒/分钟

使用 FFMPEG 每 x 秒/分钟在视频上淡入淡出水印,持续 y 秒/分钟

我想知道使用 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 以产生单调序列。

然后将流叠加在视频上。

相关内容