Verwenden des overlay
Videofilters zum Hinzufügen eines Logos zu einem Video:
ffmpeg -i video.mp4 -i logo.png -filter_complex "[0:v][1:v]overlay" \
-codec:a copy out.mp4
Um diesen Befehl zu verstehen, müssen Sie wissen, was ein Stream-Bezeichner ist, und das Lesen der Einführung in die FFmpeg-Filterung hilft. [0:v]
bezieht sich auf den / die Videostreams des ersten Eingangs ( video.mp4
) und [1:v]
auf den Videostream des zweiten Eingangs ( logo.mp4
). So können Sie feststellen, overlay
welche Eingänge verwendet werden sollen. Sie können weglassen [0:v][1:v]
und overlay
funktionieren weiterhin, es wird jedoch empfohlen, explizit zu sein und sich nicht auf möglicherweise unbekannte Standardeinstellungen zu verlassen.
Standardmäßig wird das Logo oben links platziert.
Mit -codec:a copy
wird das Audio kopiert . Dadurch wird das Audio einfach neu gemuxt, anstatt es neu zu codieren. Stellen Sie sich das als "Kopieren und Einfügen" des Audios vor.
Logo verschieben
In diesem Beispiel wird das Logo um 10 Pixel nach rechts und um 10 Pixel nach unten verschoben:
ffmpeg -i video.mp4 -i logo.png -filter_complex "[0:v][1:v]overlay=10:10" \
-codec:a copy out.mp4
In diesem Beispiel wird das Logo 10 Pixel von der rechten Seite und 10 Pixel nach unten verschoben:
ffmpeg -i video.mp4 -i logo.png -filter_complex \
"[0:v][1:v]overlay=main_w-overlay_w-10:10" -codec:a copy out.mp4
main_w
bezieht sich auf die Breite des "Haupt" -Eingangs (Hintergrund oder [0:v]
) und overlay_w
bezieht sich auf die Breite des "Overlay" -Eingangs (Logo oder [1:v]
). Im Beispiel kann dies also in overlay=320-90-10:10
oder übersetzt werden overlay=220:10
.
Timing der Überlagerung
Einige Filter können die Zeitleistenbearbeitung verarbeiten, sodass Sie mithilfe von arithmetischen Ausdrücken bestimmen können, wann ein Filter angewendet werden soll. Lesen Sie, ffmpeg -filters
welche Filter die Timeline-Bearbeitung unterstützen.
In diesem Beispiel wird das Logo bis 30 Sekunden lang angezeigt:
ffmpeg -i video.mp4 -i logo.png -filter_complex \
"[0:v][1:v]overlay=10:10:enable=between(t\,0\,30)" -codec:a copy out.mp4
Wenn Sie das Logo ausblenden möchten, lesen Sie die Antwort von mark4o .