Ich versuche, einen 15-Sekunden-Videoübergang am Anfang einer Bildsequenz (png-Sequenz mit einem Alpha, um das Bild unten anzuzeigen) zu überlagern, was ich mit dem Überlagerungsfilter gut machen kann. Aber ich möchte den ersten Frame der Bildsequenz für 5 Sekunden halten, bevor ich die Animation abspiele. Ich habe versucht, zu trimmen / auszuwählen, aber ich kann es anscheinend nicht auf eine Dauer von 5 Sekunden bringen, ich kann es auch nicht mit dem anderen Video verbinden, um den Übergang durchzuführen. Also meine Fragen sind:
-start_number 501 -framerate 30 -t 60.0 -i input1.%04d.jpg -framerate 30 -t 15.0 -i transition1_%03d.png -filter_complex "color=c=red:d=5:s=480x270:r=30 [bg]; [bg][1:v]overlay[transhold]; [0:v][transhold]overlay=repeatlast=0[out]"
Vielen Dank
Nick
Verwenden
ffmpeg -start_number 501 -framerate 30 -t 60.0 -i input1.%04d.jpg
-framerate 30 -t 15.0 -i transition1_%03d.png
-filter_complex "[0]loop=149:1:0[bgheld5];
[1]loop=149:1:0[fgheld5];
[bgheld5][fgheld5]overlay=eof_action=pass" out.mp4
Die ersten Frames beider Sequenzen werden 149 mal wiederholt, so dass es 150 Instanzen gibt (30 fps x 5s). Das 0
am Ende der Schleife ist der Anfangsindex des/der zu schleifenden Frames. Die Mitte 1
ist die Anzahl der Frames, die ab dem Index im 3. Argument wiederholt werden sollen.
Nick Weeden