Basta usar o exemplo do wiki do FFmpeg , mas use Matroska como um contêiner de saída, pois suporta vídeo H.264 e áudio MP3:
ffmpeg -loop 1 -i image.jpg -i audio.mp3 \
-c:v libx264 -pix_fmt yuv420p \
-c:a copy -shortest out.mkv
Certifique-se de que use a opção -pix_fmt
para selecionar o espaço de cores correto. Caso contrário, alguns jogadores podem não mostrar o vídeo.
Como você está copiando o fluxo de áudio, nenhuma qualidade é perdida no processo. Você pode melhorar a qualidade do vídeo adicionando a opção -crf 18
, em que CRF define a qualidade .
O ffmpeg não deve ter nenhum problema com grandes arquivos MP3, embora eu me pergunte por que eles têm que ser tão grandes. A menos que sejam 24 horas de material.