Combine vários arquivos de áudio e uma imagem para produzir um vídeo

0

Li thread e este outro . Ambos explicam bem como juntar uma imagem com um arquivo de áudio para fazer um vídeo (com ffmpeg).

No entanto, estou procurando um comando ffmpeg que mescle uma lista de arquivos mp3 e uma imagem para produzir um arquivo de vídeo. Gostaria de mostrar a imagem pela duração da lista de áudio mp3.

Alguém pode sugerir um comando funcional e explicá-lo?

    
por Galabyca 11.03.2016 / 03:43

2 respostas

2

Se eu entendi corretamente, você deseja combinar todos os MP3s e fazer com que o vídeo seja uma única imagem. Se sim,

Prepare um arquivo de texto contendo a lista dos MP3s na ordem desejada

file 'ABC.mp3'
file 'PQR.mp3'
file 'DEF.mp3'
...
file 'XYZ.mp3' 

Agora, corra

ffmpeg -loop 1 -framerate 5 -i image.png -f concat -i mp3list.txt -c:v libx264 -pix_fmt yuv420p -c:a copy -shortest output.mkv
    
por 11.03.2016 / 07:22
1

Você pode usar um loop Bash para:

mkdir outputdir
for f in *.mp3; do ffmpeg -i "$f" -framerate 5 -loop 1 -i image.jpg -c:v libx264 -c:a copy -pix_fmt yuv420p -shortest outputdir/"${f%.*}.mkv"; done

Eu presumi que você esteja usando o Linux. Você pode fazer isso no Windows também, mas eu não sou um usuário do Windows, então alguém terá que adicionar esse exemplo.

Atualização: Meu exemplo fará um vídeo por entrada de MP3; tudo com a mesma imagem. Se eu tiver interpretado mal sua pergunta, veja a resposta de Mulvya para fazer um vídeo de todas as entradas de MP3.

    
por 11.03.2016 / 07:14