2017-07-24 186 views
2

我不僅擁有多個過濾器,還有多個要疊加的輸入。我通常對他們有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 
      
  • 回答

    3

    使用

    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