Ich verwende FFmpeg, um mit Videos zu arbeiten, die eine negative Startzeit haben:
$ ffmpeg -i test.mp4 -ss 0 out.mp4
...
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'test.mp4':
Metadata:
major_brand : mp42
minor_version : 1
compatible_brands: mp41mp42isom
creation_time : 2018-01-03 11:35:13
Duration: 00:00:06.16, start: -1.238906, bitrate: 1425 kb/s
...
Output #0, mp4, to 'out.mp4':
...
frame= 222 fps=0.0 q=-1.0 Lsize= 166kB time=00:00:07.44 bitrate= 182.9kbits/s
Gibt es eine Möglichkeit, das Video bei Zeit 0 zu schneiden? D. h. die Ausgabe sollte eine Dauer von 6,16 und nicht 7,74 haben. Ich habe versucht, -avoid_negative_ts
alle verschiedenen Werte einzustellen. Natürlich könnte ich den negativen Wert manuell lesen und ihn mit dem richtigen Offset erneut ausführen -ss
, aber ich suche nach einer automatischen Lösung.
Antwort1
Normalerweise -ss
funktioniert die Eingabeoption als relativer Offset vom Dateianfang. Da Ihre Startzeit negativ und im Voraus unbekannt ist, können Sie die seek_timestamp
Suche nach einem absoluten Zeitstempelwert aktivieren.
ffmpeg -seek_timestamp 1 -ss 0 -i test.mp4 out.mp4