Wie verketten Sie Videos unterschiedlicher Größe und überlagern Sie dann den Hintergrund in ffmpeg mit Transparenz?

297
Meme Stream

Ich habe mehrere Videos unterschiedlicher Größe, und ich musste sie verketten und das fertige verkettete Ergebnis auf einen 1080p-Hintergrund legen. Derzeit kann ich dies jedoch nur tun, indem Sie die einzelnen Clips so auffüllen, dass sie die gleiche Größe haben, bevor ich sie zusammenhalte. Ich habe versucht, die Auffüllung #00000000@0.0 so zu erstellen, dass sie ein Alpha hat. Wenn ich jedoch auf den Overlay-Befehl schiebe und ihn dann ausstelle, sehe ich schwarze Auffüllung. Wie bekomme ich Alpha-Füllungen und behalte das Alpha für den Overlay-Prozess?

Ich verwende PHP, um den Pad-String-Befehl und den Concatenate-Befehl aus Gründen zu bilden, die nicht mit dieser Frage zusammenhängen:

// echo shell_exec("$ffmpeg $inputStringForConcat -i background2_correctproperties.mov -y -filter_complex '$padString $inputPadString concat=n=$concateNvalue:v=1:a=0 [conc],[$inputIndexOfBackground:v][conc]overlay=shortest=1' -c:v qtrle -qscale 0 concatenated_$time.mov 2>&1"); 
0
Zeigt die gesamte Befehls- und Konsolenausgabe an. Gyan vor 6 Jahren 1
fügte es der Frage hinzu Meme Stream vor 6 Jahren 0

0 Antworten auf die Frage