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

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 ,.


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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.