Projekte > MPEG-1/2 Video > Transport Stream

Transport Packet

Das Transport Packet beginnt mit einem Header ist wie folgt aufgebaut:

  • 1 Byte: SYNC-Byte = $47
  • 1 Bit: Transport Fehler Indikator
  • 1 Bit: Payload Start Indicator
  • 1 Bit: Transport Priorität
  • 13 Bit: PID
  • 2 Bit: TSC (Transport Scrambling Control)
  • 2 Bit: AFC (Adaptation Field Control)
  • 4 Bit: Zähler
  • Wenn das AFC = '10' oder '11' ist
  • 1 Byte: data_byte

Als Schema:

 76543210
0SYNC-Byte $47
1TErrorPayloadPrioritätPID ...
2... PID
3TSCAFCZähler

SYNC-Byte

Das Syncbyte besitzt den festen Wert 0100 0111 = $47.

TError

Gibt an, ob nicht korrigierbare Übertragungsfehler vorliegen.

Payload

Gibt an, ob das Paket den Anfang eines PES (Paketisierter Elementar Stream) oder eines PSI Datenpaketes (Program Association Table, Program Map Table, Network Information Table, Conditional Access Table) enthält.

Transport Priority

Gibt an, ob dieses Paket eine höhere Priorität als andere Pakete mit der selben PID besitzt.

PID

Gibt den Typ der im Payload enthaltenen Daten an:

  • $0000 - Program Association Table (PAT)
  • $0001 - Conditional Access Table (CAT)
  • $0002 - Transport Stream Description Table (TSDT)
  • $0003 - $000F Reserviert.
  • $0010 - Network Information Table (NIT), Stuffing Table (ST)
  • $0011 - Service Description Table (SDT), Bouquet Assoziation Table (BAT), Stuffing Table (ST)
  • $0012 - Event Information Table (EIT) and Stuffing Table (ST CIT)
  • $0013 - Running Status Table (RST), Stuffing Table (ST)
  • $0014 - Time and Date Table (TDT), Time Offset Table (TOT) und Stuffing Table (ST)
  • $0015 - Netzwerksynchronisation
  • $0016 - RNT
  • $0017 - $001B - Reserviert für eine spätere Nutzung
  • $001C - inband signalling
  • $001D - measurement
  • $001E - Discontinuity Information Table (DIT)
  • $001F - Selection Information Table (SIT)
  • $0020 - $1FFE - Video / Audio / Private Daten
  • $1FFF - NULL Packete zur Verwendung als Padding.

Quelle: ETSI EN 300 468 V1.8.1 (07/2008).

Einige dieser Tabellen kommen zwar im DVB Stream vor, werden aber nicht gespeichert.

Die PID sind anscheinend vom Anbieter bzw Hersteller abhängig. In einer Quelle ist für Motorola 56311 DSP bedeutet beispielsweise

  • PID 31 = Video
  • PID 30 = Audio 1
  • PID 29 = Audio 2

TSC

Gibt an, ob das Paket verschlüsselt ist. Dies bezieht sich nicht auf den Header und das Adaption Field.

  • $00 - Keine Verschlüsselung im TS Paket Payload
  • $01 - Reserviert für künftige DVB Nutzung
  • $10 - TS Paket mit gleichem Schlüssel verschlüsselt
  • $11 - TS Paket mit einem anderen Schlüssel verschlüsselt

AFC

Gibt an, ob sich dem Header ein Adaptation Feld und/oder ein Payload anschließt.
00 - Reserviert für eine künftige Nutzung
01 - Kein Adaptationsfeld, nur Payload
10 - Nur Adaptationsfeld, kein Payload
11 - Adaptatioonsfeld und Payload

Zähler

Fortlaufende Zählung der Pakete mit der selben PID. Es wird von 0 bis 15 (modulo 16) gezählt.

Beispiele

Ein Stream, welcher mit dem DVB-Viewer von einer SkyStar 2 über Satellit digital aufgenommen wurde, beginnt zum Beispiel so:

PID: $0700, Zähler: 2 - Audio
PID: $06FF, Zähler: 8 - Video
PID: $06FF, Zähler: 9 - Video
PID: $0700, Zähler: 3 - Audio
PID: $06FF, Zähler: 10 - Video
PID: $06FF, Zähler: 11 - Video
PID: $06FF, Zähler: 12 - Video
PID: $0700, Zähler: 4 - Audio
PID: $06FF, Zähler: 13 - Video
PID: $06FF, Zähler: 14 - Video
PID: $0700, Zähler: 5 - Audio
PID: $06FF, Zähler: 15 - Video
PID: $06FF, Zähler: 0 - Video

Eine analoge Aufnahme mit Terrratec Home Cinema von einer Terratec Cinergy 400 zum Beispiel so:

PID: $00FF, Zähler: 0
PID: $0000, Zähler: 0 - Programm Tabelle
PID: $00FE, Zähler: 0
PID: $0814, Zähler: 0 - Audio
PID: $0810, Zähler: 0 - Video
PID: $0814, Zähler: 0 - Audio
PID: $0810, Zähler: 1 - Video
PID: $0810, Zähler: 2 - Video
PID: $0810, Zähler: 3 - Video
PID: $0810, Zähler: 4 - Video
PID: $0810, Zähler: 5 - Video
PID: $0810, Zähler: 6 - Video
PID: $0810, Zähler: 7 - Video

Testprogramm

Test 2: Das Testprogramm scannt die Syncbytes und zeigt die Stream Header.

TSTest2 (206 kb), MD5 (1 kb).
Stand: 12. Februar 2010