Ich versuche, ffmpeg zu verwenden, um Videodateien zu genauen Zeiten zu schneiden. In der ffmpeg-Hilfe wird die Option -timecode_frame_start angezeigt, mit der der Start-Frame angegeben werden kann. Es ist jedoch nicht möglich, diesen Befehl zum Laufen zu bringen. Das resultierende Video beginnt immer am Anfang des Originalvideos. Hier ist ein Beispiel für den Befehl, den ich ausführe:
ffmpeg -i input.mpg -acodec copy -vcodec copy -timecode_frame_start 200 -vframes 210 -n ouput.mpg
Ich habe die Option timecode_frame_start vor und nach den anderen Optionen verschoben, ohne dass sich die Ergebnisse geändert haben. Gibt es eine zusätzliche Option, die ich angeben muss? Ich habe verschiedene Dateiformate ausprobiert, mkv, avi, mp4, und es scheint nicht, dass das Problem mit dem Codec zusammenhängt. Hier ist eine Datei, die ich ausprobiert habe:
http://www.seaotter.com/marine/movies/hermit-long-01.mpg
Vermisse ich etwas?
melt
sehen, genau geschnitten Videodateien von der Kommandozeile - Super UserAntworten:
Ich habe gerade erfahren, dass das
timecode_frame_start
so nicht funktioniert. Die einzige Möglichkeit, bei bestimmten Frames zu beginnen, besteht darin, eine Reihe von Frames inss.ms
Syntax umzuwandelnhh:mm:ss.ms
. Wenn Ihr Video also 25 fps hat und Sie mit 133 Bildern beginnen möchten, benötigen SieAlso renn
Beachten Sie, dass das Ausschneiden exakter Frames mit bitstream copy (
-c:v copy
) nicht möglich ist, da nicht alle Frames intra-codiert sind und für sich alleine stehen können.-ss
wird immer rahmengenau sein.Wenn Sie eine bestimmte Anzahl von Frames codieren möchten, verwenden Sie
-frames:v
zum Beispiel:Sie können auch Videofilter verwenden , die Audiounterstützung ist jedoch möglicherweise nicht exakt. Und anscheinend ist das Suchen nach Frames immer noch kein Feature. Sie können diesem FFmpeg-Benutzer-Mailinglisten-Thread folgen, um weitere Informationen zu erhalten:
quelle
select=gte(n\,100)
Methode funktioniert, aber das Suchen verschlingt die Leistung. Wenn Sie testen, indem Sie nur 30 Frames gleichzeitig codieren: Je weiter ich in das Video starte, desto länger dauert die Ausführung von ffmpeg, da gesucht wird.Die Option
z.B,Schneidet das Video vom 200. bis zum 300. Frame (einschließlich), beginnt die Sequenzzählung bei 0.
quelle