Die meisten Informationen stecken bereits im Sequenzheader (MPEG-1, MPEG-2). So die für Bildgröße (Höhe und Breite), Bildwiederholfrequenz (Framerate), Seitenverhältnis (Aspect Ratio) und die Videobitrate. Lediglich die Spieldauer kann nicht direkt ausgelesen werden. Dafür könnte man folgende Methoden anwenden:
Bei der ersten und zweiten Möglichkeit muss man den letzten GOP-Header suchen. Dazu liest man die Datei von hinten nach vorne und findet dementsprechend auch die Header der Picture der letzten GOP und kann sie zählen. Damit erübrigt sich die erste Möglichkeit.
Für mein Beispielvideo sieht das Ergebnis als MPEG-1 so aus:
Die Datei ist ein MPEG-1 Elementar Video. Sequenzheader: ================================================= Bildbreite - 720 Bildhöhe - 576 Framerate - 25,000 f/s Aspect Ratio - 0.9157 - 4:3, 625 line, PAL, CCIR601 Bitrate - 1700000 b/s Spieldauer über GOP Time Stamp (1): ================================================= Erster GOP Time Stamp - 00:00:00,000 Letzter GOP Time Stamp - 00:05:32,519 ----------------------------------------------- Spieldauer (Differenz) - 00:05:32,519 Spieldauer über GOP Time Stamp (2): ================================================= Erster GOP Time Stamp - 00:00:00,000 Letzter GOP Time Stamp - 00:05:32,519 Picture letzte GOP - 12 f ----------------------------------------------- Spieldauer (Differenz) - 00:05:32,999 Spieldauer über Bitrate: ================================================= Bitrate - 1700000 Bit/s Dateigröße - 70762661 Byte ----------------------------------------------- Spieldauer (BR / DG * 8) - 00:05:33,000 Spieldauer über Frames: ================================================= Framerate - 25,000 f/s Anzahl Frames - 8325 ----------------------------------------------- Spieldauer (f / FR) - 00:05:33,000
Und so als MPEG-2:
Die Datei ist ein MPEG-2 Elementar Video.
Sequenzheader:
=================================================
Bildbreite - 720
Bildhöhe - 576
Framerate - 25,000 f/s
Aspect Ratio - 4:3
Bitrate - 2500000 b/s
Spieldauer über GOP Time Stamp (1):
=================================================
Erster GOP Time Stamp - 00:00:00,000
Letzter GOP Time Stamp - 00:05:32,519
-----------------------------------------------
Spieldauer (Differenz) - 00:05:32,519
Spieldauer über GOP Time Stamp (2):
=================================================
Erster GOP Time Stamp - 00:00:00,000
Letzter GOP Time Stamp - 00:05:32,519
Picture letzte GOP - 12 f
-----------------------------------------------
Spieldauer (Differenz) - 00:05:32,999
Spieldauer über Bitrate:
=================================================
Bitrate - 2500000 Bit/s
Dateigröße - 104073538 Byte
-----------------------------------------------
Spieldauer (BR / DG * 8) - 00:05:33,035
Spieldauer über Frames:
=================================================
Framerate - 25,000 f/s
Anzahl Frames - 8325
-----------------------------------------------
Spieldauer (f / FR) - 00:05:33,000
Für dieses selbst encodete Beispielvideo kommen alle Möglichkeiten in Frage. Das Auszählen nimmt bei größeren Datei erhältnismäßig viel Zeit in Anspruch. Sowie das Video ohne Korrektur der Timestamps geschnitten wurde, liefern die ersten beiden Methoden keine korrekten Ergebnisse mehr. Bei der Methode mit der Bitrate treten kleine Schwankungen auf, sodass sie nicht allzu sicher ist wie das nächste Beispiel zeigt. Dabei handelt es sich um eine mit DVD2SVCD erstellte SVCD.
Die Datei ist ein MPEG-2 Elementar Video.
Sequenzheader:
=================================================
Bildbreite - 480
Bildhöhe - 576
Framerate - 25,000 f/s
Aspect Ratio - 16:9
Bitrate - 1750000 b/s
Spieldauer über GOP Time Stamp:
=================================================
Erster GOP Time Stamp - 01:00:02,400
Letzter GOP Time Stamp - 02:08:05,680
Picture letzte GOP - 15 f
-----------------------------------------------
Spieldauer (Differenz) - 01:08:03,880
Spieldauer über Bitrate:
=================================================
Bitrate - 1750000 Bit/s
Dateigröße - 698829616 Byte
-----------------------------------------------
Spieldauer (BR / DG * 8) - 00:53:14,650
Spieldauer über Frames:
=================================================
Framerate - 25,000 f/s
Anzahl Frames - 102097
-----------------------------------------------
Spieldauer (f / FR) - 01:08:03,880

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