Сделал это! Этот код будет выводить кадры в папки с тем же именем, что и видео, из которого они пришли. Кадры будут иметь префикс имени видео и суффикс последовательных номеров, начиная с 001. Так что для моих файлов он выплевывает "/clip1/clip1-001.jpg" и т.д.
На всякий случай, если вы похожи на меня и не знаете, что делаете, вставьте приведенный ниже код в блокнот, сохраните как «extractframesorwhever.bat» и запустите его из каталога, в котором находятся ваши клипы.
for %%F in (*.mp4) do (
If not Exist "%%~nF" MkDir "%%~nF"
ffmpeg -i %%F -r 1 -qscale:v 2 %%~nF\%%~nF-%%3d.jpg
)
Если вы хотите вывести папки в другое место, измените:
If not Exist "%%~nF" MkDir "%%~nF"
Чтобы что-то вроде этого:
If not Exist "C:\wherever\%%~nF" MkDir "C:\wherever\%%~nF"
Если вы сделаете это, вам также потребуется изменить вывод (в моем примере):
%%~nF\%%~nF-%%3d.jpg
в
C:\wherever\%%~nF\%%~nF-%%3d.jpg
Или, если вы хотите, чтобы все кадры в одной папке. Замените первый %% ~ nF из вывода на предпочитаемый вами каталог. Используя мой пример, он перейдет из C:\wherever\%% ~ nF\%% ~ nF - %% 3d.jpg в C:\wherever\frames\%% ~ nF - %% 3d.jpg. Вы также захотите отредактировать вторую строку, чтобы она указала на новое местоположение и не давало ей создать кучу ненужных каталогов, или полностью удалите вторую строку. Если вы удалите вторую строку, вам сначала нужно будет создать эту папку "frames".
РЕДАКТИРОВАТЬ - Вам может потребоваться удалить все пробелы из имен файлов, прежде чем они могут быть обработаны. "Утилита массового переименования" может сэкономить вам много времени.