Isso deve funcionar bem:
ffmpeg -r 30 -i temp/foo-%07d.jpeg -i '.\Gangnam Style.mp4' output.webm
Este é o motivo pelo qual suas imagens não foram alinhadas com seu fluxo de áudio.
ffmpeg -i '.\Gangnam Style.mp4' -r 30 -s 640x480 -f image2 temp/foo-%07d.jpeg
Aqui você está criando imagens a 30 fps ( -f image2
não é necessário aqui).
ffmpeg -f image2 -i temp/foo-%07d.jpeg -r 30 -i '.\Gangnam Style.mp4' …
Aqui você está lendo imagens a 25 fps e o arquivo MP4 a 30 fps. A razão para isso é que as opções passadas antes de -i
se aplicam somente a essa entrada. Todas as opções após -i
são para a próxima entrada ou são opções de saída.
25 fps são o padrão para o image2
demuxer (é a opção -framerate
, -r
é um atalho). Note que -f image2
é supérfluo em seu comando. Eu também estou bastante certo de que as opções -map
podem ser deixadas de fora no seu caso. Normalmente, o ffmpeg mapeia um vídeo e uma fonte de áudio para a saída corretamente.