У меня есть 50 изображений с разными именами.

В той же папке у меня есть файл names.txt , содержащий имена всех изображений в этой папке, например:

apples.jpg
oranges.jpg
blackberries.jpg
etc.

И у меня есть один аудиофайл, sound.wav

Я хочу смешать каждое изображение с файлом sound.wav, чтобы создать 50 видео:

apples.mp4
oranges.mp4
blackberries.mp4
etc.

Есть идеи?

Это скрипт, который работал для меня для преобразования каждого изображения вручную:

ffmpeg -loop 1 -y -i oranges.jpg -i sound.wav -shortest oranges.mp4

Но я бы хотел масштабировать это, возможно, иметь скрипт, который проходит через каждую строку в файле names.txt, чтобы получить имя изображения, преобразовывает это изображение в видео и затем переходит к следующему изображению.

Спасибо

1 ответ1

1

Вы можете перебирать строки файла в пакетном файле Windows:

for /F "tokens=*" %%A in (names.txt) do [process]

Здесь замените [process] на:

ffmpeg -loop 1 -y -i %%A -i intro5.wav -shortest %%~nA_movie.mp4

Где %A - это имя файла в строке, а %%~nA - это имя без расширения.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .