Batch Converter 50 Imagens (com o mesmo arquivo de áudio) para 50 vídeos usando o FFmpeg

0

Eu tenho 50 imagens com nomes diferentes.

Na mesma pasta, eu tenho um arquivo names.txt que contém os nomes de todas as imagens da pasta, assim:

apples.jpg
oranges.jpg
blackberries.jpg
etc.

E eu tenho um arquivo de áudio, sound.wav

Eu quero misturar cada imagem com o arquivo sound.wav, para gerar 50 vídeos:

apples.mp4
oranges.mp4
blackberries.mp4
etc.

Alguma idéia?

Este é o script que funcionou para mim para converter cada imagem manualmente:

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

Mas eu gostaria de escalar isso, talvez tenha um script que passe por cada linha no arquivo names.txt para obter o nome da imagem, converta a imagem em vídeo e, em seguida, mova para a próxima imagem.

Obrigado

    
por Duraid 04.08.2018 / 14:56

1 resposta

1

Você pode iterar pelas linhas de um arquivo em um arquivo de lote do Windows:

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

Aqui, substitua [process] por:

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

Em que %A é o nome do arquivo na linha e %%~nA é o nome sem extensão.

    
por 07.08.2018 / 10:11