Ich versuche, ein Wasserzeichen eines Symbols (ein Pfeil, der nach rechts zeigt) in die obere rechte Ecke von zwei verschiedenen Videos mit FFmpeg einzufügen. Beide Videos haben dieselbe Auflösung (1280 x 720) und ich verwende denselben Befehl, um das Symbol hinzuzufügen . In einem Video wird das Symbol an der richtigen Stelle angezeigt, in dem anderen Video jedoch in der rechten unteren Ecke.
Ist jemand auf das gleiche Problem gestoßen?
Das Bild auf der linken Seite ist ein Video im Hochformat, das als Querformat gespeichert ist, jedoch mit einem Rotations-Tag. Die Überlagerungsbildkoordinaten werden also bezogen auf die gespeicherte Darstellung wirksam. In solchen Fällen sollten Sie das Video vorher drehen, indem Sie 1) den Transpositionsfilter vor dem Overlay hinzufügen, 2) die automatische Drehung für das Eingabevideo* deaktivieren und 3) das Rotations-Tag in der Ausgabe manuell zurücksetzen, z
ffmpeg -noautorotate -i input.mp4 -i arrow.png -filter_complex "[0]transpose=1[bg];[bg][1]overlay=X:Y" -metadata:s:v rotate=0 out.mp4
*nicht erforderlich, wenn Ihr ffmpeg von April 2015 oder früher ist.
Um das Rotations-Tag für ein Video zu überprüfen, können Sie ausführen
ffprobe input.mp4 -show_entries stream_tags=rotate -v 0 -of compact=p=0:nk=1
Sie erhalten einen Winkelwert. Wenn es 90 ist, verwenden Sie transpose=1
. Wenn es 270 ist, verwenden Sietranspose=2
103König
Gyan