Png é uma perda sem perdas. O Ffmpeg, por padrão, usará codec h.264 ao criar e mp4. É com perdas, portanto, os dados de alta frequência são removidos. H.264 também tem melhor previsão intra frame
Para colocar um arquivo mp4 em uma imagem, eu uso o comando abaixo:
ffmpeg -i image.png -i input.mp4
\-filter_complex "overlay=(W-w)/2:(H-h)/2:enable='between(t,0,5)'"
output.mp4
Como você sabe, overlay
é usado para posicionar e between
é usado para o tempo.
Provavelmente, no momento da adição, também está comprimindo os arquivos.
Tags ffmpeg