Skalieren Sie das Video und wenden Sie dann den Bildrahmen mit ffmpeg an

1067
Wahyu Way

Ich habe einen Bilderrahmen von 1920x1080 und ein Video mit der gleichen Auflösung.

Ich möchte das Video um 80% seiner Auflösung vergrößern, zentrieren und dann mit einem Bildrahmen überlagern. Das Endergebnis des Videos ist also 1920 x 1080

Wie kann ich das machen?

0

1 Antwort auf die Frage

3
Chamath

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_complexund mapzum Überlagern verwenden, und die Skalierung usw. 0:vbezieht sich auf das Eingangsvideo und dessen Breite und Höhe werden auf 80% des Originals skaliert . 1:vbezieht sich auf das Eingabebild und wird mit dem skalierten Video zur Bildmitte überlagert . loopDurchläuft das Bild durch die Videodauer und -tbegrenzt die Dauer des Ausgabevideos auf wenige Sekunden.

Wenn Sie im Ausgangsvideo verfügbares Original-Audio benötigen, müssen Sie -map 0:adie 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!