![So übergeben Sie Argumente an den Blend-Filter FFMPEG](https://rvso.com/image/1493956/So%20%C3%BCbergeben%20Sie%20Argumente%20an%20den%20Blend-Filter%20FFMPEG.png)
Ich versuche, 5 Bilder zusammenzuführen und nach dem Kombinieren ein blinkendes Video zu erstellen. Ich habe erfolgreich einen Ein- und Ausblendeffekt darauf angewendet. FFMPEG ist für mich noch ziemlich neu.
Hier ist der Befehl, den ich ausgeführt habe:
"-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"
Beim Ausführen dieses Befehls läuft der Prozess für immer weiter. Hier ist mein Screenshot davon:
Ich weiß, dass ich etwas Dummes übersehe. Da ich neu bin, ffmpeg
wäre es toll, wenn ich erfahren könnte, was ich hier falsch mache. Was übersehe ich?
Antwort1
Fügen Sie nach jedem -loop 1
ein, -t x
wobei x die Dauer in Sekunden ist.
Antwort2
Ihr Ausdruck für Blend ergibt für mich keinen Sinn. Was möchten Sie tun? Blend macht für jedes Pixel so etwas wie: Pixelkomponente = Funktion (Pixelkomponente von A-Eingang, Pixelkomponente von B-Eingang). Was also sollte Ihre Funktion tun? Sie könnte (A + B) / 2 tun, was ein sehr einfacher Fall ist …