Beschleunigen und Skalieren von Videos mit ffmpeg

3

Ich verwende den folgenden Befehl, um GIF-Thumbnails aus meinen Videos zu erstellen. Der Teil "Beschleunigen" funktioniert jedoch nicht - ich frage mich also, ob es etwas gibt, das ich nicht weiß? Als ob das Kombinieren bestimmter Flags nicht funktioniert?

ffmpeg -i input.mp4 -filter:v "setpts=PTS/20" -t 60 -vf scale=160:-1 output.gif
Taapo
quelle
Wenn Sie das nächste Mal nach ffmpeg fragen, geben Sie bitte die vollständige, ungeschnittene Befehlszeilenausgabe an.
slhck

Antworten:

3

Sie geben zwei Filter an - vf ist das gleiche wie filter:v:

Letzteres überschreibt das erstere, sodass Sie am Ende nur das Video skalieren. Verwenden Sie dies stattdessen:

ffmpeg -i input.mp4 -filter:v "setpts=PTS/20,scale=160:-1" -t 60 output.gif

Hier geben Sie die Filterketteneinträge getrennt durch ein an ,.

slhck
quelle
Dies gibt mir einen Fehler: [NULL @ 0x7fd694035200] Es konnte kein geeignetes Ausgabeformat für 'scale = 160: -1 ”' scale = 160: -1” gefunden werden: Ungültiges Argument
Taapo
Sie sollten nur den Filterausdruck durch den ersetzen, den ich Ihnen gegeben habe. Der Ausgabedateiname muss noch vorhanden sein. Ich habe den vollständigen Befehl eingefügt, den Sie verwenden müssen - vielleicht hätte er genauer sein sollen.
slhck
Ich habe die folgende Befehlszeile verwendet: ffmpeg -i input.mp4 -filter: v "setpts = PTS / 20, scale = 160: -1" -t 60 output.gif - der Fehler wird weiterhin angezeigt
Taapo
Ok, anscheinend hat das Leerzeichen nach dem einen Fehler gemacht - das ist also die richtige Filtersyntax: "setpts = PTS / 20, scale = 160: -1"
Taapo
Ah, das scheint dann OS-abhängig zu sein. Korrigiert!
slhck