% d в имени файла в Bash [закрыто]

Я использую ffmpeg для преобразования нескольких jpg в файл mp4, и, похоже, он работает отлично, video.mp4 создан. это команда, которую я использую:

ffmpeg -r 0.1 -i uploads/image%d.jpg uploads/video.mp4

У меня есть эти файлы в моем каталоге загрузок

image1.jpg
image2.jpg
image3.jpg
image4.jpg

Я нашел этот пример при быстром поиске в Google. Я немного изменил его, но изображение% d.jpg осталось прежним. Предполагается, что каждое изображение зацикливается и помещается в mp4. Однако я обнаружил, что здесь не последний файл.

Как% d увеличивается на единицу и впоследствии захватывает здесь каждый файл? Почему он не захватывает последний файл? Когда я удаляю 4-е изображение, загружаются только первые два изображения, поэтому последнее изображение по какой-то причине просто не включается.

Любые комментарии о том, как это работает, будут действительно полезны, Спасибо!

1
задан 22 September 2011 в 09:41
3 ответа

ffmpeg знает, что% d означает один числовой символ и поэтому увеличивается по списку файлов. Таким образом, это делает ffmpeg, а не оболочка - это важно для обеспечения последовательности изображений.

Обратите внимание, что если ваши числовые суффиксы содержат более одной цифры - например, от image001.jpg до image110.jpg, тогда вам нужно чтобы сообщить:

ffmpeg -r 0.1 -i uploads / image% 03d.jpg uploads / video.mp4

«% 03d» означает трехзначные числа, дополненные нулями слева (например, 005). «% 05d» будет означать 5-значные числа, заполненные слева нулями (например, 00044)

Также обратите внимание, что у вас не может быть пробелов в числах, поэтому переименуйте их, если вы это сделаете.

Подробнее о форматировании числа здесь: http: //www.pixelbeat. org / programming / gcc / format_specs.html

3
ответ дан 3 December 2019 в 18:00

если вы знаете диапазон, вы можете сделать что-то вроде

 ffmpeg -r 0.1 -i uploads/image{1..4}.jpg uploads/video.mp4
1
ответ дан 3 December 2019 в 18:00

AFAIK, % d принадлежит ffmpeg , а не bash. Я проверил вашу команду, и она отлично работает. Убедитесь, что у третьего изображения нет пробелов в начале имени файла.

0
ответ дан 3 December 2019 в 18:00

Теги

Похожие вопросы