Avatar
www.fr-an.de

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.

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

 

Der Kopf

table_id: Die ID der Tabelle kann folgende Werte haben:

  1. $4E: Aktueller Transportstream, Informationen zum gegenwärtigen/folgenden Event.
  2. $4F: Anderer Transportstream, Informationen zum gegenwärtigen/folgenden Event.
  3. $50-5F: Aktueller Transportstream, Event Termininformationen.
  4. $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:

  1. 0 - Undefiniert.
  2. 1 - Läuft nicht.
  3. 2 - Beginnt in wenigen Sekunden (Zum Beispiel für Videoaufnahmen).
  4. 3 - Pausiert.
  5. 4 - Läuft.
  6. 5 - Service nicht auf Sendung.
  7. 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:

  1. $42 - stuffing_descriptor
  2. $4A - linkage_descriptor
  3. $4D - short_event_descriptor
  4. $4E - extended_event_descriptor
  5. $4F - time_shifted_event_descriptor
  6. $50 - component_descriptor
  7. $53 - CA_identifier_desriptor
  8. $54 - content_descriptor
  9. $55 - parental_rating_descriptor
  10. $57 - telephone_descriptor
  11. $5E - multilingual_component_descriptor
  12. $5F - private_data_specifier_descriptor
  13. $61 - short_smoothing_buffer_descriptor
  14. $64 - data_broadcast_descriptor
  15. $69 - PDC_descriptor
  16. $75 - TVA_id_descriptor (TS 102 323)
  17. $76 - content_identifier (TS 102 323)
  18. $7F - extension_descriptor

 

Fr_An - Letzte Änderung: 21. Februar 2010
Counter
seit 28. Juli 2010