如何使用ffmpeg应用多个过滤器和输入

问题描述:

我不仅拥有多个过滤器,还有多个要叠加的输入。我通常对他们有2-3个步骤,并想知道如何在一个命令中完成这一切,因为它应该是最有效的方式?如何使用ffmpeg应用多个过滤器和输入

1和2字面相同。为了便于阅读,我剪掉了非常长且复杂的实际过滤器。在左到视频取输出的1

  • ,在右
  • 图像幻灯片

    1. 图像幻灯片以输出2,文本框图像淡入
    2. 以输出3,在(光洁度)文本褪色

      1) 
      ffmpeg -i input.mp4 -loop 1 -i image.jpg -filter_complex \ 
           "[1]scale=640:-1[i0]; \ 
           [i0]drawbox=color=white:t=15[i1]; \ 
           [i1]format=,fade=[i2]; \ 
           [i2]rotate=[i3]; \ 
           [0][i3]overlay= \ 
      -c:v libx264 -vb 10M output1.mp4 
      
      2) 
      ffmpeg -i output1.mp4 -loop 1 -i image2.jpg -filter_complex \ 
           "[1]scale=[i0]; \ 
           [i0]drawbox=[i1]; \ 
           [i1]format=,fade=[i2]; \ 
           [i2]rotate=[i3]; \ 
           [0][i3]overlay=" \ 
      -c:v libx264 -vb 10M output2.mp4 
      
      3) 
      ffmpeg -i output2.mp4 -i image3.jpg -filter_complex \ 
           "[1]scale=1080:-1 [ovrl], \ 
           [ovrl]format=fade=[i]; \ 
           [0][i]overlay=" \ 
      -c:v libx264 -vb 10M output4.mp4 
      
      
      4) 
      ffmpeg -i output4.mp4 -filter_complex "drawtext=" -vb 10M finaloutput.mp4 
      
  • 使用

    ffmpeg -i input.mp4 -loop 1 -i image.jpg -loop 1 -i image2.jpg -loop 1 -i image3.jpg \ 
    -filter_complex \ 
        "[1]scale=640:-1,drawbox=color=white:t=15,format=,fade=,rotate=[i1]; \ 
        [2]scale=,drawbox=,format=,fade=,rotate=[i2]; \ 
        [3]scale=1080:-1,format=,fade=[i3]; \ 
        [0][i1]overlay=shortest=1[o1]; \ 
        [o1][i2]overlay=shortest=1[o2]; \ 
        [o2][i3]overlay=shortest=1,drawtext=" \ 
    -b:v 10M finaloutput.mp4 
    
    +0

    太棒了,真的很简洁!但是,我收到错误“找不到选项循环” – Jason

    +0

    使用-report运行命令并共享日志。 – Mulvya

    +0

    https://pastebin.com/HJru0mBc – Jason