Ich versuche, ein Wasserzeichen.png-Bild mit Einblendeffekt auf ein Video zu legen. Dies ist mein Befehl:
ffmpeg -i input_vid.mp4 -c:v libx264 -pix_fmt yuv420p -vf movie=watermark_3.png, scale=144:31 [Wasserzeichen]; [in][Wasserzeichen] overlay=5:Hh-15, fade=in:0:30:alpha=1[out] -s 180x320 -preset ultrafast -c:a kopiere out.mp4
Dadurch wird das gesamte Video jedoch von Schwarz eingeblendet. Irgendwelche Ideen?
Antwort1
Verwenden
ffmpeg -i input_vid.mp4 \
-vf "movie=watermark_3.png:loop=0.1,setpts=N/FRAME_RATE/TB,scale=144:31,format=rgba,fade=in:0:30:alpha=1[watermark]; \
[in][watermark]overlay=5:H-h-15:shortest=1,scale=180x320[out]" \
-c:v libx264 -pix_fmt yuv420p -preset ultrafast -c:a copy out.mp4
Die Überblendung muss in der Wasserzeichenkette angewendet werden, um nur diese zu beeinflussen. Das Loop-Flag wird auf eine Zahl unter eins gesetzt, damit das einzelne Bild unendlich wiederholt wird. setpts stellt monoton zunehmende Zeitstempel sicher.