Projekte > MPEG-1/2 Video > Informationen sammeln

Identifikation

Die Identifikation erfolgt anhand der Startcodes:

  • $000001BA - Pack Start Code - MPEG-1/2 Multiplexer
  • $000001B3 - Sequenz Start Code - MPEG-1/2 Elementar Stream
  • $0B77 - Syncword - AC3 Dolby Digital
  • $FFF - Syncword - MPEG Audio Stream

Beim Multiplexer wird weiter unterschieden anhand der auf den Code folgenden Bits:

  • 0010 - MPEG-1
  • 01 - MPEG-2

Anhand des Abstandes der Paketheader bzw der Position des zweiten Paketheaders kann man ermitteln, ob der Stream Standard (2048 Byte/Paket) oder (S)VCD (2324 Byte/Paket) gemuxt ist.

Beim Elementar Video muss man den nächsten Pack Start Code auswerten. Ist ein Extension Start Code $000001B5, handelt es sich um einen MPEG-2 Stream. Man kann auch im Sequenz Header das Constrained Parameter Flag auswerten, welches bei MPEG-2 immer 0 ist.

Beim Audio zeigt das folgende Bit die MPEG-Version an:

  • MPEG-Version 2
  • MPEG-Version 1

Darauf folgt die LayerID.

  1. Reserviert.
  2. Layer 3
  3. Layer 2
  4. Layer 1

Beispielprogramm

Mit diesem kleinen Testprogramm kann man die oben genannte Auswertung vornehmen.

MPEG Info 1 (157 kb) - MD5 (1 kb).
Stand: 01. Juni 2009