Wie simuliert man den Zuschauer, der das Video überspringt, indem er die rechte Pfeiltaste in ffmpeg antippt?

439
Worse_Username

Ich möchte, dass es offensichtlich ist. Wenn Sie denken, überspringen Sie N Frames nach jedem M Frames oder modulieren Sie die Framerate wie der Jitter-Effekt in einigen Video-Editoren.

Ich habe so etwas ausprobiert, aber es würde immer noch eine Pause anstelle von übersprungenen Frames geben:

 ffmpeg -i input.avi -filter:v select='lt(mod(n\,30)\,10)' -y edit/output.avi 
0

1 Antwort auf die Frage

0
Gyan

Benutzen

ffmpeg -i input.avi -filter:v select='lt(mod(n\,30)\,10)',setpts=N/FRAME_RATE_TB -y edit/output.avi 

Durch den Auswahlfilter werden die Zeitstempel der beibehaltenen Bilder nicht geändert. Während einer "Lücke" wird das letzte Bild des vorherigen beibehaltenen Segments von den meisten Spielern als eingefroren angezeigt. Mit dem Setpts-Filterausdruck werden die beibehaltenen Segmente nebeneinander gesetzt und Lücken entfernt.

Audio wird nicht verarbeitet. Falls vorhanden, benötigen Sie dafür Filter.