Conversão de vídeo em lote com FFmpeg: combinar imagem e áudio

1

Eu tenho uma pasta cheia de arquivos de áudio com extensão .mp3 .amr e .wav. Eu tenho uma imagem.jpg. O que eu quero é combinar o arquivo image.jpg com todos os arquivos de áudio da pasta e convertê-los em arquivo vidoe.mp4 separado. Como faço isso com o FFmpge?

    
por Fazle Rabbi 23.10.2016 / 11:07

1 resposta

1

Aqui estão outras duas perguntas respondidas que devem ajudá-lo a alcançar seu objetivo.

"Combine uma imagem + um arquivo de áudio para criar um vídeo usando o FFmpeg" fonte: Combine uma imagem + um áudio arquivo para fazer um vídeo usando o FFmpeg

A ordem das opções na linha de comando é importante. Os seguintes trabalhos para o meu caso:

ffmpeg -loop 1 -shortest -y -i image8.jpg -i sound11.amr -acodec copy -vcodec mjpeg result.avi

Em um caso mais geral, onde image.jpg e audio.wav são sua entrada, você pode usar o seguinte comando, adaptado de o wiki do FFmpeg :

ffmpeg -loop 1 -i image.jpg -i audio.wav -c:v libx264 -tune stillimage -c:a aac -strict experimental -b:a 192k -pix_fmt yuv420p -shortest out.mp4

Isso usaria o codificador libx264 e forneceria uma melhor compactação do que o codec MJPEG usado acima. O áudio é AAC, com o codificador ffmpeg AAC integrado.

"Como fazer um loop for na linha de comando do windows?" fonte: link

O interpretador de linha de comando de fato tem uma construção FOR que você pode usar a partir do prompt de comando ou de dentro de um arquivo de lote.

Para o seu propósito, você provavelmente quer algo como:

FOR %i IN (*.ext) DO my-function %i

O que resultará no nome de cada arquivo com a extensão * .ext no diretório atual sendo passado para a minha função (que poderia, por exemplo, ser outro arquivo .bat).

A parte (* .ext) é o "filespec", e é bastante flexível com a forma como você especifica conjuntos de arquivos. Por exemplo, você poderia fazer:

FOR %i IN (C:\Some\Other\Dir\*.ext) DO my-function %i

Para executar uma operação em um diretório diferente.

Existem várias opções para o filespec e FOR em geral. Veja

HELP FOR

no prompt de comando para mais informações.

Ok, o conteúdo agora está contido na postagem em si graças a uma mensagem do Pato Donald: D

    
por 11.03.2017 / 19:26