將縮放與淡入淡出結合ffmpeg

將縮放與淡入淡出結合ffmpeg

我一直在通過在互聯網上找到的任何教程來嘗試 FFmpeg,但我對如何將縮放效果與一系列圖像的淡入和淡出結合起來有點困惑。

在結合我發現的一些範例後,我得到了以下內容,但看起來我得到的結果是連續的,而不是我想像的那樣。

任何為我指明正確方向的指示將不勝感激。

ffmpeg \ 
-loop 1 -t 5 -i input/slideshow/img0001.jpeg 
-loop 1 -t 5 -i input/slideshow/img0002.jpeg \
-loop 1 -t 5 -i input/slideshow/img0003.jpeg \
-loop 1 -t 5 -i input/slideshow/img0004.jpeg \
-filter_complex \
"[0:v]zoompan=z='if(lte(zoom,1.0),1.5,max(1.001,zoom-0.0015))':d=125,fade=t=out:st=4:d=1[v0]; \
 [1:v]zoompan=z='if(lte(zoom,1.0),1.5,max(1.001,zoom-0.0015))':d=125,fade=t=in:st=0:d=1,fade=t=out:st=4:d=1[v1]; \
 [2:v]zoompan=z='if(lte(zoom,1.0),1.5,max(1.001,zoom-0.0015))':d=125,fade=t=in:st=0:d=1,fade=t=out:st=4:d=1[v2]; \
 [3:v]zoompan=z='if(lte(zoom,1.0),1.5,max(1.001,zoom-0.0015))':d=125,fade=t=in:st=0:d=1,fade=t=out:st=4:d=1[v3]; \
 [v0][v1][v2][v3]concat=n=4:v=1:a=0,format=yuv420p[v]" -map "[v]" -s "800x450" -t 40 output/out_fade.mp4

答案1

將縮放與淡入淡出結合ffmpeg

您給出的範例ffmpeg實際上只需要很少的修改(保留-loop會導致段錯誤:“ Error in 'ffmpeg': double free or corruption (!prev): 0x0000000008dffa00”)。

所以我們有:

ffmpeg\
-t 5 -i 1.jpg \
-t 5 -i 2.jpg \
-t 5 -i 3.jpg \
-t 5 -i 4.jpg \
-filter_complex \
「[0:v]zoompan=z='if(lte(zoom,1.0),1.5,max(1.001,zoom-0.0015))':d=125,fade=t=out:st=4:d=1 [v0];
 [1:v]zoompan=z='if(lte(zoom,1.0),1.5,max(1.001,zoom-0.0015))':d=125,fade=t=in:st=0:d=1,淡入=t=out:st=4:d=1[v1]; \
 [2:v]zoompan=z='if(lte(zoom,1.0),1.5,max(1.001,zoom-0.0015))':d=125,fade=t=in:st=0:d=1,淡出=t=out:st=4:d=1[v2]; \
 [3:v]zoompan=z='if(lte(zoom,1.0),1.5,max(1.001,zoom-0.0015))':d=125,fade=t=in:st=0:d=1,淡出=t=out:st=4:d=1[v3]; \
 [v0][v1][v2][v3]concat=n=4:v=1:a=0,format=yuv420p[v]" -map "[v]" -s "800x450" -t 40 ./淡出效果.mp4

範例輸出:

縮放和淡入淡出範例

馬鈴薯品質 - 我需要gif更好地優化!偽影和失真是嘗試使檔案大小小於 2MB 的結果,並且不會出現在原始視訊輸出中 - 它應該足以讓您了解它是否適合您的用例。圖片是我自己的。


(額外的)使用不同或任意的過渡

根據評論添加

即使是這個最小的例子,它filtergraph也會很快變得非常複雜,改變事情也很乏味。不同的圖書館可能會做得更好。

MLT / 融化

例如,MELT對於 MLT 框架可能做:

Melt 是作為 MLT 框架的測試工具而開發的。它可以被認為是一個功能強大、雖然有些晦澀的、面向多軌命令列的影片編輯器。

並且經常被建議。

電影Py

然而,電影Py(GitHub 頁面)可能更適合您的需求,因為它稍微更簡潔並且(我建議)更用戶友好,因為命令列影片編輯器可以是用戶友好的。

您可能對以下部分最感興趣合成過渡/效果


我根據我自己嘗試使用ffmpeg;進行轉換的經驗來建議上述兩項。它是可行的並且能夠產生一些非常好的效果,但痛苦是不值得的。上面的腳本應該回答您有關連續縮小和淡入/淡出的問題。

相關內容