Ich möchte den Overlay-Filter verwenden, um das Video mit einem Bild zusammenzusetzen.
Befehl istffmpeg -i 30.mp4 -i out1.png -i out2.png -strict -2 -filter_complex "[0:v][1:v]overlay=enable='between(t,0,1)' [out]; [out][2:v] overlay=enable='between(t,2,3)'" -acodec copy -y -preset ultrafast output.mp4
Aber der Vorgang braucht viel Zeit. Ich habe das Prozessprotokoll unten gesehen. Ich überlagere nur den Frame zwischen [0,1] und [2,3], aber nach der Überlagerungszeit brauche ich immer noch viel Zeit. Die benötigte Zeit hängt von der Dauer des Videos ab, nicht aber von der Überlagerungszeit. Ist das richtig und warum? Und wie kann ich den Vorgang beschleunigen?
03-13 17:02:29.388: D/FFmpegController(7445): out is frame= 113 fps= 21 q=30.0 size= 141kB time=00:00:04.01 bitrate= 287.3kbits/s
03-13 17:02:29.905: D/FFmpegController(7445): out is frame= 130 fps= 22 q=31.0 size= 153kB time=00:00:04.01 bitrate= 312.5kbits/s
03-13 17:02:30.433: D/FFmpegController(7445): out is frame= 145 fps= 23 q=31.0 size= 160kB time=00:00:04.13 bitrate= 317.8kbits/s
03-13 17:02:30.917: D/FFmpegController(7445): out is frame= 148 fps= 21 q=29.0 size= 171kB time=00:00:05.05 bitrate= 276.8kbits/s
03-13 17:02:31.327: D/FFmpegController(7445): out is frame= 152 fps= 21 q=-1.0 Lsize= 196kB time=00:00:05.12 bitrate= 314.3kbits/s
Die detaillierte Ausgabe des Befehls finden Sie hier:http://tny.cz/d61fa88d