Projekte > MPEG-1/2 Video > Transport Stream

EIT - Event Information Table

Die Event Information Table ist in der ETSI EN 300 468 definert. Es ist eine europäische Norm. Im Dezember 2009 wurde Version 1.11.1 veröffentlicht. Die EIT wird in Transportstreampaketen über die PID $0012 identifiziert. Die Tabelle kann über mehrere Pakete verteilt und darf maximal 4096 Byte lang sein.

Der Aufbau

Der Beginn einer Tabelle ist dadurch gekennzeichnet, dass der payload_unit_start_indicator im Transport Stream Header auf '1' gesetzt ist. In der Tabelle ist angegeben, auf wieviele Sektionen die Tabelle verteilt ist. In den Folgesektionen wird die Tabelle einfach fortgesetzt.

  • program_specific_information
    • 8 Bit: pointer_field
    • Soviele Bytes, wie im pointer_field angegeben sind.
    • event_information_section
      • 8 Bit: table_id
      • 1 Bit: section_syntax_indicator
      • 1 Bit: reserved_future_use
      • 2 Bit: reserved
      • 12 Bit: section_length
      • 16 Bit: sercive_id
      • 2 Bit: reserved
      • 5 Bit: version_number
      • 1 Bit: current_next_indicator
      • 8 Bit: section_number
      • 8 Bit: last_section_number
      • 16 Bit: transport_stream_id
      • 16 Bit: original_network_id
      • 8 Bit: segment_last_section_number
      • 8 Bit: last_table_id
      • section_length - 15 Byte: Eventliste
        • 16 Bit: event_id
        • 40 Bit: start_time
        • 24 Bit: duration
        • 3 Bit: running_status
        • 1 Bit: free_CA_mode
        • 12 Bit: descriptors_loop_length
        • descriptors_loop_length Byte: Descriptoren
          • descriptors
      • 32 Bit: CRC_32

Der Kopf

table_id: Die ID der Tabelle kann folgende Werte haben:

  • $4E: Aktueller Transportstream, Informationen zum gegenwärtigen/folgenden Event.
  • $4F: Anderer Transportstream, Informationen zum gegenwärtigen/folgenden Event.
  • $50-5F: Aktueller Transportstream, Event Termininformationen.
  • $60-6F: Anderer Transportstream, Event Termininformationen.

section_syntax_indicator: Das Bit ist auf '1' gesetzt.

section_length: Dies ist die verbleibende Länge der Sektion ab dem folgenden Byte. Die Sektion kann über mehrerere Pakete verteilt sein.

sercive_id: Die ID dient als Label für den Service und entspricht der program_number in der korrespondierenden Program Map Section.

version_number: Das ist die Versionsnummer der Information. Sie beginnt mit 0 und wird bei einer Änderung der Information um 1 erhöht. Ist die 31 erreicht, beginnt die Zählung wieder bei 0.

current_next_indicator: Er gibt an, ob die Tabelle anwendbar ist. Ist der Wert 0 muss die nächste Tabelle angewendet werden.

section_number: Die Sektionen sind nummeriert. Die Nummer wird mit jeder weiteren Sektion mit der gleichen table_id, service_id, transport_stream_id und original_network_id um 1 erhöht.

last_section_number: Die Nummer der letzten Sektion.

transport_stream_id: Diese ID dient der Unterscheidung der Streams.

original_network_id: Diese ID dient der Unterscheidung im Originalsystem.

segment_last_section_number: Die Nummer des letzten Segments der Sektion.

last_table_id: Dies ist die letzte verwendete table_id.

Die Eventliste

Aus der section_length abzüglich der elf Byte zwischen der section_length und der Eventliste sowie der vier Byte für den CRC_32 ergibt sich die Länge derselben. Die Anzahl der Events ergibt dann beim Lesen.

event_id: Identifikationsnummer des Events.

start_time: Dies ist der Zeitpunkt des Beginn des Events. Es wird das Datum als modifiziertes Julianisches Datum (MJD) und die Zeit als Universalzeit (UTC) angegeben. Das Datum ist als 16 Bit Integer codiert. Die Zeit (hh:mm:ss) als Binary Coded Decimal (BCD).

duration: Die Zeitdauer (hh:mm:ss) ist als Binary Coded Decimal (BCD) codiert.

running_status: Die Werte sind:

  • 0 - Undefiniert.
  • 1 - Läuft nicht.
  • 2 - Beginnt in wenigen Sekunden (Zum Beispiel für Videoaufnahmen).
  • 3 - Pausiert.
  • 4 - Läuft.
  • 5 - Service nicht auf Sendung.
  • 6, 7 - resereviert für zukünftige Nutzung.

free_CA_mode: Ist das Flag gesetzt, wird der Zugriff auf mindestens einen Stream durch ein CA-System kontrolliert.

descriptors_loop_length: Dies ist die Länge der folgenden Descriptorliste.

Die Descriptorliste

Die Länge aller Descriptoren beträgt descriptors_loop_length Byte. Die möglichen Descriptoren ergeben sich aus der Tabelle. Dies sind: