Windows cmd.exe - Jak zapobiec nadpisywaniu plików wyjściowych, gdy ffmpeg przetwarza katalog rekurencyjnie?


1

Próbuję ffmpegpowtarzać iterację w folderze rekurencyjnie i pobierać zdjęcia z wielu różnych klipów wideo.

Jeśli uruchomię:

for /r "W:\Exports\1 - Dailies\" %f in (*.mov) do ffmpeg -i "%f" -vf fps=6/60 still%05d.jpg

ffmpegbędzie pobierał kadr co 10 sekund od pierwszego .movnapotkanego pliku, ale następnie, gdy przejdzie do drugiego .movpliku, liczba still%05d.jpgponownych uruchomień do still00001.jpgi fotosy z drugiego pliku zastąpią kadry z pierwszego pliku. Następnie zdjęcia z trzeciego pliku zastępują drugi itd. I tak dalej.

Jak mogę dołączyć nazwę pliku wejściowego do nazwy pliku wyjściowego JPG, aby nie nastąpiło nadpisanie?


%fzawiera nazwę pliku, więc użyj"%fstill%05d.jpg"
DavidPostill

@DavidPostill Jeśli spróbuję, pojawi się następujący błąd:Unable to find a suitable output format for 'W:\Exports\1' W:\Exports\1: Invalid argument
user260467

1
%fodbędzie się dysk, ścieżka, nazwa, rozszerzenie, użycie%f~n
LotPings

W rzeczy samej. Co powiedział @LotPings.
DavidPostill

Blisko, ale okazało się, że tak naprawdę było %~nf. Znaleziono to z tego: superuser.com/a/489242/452924
user260467

Odpowiedzi:


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.