ffmpeg - Prozess überspringen, wenn bereits eine Ausgabe vorhanden ist

20

Ich führe ein Batch-Skript zum Konvertieren von Videodateien in Python aus, aber es kann vorkommen, dass die Ausgabedatei bereits vorhanden ist. Gibt es also eine Option, um zu vermeiden, dass ffmpeg mich fragt, was zu tun ist, wenn die Ausgabe bereits vorhanden ist? Ich möchte, dass der Prozess automatisch übersprungen wird.

Hyperion
quelle

Antworten:

29

Aus der ffmpegDokumentation :

-n (global)
Überschreiben Sie keine Ausgabedateien und beenden Sie das Programm sofort, wenn bereits eine bestimmte Ausgabedatei vorhanden ist.

Verwendungszweck:

$ ffmpeg -n -i input output.mp4
  …
  File 'output.mp4' already exists. Exiting.
  • -nist eine globale Option. Globale Optionen sollten zuerst angegeben werden.
  • Die entgegengesetzte Option -yüberschreibt die Ausgabe automatisch, ohne zu fragen.
llogan
quelle
3

Idealerweise sollte Ihr Skript prüfen, ob die Eingabe- und Ausgabedateien vorhanden sind, bevor Sie ffmpeg aufrufen, um den (möglicherweise) gefährlichen Vorgang auszuführen. Mit gefährlich meine ich, vorhandene Dateien zu überschreiben ...

Sobald Sie festgestellt haben, ob die Ausgabe bereits vorhanden ist, kann Ihr Skript zur Verarbeitung mit der nächsten Datei fortfahren.

Kinnectus
quelle
So etwas wie stackoverflow.com/a/638980/1265980 könnte helfen.
Ereli
1
Wenn Sie Python verwenden, können Sie überprüfen, ob die Datei mit pathlib - stackoverflow.com/a/82852/1265980
Ereli