Sie können es versuchen.
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
Hier müssen Sie filter_complex
und map
zum Überlagern verwenden, und die Skalierung usw. 0:v
bezieht sich auf das Eingangsvideo und dessen Breite und Höhe werden auf 80% des Originals skaliert . 1:v
bezieht sich auf das Eingabebild und wird mit dem skalierten Video zur Bildmitte überlagert . loop
Durchläuft das Bild durch die Videodauer und -t
begrenzt die Dauer des Ausgabevideos auf wenige Sekunden.
Wenn Sie im Ausgangsvideo verfügbares Original-Audio benötigen, müssen Sie -map 0:a
die Ausgabedatei angeben.
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
Hoffe das wird dir helfen!