首页 文章

覆盖淡入淡出未显示

提问于
浏览
0

我实际上可以在从开始时间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放大,效果相同

Step 1: adding fade in-out

-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

    使用

    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
    

相关问题