Como você está usando uma versão muito recente do ffmpeg, use o comando abaixo
ffmpeg -y -i ./images/video%04d.png -i music.wav -profile:v baseline -shortest -vcodec libx264 -s 720x480 -acodec aac -movflags +faststart video_file.mp4
profile
está definido para o menor denominador comum baseline
para compatibilidade ampla. A caixa MOOV é deslocada para a cabeça do arquivo, então o MP4 inteiro não precisa ser baixado antes que a reprodução possa começar.
Por padrão, o ffmpeg atribui uma taxa de quadros de 25 a seqüências de imagens, a menos que seja especificado de outra forma. Desde dezembro de 2015, o codificador AAC nativo não é mais marcado como experimental.
Tanto o valor de tamanho de 720x480 quanto o tamanho de vídeo HTML5 - 640x480 - me fazem pensar que você está lidando com material de origem NTSC. Se sim, use
ffmpeg -y -framerate 30000/1001 -i ./images/video%04d.png -i music.wav -vf "scale=640x480,setsar=1' -profile:v baseline -shortest -vcodec libx264 -acodec aac -movflags +faststart video_file.mp4