ffmpeg - Pomiń proces, jeśli dane wyjściowe już istnieją


20

Używam skryptu wsadowego do konwersji pliku wideo w Pythonie, ale może się zdarzyć, że plik wyjściowy już istnieje, więc czy istnieje możliwość uniknięcia pytania ffmpeg, co mam zrobić, jeśli dane wyjściowe już istnieją? Chcę, aby automatycznie pomijał proces.

Odpowiedzi:


29

Z ffmpegdokumentacji :

-n (globalny)
Nie nadpisuj plików wyjściowych i zakończ natychmiast, jeśli określony plik wyjściowy już istnieje.

Stosowanie:

$ ffmpeg -n -i input output.mp4
  …
  File 'output.mp4' already exists. Exiting.
  • -njest opcją globalną. Najpierw należy określić opcje globalne.
  • Przeciwną opcją jest to, -yże automatycznie nadpisze dane wyjściowe bez pytania.

3

Najlepiej byłoby, gdyby skrypt sprawdził istnienie plików wejściowych i wyjściowych przed wywołaniem ffmpeg w celu wykonania (potencjalnie) niebezpiecznej operacji. Przez niebezpieczne rozumiem nadpisywanie istniejących plików ...

Po upewnieniu się, czy dane wyjściowe już istnieją, skrypt może przejść do następnego pliku w celu przetworzenia.


coś takiego jak stackoverflow.com/a/638980/1265980 może pomóc.
Ereli,

1
jeśli używasz Pythona, możesz sprawdzić, czy plik istnieje, używając pathlib - stackoverflow.com/a/82852/1265980
Ereli
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.