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.