淡入淡出覆盖不显示

时间:2018-05-03 08:23:37

标签: ffmpeg overlay fade

我实际上可以在视频中心添加叠加图像,从开始时间A到结束时间B.

在这里和那里阅读我尝试为我的叠加图像添加fade-in/fade-out效果,但结果是我的最终视频中根本没有显示图像。

这是我的"实验":

-i output.mp4 -i 1.png -filter_complex "[1:v]format=rgba,scale=300:300,fade=in:st=0:d=1:alpha=1,fade=out:st=5:d=1[im];[0][im]overlay=(main_w-overlay_w)/2:(main_h - overlay_h) / 2:enable='between(t,0,5)'" -pix_fmt yuv420p -c:a copy output_0.mp4

如果理解:

fade=in:st=0:d=1

表示图片应显示在0''具有1''的淡入效果持续时间

fade=out:st=5:d=1

意味着图像应该在5''具有淡出效果1''持续时间

不是吗?

第二部分是在淡入时添加图像的缩放效果,我可以将淡入效果和缩放效果结合起来吗?

我认为像这样的东西应该放大我的图像叠加3秒的持续时间,我可以将它添加到另一个","将滤镜分离到叠加的图像?

zoompan=z='if(lte(zoom,1.0),1.5,max(1.001,zoom-0.0015))':d=3

由于

编辑:

视频长达10秒。我希望图像以淡入淡出显示,并从0到5放大,另一个从5到10放大,效果相同

第1步:添加淡入淡出

-i 0_vid.mp4 -loop 1 -t 1 -i 1.png -filter_complex "[1:v]format=rgba,fade=in:st=0:d=1:alpha=1,fade=out:st=4:d=1:alpha=1[im];[0][im]overlay=(main_w-overlay_w)/2:(main_h - overlay_h)/2:shortest=1" -pix_fmt yuv420p -c:a copy output_0.mp4

使用这种解决方案,淡入效果有效,但甚至没有考虑淡出。

如果我添加缩放:

-i 0_vid.mp4 -loop 1 -t 1 -i 1.png -filter_complex "[1:v]format=rgba,zoompan=z='if(lte(zoom,1.0),1.5,max(1.3875,zoom-0.0015))':d=625,fade=in:st=0:d=1:alpha=1,fade=out:st=4:d=1:alpha=1[im];[0][im]overlay=(main_w-overlay_w)/2:(main_h - overlay_h)/2:shortest=1" -pix_fmt yuv420p -c:a copy output_0.mp4

这样,图像被拉伸全屏宽度并切割高度。但在5秒动画期间,图像不会正常调整大小。

我的目标是在视频中放大图像但不要剪切/拉伸。我希望图像在开始时看起来更小,在结束时看起来更大。有可能吗?

而且,淡出动画我做错了什么

1 个答案:

答案 0 :(得分:0)

使用

ffmpeg -i output.mp4 -i 1.png -filter_complex "[1:v]format=rgba,scale=300:300,zoompan=z='if(lte(zoom,1.0),1.5,max(1.3875,zoom-0.0015))':d=125:s=300x300,fade=in:st=0:d=1:alpha=1,fade=out:st=4:d=1:alpha=1[im];[0][im]overlay=(main_w-overlay_w)/2:(main_h - overlay_h) / 2:enable='between(t,0,5)'" -pix_fmt yuv420p -c:a copy output_0.mp4