Hier sind werden die Informationen aus verschiedenen Quellen bezogen.
Im Packheader (MPEG-1, MPEG-2) ist die Multiplexbitrate enthalten. Im Systemheader (MPEG-1, MPEG-2) die maximale Multiplexbitrate sowie die Anzahl der Audio- und Videospuren. Die weiteren Eigenschaften stecken in den Elementar Streams (Video, Audio), welche in den Video- und Audio-Paketen verpackt sind. Dazu muss jeweils das erste Paket ausgewertet werden.
Die Spieldauer kann wiederum nicht direkt ausgelesen werden. Dafür kommen folgende Methoden in Frage:
Desweiteren könnte man die Methoden für das elementare Video anwenden:
Ebenso die für das elementare Audio:
Die Methoden für die Elementarstreams setzen voraus, dass diese demuxt werden. Daraus ergeben sich ein paar Schwierigkeiten. Am einfachsten erscheint mir das Zählen der Frames. Die anderen Möglichkeiten werden vorerst aussen vor gelassen.
Für mein Beispielvideo sieht das Ergebnis so aus:
Die Datei ist ein Multiplextes MPEG-1 Video.
Packheader:
=====================================================
Multiplexbitrate - 1952400 b/s
Systemheader:
=====================================================
Max. Multiplexbitrate - 1952400 b/s
Videospuren - 1, E0
Audiospuren - 1, C0
Streams:
=====================================================
VideoStream E0 - Sequenzheader:
----------------------------------------------------
Bildbreite - 720
Bildhöhe - 576
Aspect Ratio - 0.9157 - 4:3, 625 line, PAL, CCIR601
Framerate - 25,000 f/s
Videobitrate - 1700000 b/s
MPEG Audiostream C0 - Frameheader:
---------------------------------------------------
MPEG-1 Layer - 2
Audiobitrate - 224000 b/s
Samplerate - 48000 Hz
Spieldauer über Bitrate:
=====================================================
Bitrate - 1952400 b/s
Dateigröße - 81379332 Byte
---------------------------------------------------
Spieldauer (DG / BR * 8) - 00:05:33,454
Spieldauer aus Systen Clock Reference:
=====================================================
Erste System Clock Reference - 00:00:00,000
Letzte System Clock Reference - 00:05:33,000
---------------------------------------------------
Spieldauer (Differenz) - 00:05:33,000
Spieldauer über Presentation Time Stamp:
=====================================================
Erster Presentation Time Stamp - 00:00:00,611
Letzter Presentation Time Stamp - 00:05:33,531
---------------------------------------------------
Spieldauer (Differenz) - 00:05:32,920
Spieldauer über Frames:
=====================================================
Framerate - 25,000 f/s
Anzahl Frames - 8325
---------------------------------------------------
Spieldauer (f / FR) - 00:05:33,000
Bzw:
Die Datei ist ein Multiplextes MPEG-2 Video.
Packheader:
=====================================================
Multiplexbitrate - 2804800 b/s
Systemheader:
=====================================================
Max. Multiplexbitrate - 2804800 b/s
Videospuren - 1, E0
Audiospuren - 1, C0
Streams:
=====================================================
Videostream E0 - Sequenzheader:
---------------------------------------------------
Bildbreite - 720
Bildhöhe - 576
Aspect Ratio - 4:3
Framerate - 25,000 f/s
Videobitrate - 2500000 b/s
MPEG Audiostream C0 - Frameheader:
---------------------------------------------------
MPEG-1 Layer - 2
Audiobitrate - 256000 b/s
Samplerate - 48000 Hz
Spieldauer über Bitrate:
=====================================================
Bitrate - 2804800 b/s
Dateigröße - 116295684 Byte
---------------------------------------------------
Spieldauer (DG / BR * 8) - 00:05:31,705
Spieldauer aus Systen Clock Reference:
=====================================================
Erste System Clock Reference - 00:00:00,000
Letzte System Clock Reference - 00:05:32,972
---------------------------------------------------
Spieldauer (Differenz) - 00:05:32,972
Spieldauer über Presentation Time Stamp:
=====================================================
Erster Presentation Time Stamp - 00:00:00,823
Letzter Presentation Time Stamp - 00:05:33,743
---------------------------------------------------
Spieldauer (Differenz) - 00:05:32,920
Spieldauer über Frames:
=====================================================
Framerate - 25,000 f/s
Anzahl Frames - 8325
---------------------------------------------------
Spieldauer (f / FR) - 00:05:33,000
Und hier ein DVB-Mitschnitt mit einer AC3-Tonspur.
Die Datei ist ein multiplextes MPEG-2 Video.
Packheader:
=====================================================
Multiplexbitrate - 6000000 b/s
Systemheader:
=====================================================
Max. Multiplexbitrate - 8000000 b/s
Videospuren - 1, E0
Audiospuren - 1, BD
Streams:
=====================================================
Videostream E0 - Sequenzheader:
---------------------------------------------------
Bildbreite - 720
Bildhöhe - 576
Aspect Ratio - 16:9
Framerate - 25,000 f/s
Videobitrate - 3648800 b/s
Private Stream BD - AC3 Frameheader:
---------------------------------------------------
Stream ID - 80
Audiobitrate - 384000 b/s
Samplerate - 48000 Hz
Spieldauer über Bitrate:
=====================================================
Bitrate - 6000000 b/s
Dateigröße - 4091978266 Byte
---------------------------------------------------
Spieldauer (DG / BR * 8) - 01:30:55,971
Spieldauer aus Systen Clock Reference:
=====================================================
Erste System Clock Reference - 00:00:01,200
Letzte System Clock Reference - 02:29:33,268
---------------------------------------------------
Spieldauer (Differenz) - 02:29:32,068
Spieldauer über Presentation Time Stamp:
=====================================================
Erster Presentation Time Stamp - 00:00:02,000
Letzter Presentation Time Stamp - 02:29:34,040
---------------------------------------------------
Spieldauer (Differenz) - 02:29:32,040
Spieldauer über Frames:
=====================================================
Framerate - 25,000 f/s
Anzahl Frames - 224305
---------------------------------------------------
Spieldauer (f / FR) - 02:29:32,200
Spieldauer über AC3 Frames:
=====================================================
Samplerate - 48000 Hz
Anzahl Frames - 280375
---------------------------------------------------
Spieldauer (f * 1536 / SR) - 02:29:32,000
Die Genauigkeit der Ergebnisse über die System Clock Reference und die Presentation Time Stamps dürften vom Video und/oder vom Encoder abhängig sein. Während hier das mit dem TMPG Enc 2.5 encodete MPEG-1 bei der System Clock Reference genau die Spieldauer ergibt, sah es beim Cinemacraft Encoder Basic ein wenig anders aus.
In obigen Ergebnissen ist die Spieldauer über die System Clock Reference relativ genau. Die Differenz betrug in meinen Tests weniger als ein Frame. Möglicherweise könnte man die Spieldauer generell auf das nächste volle Frame aufrunden um ein genaues Ergebnis zu erhalten.
Über den Presentation Time Stamp ergibt sich bei meinem Beispielvideo eine um genau zwei Frames kürzere Spielzeit. Möglicherweise könnte man die noch auf den PTS folgenden Frames zählen.
Die Berechnung der Spieldauer über die Bitrate erweist sich als ungenau. Das ist nicht verwunderlich, da sie in 400 Bit/s-Einheiten angegeben wird. Beim DVB-Mitschnitt kommt hinzu, dass in der Datei verschiedene Bitraten verwendet werden.
Die Spieldauer über die AC3-Tonspur ist kaum kürzer als die gesamte.

Mit diesem kleinen Testprogramm wird die oben genannte Auswertung vorgenommen.
MPEG Info 4 (168 kb) -
MD5 (1 kb).
Stand: 07. Juni 2009
Fr_An - Letzte Änderung: 07. Juni 2009
seit 28. Juli 2010