Como faço para converter vários arquivos mp3 para mp4 com ffmpeg?

2

O comando a seguir pega o mp3, anexa uma imagem a ele e o converte em um mp4:

ffmpeg -i input.mp3 -loop 1 -i image.png -c:a copy -c:v libx264 -shortest output.mp4

Eu preciso fazer isso para todos os mp3s em uma pasta. Como eu iria codificar isso?

    
por Doc Chop 02.07.2015 / 21:32

2 respostas

2

Assumindo o Linux ou algum sabor do UNIX e image.png é literal:

cd /media/volume/mp3_directory

ls *.mp3 | while read mp3File ; do outputFile=$(basename "${mp3File}" .mp3) ; ffmpeg -i "${mp3File}" -loop 1 -i image.png -c:a copy -c:v libx264 -shortest "${outputFile}".mp4 ; done
    
por 03.07.2015 / 09:33
0

Se você deseja converter em lote, você deve usar o shell para ele (assumindo o Linux). Use find para retornar todos os arquivos em um diretório e '| xargs 'para aplicar o comando ffmpeg dado a cada um.

    
por 03.07.2015 / 00:31