ffmpeg-Fehler: -vf/-af/-filter und -filter_complex können nicht zusammen verwendet werden

ffmpeg-Fehler: -vf/-af/-filter und -filter_complex können nicht zusammen verwendet werden

Ich versuche, den folgenden Befehl auszuführen, der dem Video ein Wasserzeichen hinzufügen und es auch hochskalieren soll.

ffmpeg -i "in.avi" -i "\logo.png" -vf scale=854:-1  -preset 
veryfast -crf 20 -filter_complex overlay=5:5 "ou.mkv"

Ich erhalte die folgende Fehlermeldung.

Filtergraph 'scale=854:-1' was specified through the 
-vf/-af/-filter option for output stream 0:0, which is fed from 
a complex filtergraph. -vf/-af/-filter and -filter_complex 
cannot be used together for the same stream.

Bevor ich versucht habe, hochzuskalieren (ohne -vf scale=854:-1), hat die Eingabeaufforderung zum Wasserzeichen funktioniert.

Wie kann ich beides erreichen?

Was ich versucht habe?

  • Verschieben des Parameters -vf vor die Eingabe, nach die Eingabe usw.

Antwort1

Sie können einen verwendenFiltergraphum alle Filter durchzuführen:

ffmpeg -i input.avi -i logo.png -filter_complex \
"[0:v]scale=854:-2[scaled]; \
 [scaled][1:v]overlay=5:5[out]" \
-map "[out]" -map 0:a -c:v libx264 -c:a copy output.mkv
  • [0:v]bezieht sich auf den/die Videostream(s) des ersten Eingangs ( input.aviin diesem Beispiel). [1:v]ist das Video vom zweiten Eingang ( logo.pngin diesem Beispiel).

  • Audio istSteam kopiertin diesem Beispiel anstatt neu codiert zu werden; vorausgesetzt, Ihr erster Eingang hat Audio.

  • Es empfiehlt sich, die Filterein- und -ausgänge wie in diesem Beispiel manuell zu benennen, statt sich auf Standardwerte zu verlassen, die zu falschen Stream-Auswahlen führen können.

  • -2imVideofilter skalierenwird anstelle von verwendet, -1da x264 erfordert, dass die Ausgabe durch 2 teilbar ist, wenn auf 4:2:0-Chroma-Subsampling ausgegeben wird:

Wenn einer der Werte -n mit n > 1 ist, verwendet der Skalierungsfilter ebenfalls einen Wert, der das aus der anderen angegebenen Dimension berechnete Seitenverhältnis des Eingabebildes beibehält. Danach stellt er jedoch sicher, dass die berechnete Dimension durch n teilbar ist und passt den Wert bei Bedarf an.

verwandte Informationen