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

FFmpeg complex_filter的loop参数无法实现幻灯片无限循环问题

FFmpeg幻灯片无限循环失效解决方法

问题根因

原配置中loop过滤器缺失关键参数,生成的单次幻灯片流时长固定(约15.5秒),默认配置下loop仅能在原始流的帧范围内循环,无法无限延长流时长匹配音频总长度。同时背景视频未配置循环,也会提前终止导致整体输出提前结束。

修正点说明

  • 给背景视频输入添加-stream_loop -1参数,实现背景视频无限循环
  • 完善loop过滤器参数,明确指定单次循环的帧数量(单次幻灯片时长*输出帧率)
  • loop后新增setpts过滤器重置时间戳,保证循环后播放时序正常

修正后完整代码

ffmpeg -y \
-loop 1 -t 5.5 -i /uploads/2021/07/slide04-scaled.jpg \
-loop 1 -t 5.5 -i /uploads/2021/07/Slide05-scaled.jpg \
-loop 1 -t 5.5 -i /uploads/2021/07/Slide06-scaled.jpg \
-stream_loop -1 -i /slowwmo-videos/intro.mp4 \
-i /uploads/2021/07/busy_bees_01.mp3 \
-filter_complex \
"
[1]fade=d=0.5:t=in:alpha=1,setpts=PTS-STARTPTS+5/TB[a1];
[2]fade=d=0.5:t=in:alpha=1,setpts=PTS-STARTPTS+10/TB[a2];
[0][a1]overlay[b2];
[b2][a2]overlay[slides];
[slides]loop=loop=-1:size=388:start=0,setpts=N/FRAME_RATE/TB,scale=iw/6:ih/6,format=yuv420p,fps=fps=25[pip];
[3][pip]overlay=W-w-100:200[v]
" \
-map [v]:v:0 -map 4:a:0 -vcodec libx264 -profile:v main -video_track_timescale 25000 -pix_fmt yuv420p -s 1280x720 -acodec aac -af aresample=44100 -shortest /slowwmo-videos/busy_bees/7494.ts

参数调整说明

如果后续修改幻灯片单张时长、输出帧率,需要重新计算size参数值:size = 单次幻灯片总时长 * 输出帧率,避免循环衔接异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.09 16:06:03