Как мне ffmpeg перебирать 10 000+ файлов с датой и временем - PullRequest
0 голосов
/ 18 декабря 2018

У меня есть большое количество jpgs, снятых с камеры видеонаблюдения, которые я по ошибке использовал пунктирную метку даты и времени в моей команде curl.Имена файлов:

 Underwater-Cam-2017-10-20_17-58-22.jpg

Если я использую шаблон, я получаю

bash: /Applications/ffmpeg: Argument list too long

Я понимаю, что из других постов я не хочу избегать расширения шаблона с помощью glob, ноЯ не уверен, как перебрать эти файлы с несколькими последовательными номерами.Я попробовал эту последовательную последовательность подсчета целых чисел, которая в ретроспективе, очевидно, не сработает, но у меня недостаточно знаний, чтобы решить эту проблему с помощью поиска.

/Applications/ffmpeg -y -i '/path/to/src/2017-10-20/Underwater-Cam-2017-10-20_%02d-%02d-%02d.jpg' -r 24 -vf "scale=hd720" -metadata:s:v rotate=0 -vcodec libx265 -preset veryfast -crf 24 -an -movflags +faststart /path/to/dest/uwcam-2017-10-20.mp4

Я делаю это на Mac с помощью Bash 4.

1 Ответ

0 голосов
/ 18 декабря 2018

Как насчет вывода списка в файл (без каких-либо глобализаций) и использования ffmpeg concat demuxer ?

Пример:

$ ls
Underwater-Cam-2017-10-20_17-58-21.jpg  Underwater-Cam-2017-10-20_17-58-23.jpg
Underwater-Cam-2017-10-20_17-58-22.jpg

$ find -type f -name '*.jpg' -printf '%P\n' | xargs -I {} echo "file '{}'" > list

$ cat list
file 'Underwater-Cam-2017-10-20_17-58-21.jpg'
file 'Underwater-Cam-2017-10-20_17-58-22.jpg'
file 'Underwater-Cam-2017-10-20_17-58-23.jpg'

Итогда ffmpeg -f concat -i list ... <output>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...