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

FFMPEG双输入反向第二路图像序列制作平滑循环GIF问题求助

FFMPEG 生成无缝往返滚动GIF操作方案

原有命令问题

  • 仅调用了第二路输入做反向处理,完全未使用第一路正向输入,也没有做两路流的拼接,最终输出仅包含反向滚动内容
  • 调色板仅基于反向流的帧生成,正向帧套用后会出现明显颜色偏差

可用命令

ffmpeg -f image2 -i ./tmp/frame-%03d.jpg -f image2 -i ./tmp/frame-%03d.jpg \
-filter_complex "[0:v]fps=25,scale=200:-1:flags=lanczos[forward];[1:v]reverse,fps=25,scale=200:-1:flags=lanczos[backward];[forward][backward]concat=n=2:v=1:a=0,split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse" \
-loop 0 ./tmp/test.gif

参数说明

  • 分别处理两路输入:第一路[0:v]保留原始向下滚动效果,输出为[forward]流;第二路[1:v]通过reverse滤镜处理为向上滚动效果,输出为[backward]流
  • 用concat滤镜拼接两路流,n=2指定拼接2路视频流,a=0标记无音频流
  • 拼接后的流拆分后一路生成全局调色板,一路套用调色板,保证所有帧颜色显示准确
  • -loop 0设置GIF无限循环

可选优化

如果正向最后一帧和反向第一帧完全相同,会出现短暂停留的卡顿感,可以在反向流处理步骤加trim滤镜切掉首帧:
将[1:v]reverse,fps=25,scale=200:-1:flags=lanczos[backward]
替换为
[1:v]reverse,trim=start_frame=1,fps=25,scale=200:-1:flags=lanczos[backward]
即可消除卡顿。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.08 15:06:04