Ich überlagere mit dem folgenden Befehl:
ffmpeg -i video.mp4 -i logo.png -filter_complex "[1]geq=r='r(X,Y)':a=0.1[a];[0][a] overlay=x='if(gte(t,2), -w+(t-2)*20, NAN)':y=0" out.mp4
Ich habe versucht, die Deckkraft mit anzupassen
fmpeg -i video.mp4 -i logo.png -filter_complex "[1]format=rgba,geq=r='r(X,Y)':a='1*alpha(X,Y)'[a];[0][a] overlay=x='if(gte(t,2), -w+(t-2)*20, NAN)':y=0" out.mp4
aber es ist immer noch transparent im weißen Farbteil.
Es scheint, als hätte der weiße Farbteil eine Transparenz von 0, was dazu führt, dass der zweite Befehl nicht funktioniert.
Gibt es einen Grund, warum dies geschieht? Das Logo, das ich ausprobiert habe, ist
Wie kann ich die weiße Farbe erhalten?
Es gibt keine weiße Farbe. Das ist die Hintergrundfarbe der durchscheinenden Seite. Ihr Eingabe-PNG ist ein palettiertes 8-Bit-Bild, bei dem die schwarze Farbe Transparenz anzeigt.
Wenden Sie den folgenden Filter auf das Bild an, um schwarze Pixel in weiße umzuwandeln und eine einheitliche Transparenz festzulegen.
geq=r='if(p(X,Y),p(X,Y),255)':g='if(p(X,Y),p(X,Y),255)':b='if(p(X,Y),p(X,Y),255)':a=0.1
Benutzer10024395
Gyan