Avatar
www.fr-an.de

MPEG-2 Multiplexed Stream

Pack Header

Auch hier beginnt jeder Code mit dem PACK_START_CODE_PREFIX, bestehend aus den 3 Bytes 0, 0 und 1. Daran schließt sich die ID an. Beim Pack Header der Wert $BA. Während der Pack Header bei MPEG-1 konstant 8 Byte lang war, ist er hier 10 Byte lang und kann zudem Füllbytes enthalten.

Aufbau

  1. 4 Byte: PACK_START_CODE = $000001BA
  2. 6 Byte: Identikator und System Clock Reference
    1. 2 Bit: Identikator für MPEG-2 = 01
    2. 3 Bit: Bit 32-30 der System Clock Reference Base
    3. 1 Bit: Marker
    4. 15 Bit: Bit 29-15 der System Clock Reference Base
    5. 1 Bit: Marker
    6. 15 Bit: Bit 14-0 der System Clock Reference Base
    7. 1 Bit: Marker
    8. 9 Bit: System Clock reference Extension
    9. 1 Bit: Marker
  3. 3 Byte: Multiplex Rate
    1. 22 Bit: Multiplex Rate
    2. 2 Bit: Marker
  4. 1 Byte: Anzahl der Füllbytes
    1. 5 Bit: Reserviert
    2. 3 Bit: Anzahl der Füllbytes
  5. Füllbytes

 

Als Schema:

  7 6 5 4 3 2 1 0
0 PACK_START_CODE
 
$000001BA
1
2
3
4 ID 01 SCR Base Bit 32-30 Marker SCR Base ...
5 ... System Clock Reference Base Bit 29-15 ...
6 ... SCR Base Marker SCR Base ...
7 ... System Clock Reference Base Bit 14-0 ...
8 ... SCR Base Marker SCR Ext ...
9 ... System Clock Reference Extension 8-0 Marker
10 Multiplex Bitrate
11 noch Multiplex Bitrate
12 noch Multiplex Bitrate Marker Marker
13 Reserviert Anzahl der Füllbytes

 

Erläuterungen

Der Identikator für MPEG-2 ist immer 01.

Die System Clock Reference Base wird in 90 kHz Zyclen angegeben. Die System Clock Extension in 27 MHz Zyclen. So ergibt sich die System Clock Reference aus System Clock Reference Base * 300 + System Clock Reference Extension.

Die Multiplex Rate ist die Gesamtbitrate des Streams. Sie wird in 400 Bit je Sekunde angegeben.

Markerbits dienen dazu, Fehler zu erkennen. Sie müssen immer den Wert 1 besitzen.

Die Anzahl der Füllbytes gibt an, wie viele Bytes mit den Werten $FF sich dem Header anschliessen.

 

Testprogramm

Mit dem folgenden kleinen Testprogramm kann man einen MPEG-2 Stream scannen, die Packs und Streams sowie den Pack Header anzeigen lassen.

MPEG2 Program Test 2 (172 kb) - MD5.
Stand: 26. Mai 2009

Fr_An - Letzte Änderung: 26. Mai 2009
Counter
seit 28. Juli 2010