ffmpeg 复杂过滤器 pip 循环不起作用

ffmpeg complex filter pip loop not working

我正在使用 ffmpeg 复杂过滤器来:

  1. 将多张图片制作成幻灯片
  2. 将幻灯片放映缩放到其原始大小的 1/6
  3. 无限循环播放幻灯片
  4. 将循环幻灯片放映设置为另一个循环视频上的画中画

然后从决定最终视频最大长度的另一个文件中添加音频。

除第 3 步外一切正常。

这是我的代码(分为几行):

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 
-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,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
ffmpeg -y
-framerate 25 -loop 1 -t 5.5 -i /uploads/2021/07/slide04-scaled.jpg
-framerate 25 -loop 1 -t 5.5 -i /uploads/2021/07/Slide05-scaled.jpg
-framerate 25 -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
"[0][1]xfade=transition=fade:duration=0.5:offset=5[fade];
 [fade][2]xfade=transition=fade:duration=0.5:offset=9.5,scale=iw/6:-1,loop=loop=-1:size=375[pip];
 [3:v]scale=1280:720[bg];[bg][pip]overlay=W-w-100:200,format=yuv420p[v]"
-map "[v]" -map 4:a -c:v libx264 -c:a aac -shortest output.ts
  • 使用-stream_loop循环intro.mp4
  • loop filter需要你告诉它要循环多少帧。
  • xfade offers more transition effects and eliminates the need for additional setpts and overlay. To figure out offset timing see .