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