Sie müssen das Overlay-Mov nicht als separaten Schritt erstellen.
Erstellen Sie zunächst die Überlagerung wie einen Film auf diese Weise:
-Schleife 1 -i Wasserzeichen.png
Verwenden Sie dann einen Fade-Filter, um 4 Sekunden lang einzublenden (dh 100 Frames):
fade = in: 0: 100
Und verzögern Sie es dann um 10 Sekunden, um später auf diese Weise zu starten:
Setpts = PTS-STARTPTS + 10 / TB
Ihr Befehl wird dann zu:
ffmpeg -i video.mp4 -loop 1 -i watermark.png -filter_complex \ "[1:v]fade=in:0:100[v1]; [0:v]setpts=PTS-STARTPTS[v0]; \ [v1]setpts=PTS-STARTPTS+10/TB[v3];[v0][v3]overlay=eof_action=pass[out1]" \ -map [out1] <other parameters> overlaidoutput.mp4
Die Überlagerung wird bis zum Ende fortgesetzt. Natürlich können Sie im Bereich " Andere Parameter " auch viele Feinabstimmungsparameter verwenden .
HINWEIS: Ich habe 4 Sekunden lang 100 Frames verwendet, da ich PAL 25 fps verwendet habe. Sie können dies auf 120 Bilder ändern, wenn Sie mit 30 Bildern pro Sekunde arbeiten.
Wenn Sie die Überlagerung zu einem bestimmten Zeitpunkt beenden müssen, können Sie auch den enable
Parameter verwenden:
ffmpeg -i video.mp4 -loop 1 -i watermark.png -filter_complex \ "[1:v]fade=in:0:100[v1]; [0:v]setpts=PTS-STARTPTS[v0]; \ [v1]setpts=PTS-STARTPTS+10/TB[v3]; \ [v0][v3]overlay=enable='between(t,10,12)':eof_action=pass[out1]" \ -map [out1] <other parameters> overlaidoutput.mp4
Damit ist die Überlagerung bei 12 Sekunden beendet. Stellen Sie sicher, dass Sie ffmpeg ver 2 oder höher verwenden.