So fügen Sie ein Wasserzeichen als Schleife hinzu, indem Sie das ffmpeg-Überlagerungslayout verwenden

1399
Anoma

Ich verwende das ffmpeg-Overlay, um einem Videoclip ein Wasserzeichen (.PNG) hinzuzufügen. Dieses Wasserzeichen sollte wiederholt von oben nach unten im Video als Schleife durch die gesamte Länge des Videos gleiten. Ich könnte das Wasserzeichen hinzufügen, um von oben nach unten zu gleiten.

Mein Problem: Es rutscht nur einmal. Es beginnt nicht noch einmal als Schleife.

Mein Code:

ffmpeg -i test.mkv -loop 1 -i watermark.png -filter_complex "overlay=x=0:y='if(gte(t,0), -H+(t)*20, NAN)':shortest=1" output.mkv 

Könnten Sie mir bitte helfen, dieses Problem zu beheben?

Vielen Dank

Anoma

0

1 Antwort auf die Frage

0
Gyan

Benutzen

ffmpeg -i test.mkv -loop 1 -i watermark.png \ -filter_complex "overlay=x=0:y='if(gte(t,0), ((H+h)\/5)\*mod(t\,5)-h, NAN)':shortest=1" \ output.mkv 

5 Sekunden ist der Zeitraum des obigen Ausdrucks. Ändern Sie beide 5, um den Zeitraum zu ändern.

Wenn Sie nicht mit Dateien mit negativen Zeitstempeln wie segmentierten oder mit ffmpeg -ssim copyModus geteilten Dateien arbeiten, können Sie die gteFunktion überspringen .

ffmpeg -i test.mkv -loop 1 -i watermark.png \ -filter_complex "overlay=x=0:y='((H+h)\/5)\*mod(t\,5)-h':shortest=1" \ output.mkv 
Wow, es funktioniert wie ein Zauber! Ich danke dir sehr!! Anoma vor 8 Jahren 0
Könnten Sie mir bitte sagen, wie ich Ihren Code ändern sollte, um das Wasserzeichen von UNTEN nach TOP zu verschieben? Vielen Dank. Anoma vor 8 Jahren 0
Ich habe den Code geändert und es funktioniert gut. > ffmpeg -i input.mkv -loop 1 -i watermark.png -filter_complex "overlay = x = 0: y = 'if (gte (t, 0), ((-Hh) \ / 20) \ * mod (t \, 20) + H, NAN) ': am kürzesten = 1 "output.mkv Anoma vor 8 Jahren 0