Warum erstellt FFmpeg segment_times webm-Dateien mit falscher Dauer und Startzeiten?

1135
Ryan

Ich habe eine MOV-Datei, die ich in mehrere kleinere Dateien aufteilen möchte (zu bestimmten Zeitpunkten in einer durch Kommas getrennten Liste). Ich komprimiere das Video gleichzeitig in WEBM-Dateien.

Der Befehl, den ich verwende, lautet:

ffmpeg -i original.mov -map_metadata -1 -map 0 -c:v libvpx -crf 10 -qmax 40 -b:v 2.5M -cpu-used 16 -n -force_key_frames "00:00:02.481,00:04:25.907,00:06:26.712" -f segment -segment_times "00:00:02.481,00:04:25.907,00:06:26.712" "output_%03d.webm" 2> logfile.log

Dies funktioniert und die resultierenden WEBM-Dateien werden in Windows Media Player einwandfrei wiedergegeben. Die Metadaten weisen jedoch falsche Werte für "Dauer" und "Start" auf, sodass das Einbetten in HTML5 durcheinander geraten kann. (Der HTML5-Videoplayer meint, dass die Videos länger sind als sie wirklich sind und dass sie einen verspäteten Start haben.)

Was mache ich falsch?

2

1 Antwort auf die Frage

2
antono

-reset_timestamps [1|0]

Setzen Sie die Zeitstempel am Anfang jedes Segments zurück, sodass jedes Segment mit Zeitstempeln nahe Null beginnt. Es soll die Wiedergabe der generierten Segmente erleichtern. Funktioniert möglicherweise nicht mit einigen Kombinationen von Muxern / Codecs. Sie ist standardmäßig auf 0 gesetzt.

Quelle