O mais fácil seria:
ffmpeg -loop 1 -i image.jpg -i audio.m4a -c:v libx264 -c:a copy -shortest out.mp4
Isso codificará a imagem com x264 para um fluxo de vídeo H.264 e deixará o fluxo de áudio intacto (usando o codificador copy
). A opção -shortest
faz com que o ffmpeg pare quando a entrada mais curta termina, ou seja, o arquivo de áudio.
Observe que o fluxo de áudio determina os formatos de saída disponíveis para você. Se você tiver um arquivo de áudio PCM (ou seja, um .wav
de algum tipo), não será possível usar os contêineres MP4. Se você tiver áudio MPEG-1 Layer III (MP3) ou áudio AAC (um .m4a
, por exemplo), o contêiner MP4 funcionará. Verifique a Comparação dos formatos de contêiner para ter uma ideia do que é possível.
Veja também: Crie uma apresentação de slides em vídeo a partir de imagens e a x264 Guia de codificação para melhorar a qualidade da saída.