Frage Hinzufügen von Pausen in einer Videodatei mit ffmpeg


Ist es möglich, mehrere Pausen in einer Videodatei mit ffmpeg hinzuzufügen?

Beispiel: Ich möchte eine Pause von 3 Sekunden ab der 5. Sekunde hinzufügen, dann eine Pause von 8 Sekunden ab der 17. Sekunde.

Audiodateisynchronisierung ist kein Problem, nur Pause sollte in bestimmten Intervallen vorhanden sein.


1
2018-03-09 07:23


Ursprung


Siehe grundlegende Methode Hier im 1. Befehl. Entfernen Sie die Audiolichter, wenn sie irrelevant sind. Passen Sie auch den Concat-Filter an, um den Ton zu löschen. - Gyan
@Mulvya Siehe meine Antwort unten, vielleicht ist es irgendwann nützlich. - slhck


Antworten:


Sie können den Code von verwenden diese Antwort von Mulvya.

Wenn Sie die Befehle automatisch erstellen möchten, wird das ein wenig komplizierter, da Sie Rahmenoffsets berechnen und die einzelnen Filter zusammenfügen müssen. Ich habe tatsächlich ein Skript geschrieben, das das nennt bufferer. Es fügt "falsche" Umpufferungsereignisse in eine Videodatei ein. Es unterbricht auch die Audio während dieser Zeit:

python bufferer.py -i input.mp4 -b "[[5, 3], [17, 8]]" -v libx264 -a aac -o output.mp4

Wahrscheinlich möchten Sie das Skript so modifizieren, dass es den "Spinner" (der für das Online-Video-Resuffern typisch ist) nicht enthält und den Frame nicht verdunkelt, aber das ist leicht aus den Funktionen herauszunehmen. (In der Zukunft kann ich einige Optionen zur Verfügung stellen, um diese auch zu deaktivieren.)


1
2018-03-09 14:53