FFmpeg-Diashow mit Bildern unterschiedlicher Größe

705
Mesut Komser

Ich habe .jpg-Dateien wie (img001.jpg), jede davon mit unterschiedlichen Abmessungen. Ich habe auch eine Audiodatei .ogg. Ich möchte eine Diashow mit Audio erstellen, habe aber ein Skalierungsproblem, da die Bildabmessungen unterschiedlich sind.

ffmpeg -r 1/2 -i img%03d.jpg -i example.ogg -s 1920x1080 AL_SlideShow.mkv 

(2 Sekunden Bildwechselintervall, x265 1920 * 1080)

Und der Sound spielt nur 30 Sekunden, denke ich.

2

1 Antwort auf die Frage

1
slhck

Sie müssen die Bilder auf eine gemeinsame Größe skalieren. Einen scaleVideofilter hinzufügen:

ffmpeg -r 1/2 -i img%03d.jpg -i example.ogg \ -vf "scale=1920:1080,format=yuv420p" \ AL_SlideShow.mkv 

Wenn Sie verwenden möchten libx265, müssen Sie auch angeben -c:v libx265.

Sie können -shortestvor der Ausgabe einen Dateinamen hinzufügen, um die Kodierung zu stoppen, wenn alle Bilder gelesen wurden. Auf diese Weise wird der Audiostrom unterbrochen.