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

FFmpeg滚动overlay配置:如何让滚动结束后图片保留至视频末尾

ffmpeg向上滚动叠加图片停滞后固定保留方案

原有命令失效的原因是enable='between(t,0,9)'参数会让overlay滤镜在9秒后直接停止运行,叠加的图片自然不会继续显示。额外叠加一层静态图片的方案虽然能实现效果,但会增加不必要的滤镜计算和资源占用,更简洁的实现方式是直接修改overlay的y轴位置表达式,让滤镜全程运行,9秒后自动固定y轴位置即可,不需要重复叠加图片。

优化后的命令如下:

ffmpeg -i input.mp4 -i image.png -filter_complex "[0][1]overlay=x=0:y='if(lte(t,9),H-2*n,H-2*9*fps)':eval=frame[OUT]" -map [OUT] out.mp4

参数说明:

  • 移除了原有的enable时间限制,让overlay滤镜在整个视频周期内生效,图片不会中途消失
  • y轴位置通过条件表达式控制:
    • 视频播放时间在9秒以内时,沿用原有逐帧上移2像素的逻辑H-2*n
    • 播放时间超过9秒后,y轴直接固定为9秒时的最终停留位置H-2*9*fps,其中fps是ffmpeg自动读取的输入视频帧率,不需要手动修改
  • 新增eval=frame参数,确保y轴表达式逐帧重新计算,避免取值异常

如果你的视频是可变帧率,担心帧计数计算不准,可以把滚动逻辑改成按时间计算移动速度,比如要保持和原逻辑一致的移动速度(以30帧视频为例,每帧2像素即每秒移动60像素),可以把y表达式替换为y='if(lte(t,9),H-60*t,H-60*9)',计算逻辑会更稳定,不受帧率波动影响。


内容的提问来源于stack exchange,提问作者Sark

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 19:48:33