%3F.png)
Ich versuche, Untertitel-Zeitstempel aus einer M2TS-Datei zu extrahieren ffprobe
. Dies funktioniert nicht wie erwartet. Die M2TS-Datei enthält bekanntermaßen 1001 Untertitel in Spur 4, aber ich erhalte etwa 4000 Zeitstempel. Darüber hinaus sind diese Zeitstempel auf seltsame Weise miteinander verknüpft und unsortiert.
Die Befehlszeile, die ich verwende:
ffprobe -show_entries packet=stream_index,pts,duration -of compact=p=0:nk=1 input.m2ts > ts.txt
ts.txt
enthalten dann Blöcke wie die folgenden (ich habe zur besseren Lesbarkeit Leerzeilen eingefügt):
4|57795041|N/A|
4|57795000|N/A|
4|57789168|N/A|
4|57789250|N/A|
4|57789250|N/A|
4|57982728|N/A|
4|57982687|N/A|
4|57982686|N/A|
4|63380621|N/A|
4|63380580|N/A|
4|63374748|N/A|
4|63374830|N/A|
4|63374830|N/A|
... and so on
Jeder Block entspricht einem Untertitel. Die Zeitstempel in einem Block sind nicht sortiert. Die letzten beiden Zeitstempel in einem Block sind identisch oder unterscheiden sich um maximal 1 Tick. Die Zeitbasis ist 90000 ticks / s
.
Ich bin überzeugt, dass mein Problem auf mein mangelndes Verständnis der Funktionsweise ffprobe
und der Einbettung von Untertitel-Zeitstempeln in einen Container zurückzuführen ist. Könnte mir bitte jemand kurz erklären, wie man Untertitel-Zeitstempel richtig extrahiert? Mich interessieren nur PTS-Zeitstempel.
Ich habe dann der Ausgabe Frame-Informationen hinzugefügt und dafür gesorgt, dass der Abschnitt und die Schlüssel gedruckt werden:
ffprobe -show_entries packet=stream_index,pts,duration:frame -of compact input.m2ts > ts.txt
Dies hat nicht geholfen. Im Folgenden sehen Sie ein Beispiel aus der Ausgabe:
packet|stream_index=4|pts=76826553|duration=N/A|
packet|stream_index=4|pts=76826144|duration=N/A|
packet|stream_index=4|pts=76826143|duration=N/A|
subtitle|
Neben der Ausführlichkeit gibt es jetzt auch zusätzliche subtitle
Abschnittseinträge, die jedoch keine Daten enthalten. Natürlich gibt es jetzt auch zusätzliche Abschnittseinträge frame
, aber ich habe sie nicht angezeigt, da keiner von ihnen mit Untertiteln zu tun hat.
Abschließend möchte ich sagen, dass ffprobe
es sich im Allgemeinen um ein geeignetes Tool zum Extrahieren von PTS-Zeitstempeln zu handeln scheint: Die Audio- und Video-Zeitstempel, die ich auf dieselbe Weise extrahiere, sind alle korrekt. Nur die Untertitel-Zeitstempel bereiten Probleme.