You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

FFmpeg添加淡入淡出效果的Overlay图片无法显示求助

修复FFmpeg Overlay淡入淡出不显示的问题

我帮你排查了命令里的核心问题,主要是淡出效果的时间和overlay的启用范围不匹配,导致图片还没正常渲染就被禁用了。下面是具体分析和修正方案:

问题点拆解

你的测试命令里存在一个时间线冲突:

  • 淡出效果设置为fade=out:st=5:d=1,意味着图片从第5秒开始淡出,持续1秒到第6秒
  • 但overlay的enable='between(t,0,5)'限制了图片仅在0-5秒显示,第5秒一到就立刻关闭overlay,淡出效果完全没有执行的机会,甚至可能让FFmpeg无法正确初始化图片渲染

修正后的完整命令

ffmpeg -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=4: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:v libx264 output_with_overlay.mp4

关键调整说明

  • 对齐淡出时间与overlay范围:把fade=out:st=5改成st=4,让淡出从第4秒开始,持续1秒到第5秒,刚好和overlay的between(t,0,5)结束时间匹配,保证淡出效果完整执行
  • alpha通道处理保留:format=rgba为图片添加透明通道,fade的alpha=1参数正确作用于透明度,这部分无需修改
  • 补全编码器参数:补充-c:v libx264指定H.264编码器,保证输出视频的兼容性和质量

额外优化方案(完整淡入淡出周期)

如果想要图片完整走完「0-1秒淡入→1-5秒正常显示→5-6秒淡出」的流程,可以把overlay的启用范围延长到第6秒,命令如下:

ffmpeg -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,6)'" -pix_fmt yuv420p -c:v libx264 output_with_overlay.mp4

这样图片的淡入淡出效果会完整呈现,不会出现中途消失的问题。

内容的提问来源于stack exchange,提问作者Pier Giorgio Misley

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 10:37:44