Você pode tentar isso.
ffmpeg -i input_video -loop 1 -i input_image -t video_duration -filter_complex "[0:v]scale=iw*80/100:ih*80/100[vo];[1:v][vo]overlay=(main_w-overlay_w)/2:(main_h-overlay_h)/2,setpts=PTS-STARTPTS[outv]" -c:v libx264 -map [outv] output_video
Aqui você tem que usar filter_complex
e map
para sobrepor e fazer a escala, etc. 0:v
refere-se ao vídeo de entrada e sua largura e altura são escalado para ser 80% do original. 1:v
refere-se à imagem de entrada e é sobreposição com o vídeo dimensionado no centro da imagem . loop
fará o loop da imagem na duração do vídeo e -t
limitará a duração do vídeo de saída aos segundos desejados.
Se você precisar de áudio original disponível no vídeo de saída, use -map 0:a
antes de especificar o arquivo de saída.
ffmpeg -i input_video -loop 1 -i input_image -t video_duration -filter_complex "[0:v]scale=iw*80/100:ih*80/100[vo];[1:v][vo]overlay=(main_w-overlay_w)/2:(main_h-overlay_h)/2,setpts=PTS-STARTPTS[outv]" -c:v libx264 -map [outv] -map 0:a -c:a copy output_video
Espero que isso ajude você!