ffmpeg - 不显示淡入淡出的叠加层

标签 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 具有相同的效果

第一步:添加淡入淡出
-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

这样,图像被拉伸(stretch)全屏宽度并且高度被切割。但在 5 秒动画期间,图像没有正常调整大小。

我的目标是在视频中放大但不被剪切/拉伸(stretch)的图像。我想让图像在开始时看起来更小,最后看起来更大。可能吗?

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

最佳答案

利用

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

关于ffmpeg - 不显示淡入淡出的叠加层,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50150288/

相关文章:

video - FFmpeg: "filter_complex"导致质量比 "vf"差

c++ - 创建 D3D9 硬件覆盖问题

ios - 关闭 UIImagePickerController 后推送 UIView Controller

android - 如何在android中的相机预览中绘制矩形

video - FFMPEG画中画

video - FFmpeg 不正确地渲染面向纵向的 .mov 文件

node.js - ffmpeg 如何获取 node.js 上的持续时间?

CSS 过渡 : opacity not kicking in .

javascript - jQuery 链接淡入淡出。帮助!

jquery - 动画不透明度无法正常工作