如何將參數傳遞給混合過濾器 FFMPEG

如何將參數傳遞給混合過濾器 FFMPEG

我正在嘗試合併 5 張圖像,並在組合它們後創建一個閃爍的視頻。 FFMPEG 對我來說還是相當新的。

這是我執行的命令:

"-loop 1 -i "+path+"images_001.jpg " +
"-loop 1 -i "+path+"images_002.jpg " +
"-loop 1 -i "+path+"images_003.jpg " +
"-loop 1 -i "+path+"images_004.jpg " +
"-loop 1 -i "+path+"images_005.jpg " +
"-filter_complex " +
"[1:v][0:v]blend=all_expr='A*(if(gte(T,0.5),1,T/0.5))+B*(1-(if(gte(T,0.5),1,T/0.5)))'[b1v];" +
"[2:v][1:v]blend=all_expr='A*(if(gte(T,0.5),1,T/0.5))+B*(1-(if(gte(T,0.5),1,T/0.5)))'[b2v];" +
"[3:v][2:v]blend=all_expr='A*(if(gte(T,0.5),1,T/0.5))+B*(1-(if(gte(T,0.5),1,T/0.5)))'[b3v];" +
"[4:v][3:v]blend=all_expr='A*(if(gte(T,0.5),1,T/0.5))+B*(1-(if(gte(T,0.5),1,T/0.5)))'[b4v];" +
"[0:v][b1v][1:v][b2v][2:v][b3v][3:v][b4v][4:v]concat=n=9:v=1:a=0,format=yuv420p[v] -map [v] "+path+"out.mp4"

執行此命令後,進程將永遠運行。這是我的那件事的螢幕截圖:

我知道我錯過了一些愚蠢的事情;由於我是新手,ffmpeg如果我能了解一些我在這裡出錯的地方,那就太好了。我缺什麼?

答案1

在每個之後-loop 1,插入-t x其中 x 是持續時間(以秒為單位)。

答案2

你的混合表達對我來說沒有意義。你想做什麼? Blend 對每個像素執行類似的操作:像素分量 = 函數(A 輸入的像素分量,B 輸入的像素分量)。那你的函數該做什麼?它可以做 (A + B) / 2 這是非常簡單的情況...

相關內容