
Ich bin ein neuer Benutzer von FFmpeg und möchte mit einem Befehl ein Logo in zwei Videos einfügen (ein Video überlagert das andere).
-
ffmpeg -stream_loop -1 -i background.mp4 -i input.mp4 -i logo.png -filter_complex "[1]scale=1280:720[inner];[0][inner]overlay=70:70:shortest=1[vid];[vid][2]overlay=10:10:enable='not(between(t\,10\,15))'[out]" -map "[out]" -c:a copy -y -shortest output.mp4
Ich möchte ein (greenvideo.mp4)-Overlay für ein anderes Haupt- und Hintergrundvideo einfügen.
Video (greenvideo.mp4) und Video (Background.mp4): Zwei Videos werden in der Länge des Hauptvideos wiederholt.
Das grüne Video über dem Hintergrund.ffmpeg -y -i input.mp4 -stream_loop -1 -i green.mp4 -filter_complex "[1:v]colorkey=0x00ff00:0.3:0.2[ckout];[0:v][ckout]overlay[out]" -map "[out]" -map 0:a -shortest output.mp4
Helfen Sie mir bitte, die beiden obigen Codeausschnitte zu einem zusammenzufügen.
Antwort1
Sie können die Skalierungs- und Farbschlüsselfilter vor dem Überlagern anwenden. Sie können dann bei Bedarf mehrere Male in einem einzigen Skript überlagern. Das Grundkonzept wird unten gezeigt.
ffmpeg -i background.mp4 -i mainvideo.mp4 -i greenvideo.mp4 -i logo.png -filter_complex /
[1]scale[SC];[2]colorkey[CK]; /
[0][SC]overlay[OVa];[OVa][CK]overlay[OVb];[OVb][3]overlay out.mp4