Projekte > MPEG-1/2 Video > 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

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

Als Schema

 76543210
0PACK_START_CODE
 
$000001BA
1
2
3
4ID 01SCR Base Bit 32-30MarkerSCR Base ...
5... System Clock Reference Base Bit 29-15 ...
6... SCR BaseMarkerSCR Base ...
7... System Clock Reference Base Bit 14-0 ...
8... SCR BaseMarkerSCR Ext ...
9... System Clock Reference Extension 8-0Marker
10Multiplex Bitrate
11noch Multiplex Bitrate
12noch Multiplex BitrateMarkerMarker
13ReserviertAnzahl 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