Avatar
www.fr-an.de

Transport Stream

BAT - Bouquet Association Table

Das Bouquet ist eine virtuelle Zusammenfassung von Transportströmen. Die Transportströme sind nicht auf einen Übertragungsweg beschränkt. Sie können per Satellit, Kabel oder Antenne übertragen werden.

Die Bouquet Association 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 BAT ist in Transportstreampaketen mit der PID $0011 enthalten. Die Tabelle kann über mehrere Pakete verteilt 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: bouquet_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. 4 Bit: reserved_for_future_use
      13. 12 Bit: bouquet_descriptor_length
      14. bouquet_descriptor_length Byte: descriptor
        1. descriptors
      15. 4 Bit: reserved_for_future_use
      16. 12 Bit: transport_stream_loop_length
      17. transport_stream_loop_length: Byte transport_stream_descriptors
        1. 16 Bit: transport_stream_id
        2. 16 Bit: original_transport_stream_id
        3. 4 Bit: reserved_for_future_use
        4. 12 Bit: transport_stream_length
        5. transport_stream_length Byte: Descriptoren
          1. descriptors
      18. 32 Bit: CRC_32

 

Der Kopf

table_id: Die ID der Tabelle ist $A4.

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.

bouquet_id: Die ID dient als Label für die Identifizierung des Bouquets. Weitere Informationen dazu finden sich in der TS 101 162.

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 und bouquet_id um 1 erhöht.

last_section_number: Die Nummer der letzten Sektion.

bouquet_descriptor: Die Beschreibungen des Bouquets. Siehe unten.

 

Die Transportstreamliste

Aus der section_length abzüglich der Länge der Bouquetbeschreibung und der weiteren neun Byte zwischen der section_length und der Transportstreamliste sowie der vier Byte für den CRC_32 ergibt sich die Länge derselben. Die Anzahl der Tranportstreams ergibt dann beim Lesen.

transport_stream_id: Diese ID dient der Unterscheidung der Streams.

original_network_id: Diese ID dient der Unterscheidung im Originalsystem.

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

transport_stream: Die Beschreibungen der Transport Streams Bouquets. Siehe unten.

 

Beschreibungen (Descriptors)

Nach der Norm können folgende Descriptors in der Tabelle enthalten sein:

  1. $41 - service_list_descriptor
  2. $42 - stuffing_descriptor
  3. $47 - bouquet_name_descriptor
  4. $49 - country_availability_descriptor
  5. $4A - linkage_descriptor
  6. $53 - CA_identifier_descriptor
  7. $5C - multilingual_bouquet_name_descriptor
  8. $73 - default_authority_descriptor (TS 102 323)
  9. $7D - XAIT_location_descriptor
  10. $7E - FTA_content_management_descriptor
  11. $7F - extension_descriptor

Eine feste Zuordnung zum Bouquet Descriptor oder zum Transport Stream Descriptor scheint es nicht zu geben. Darüber hinaus kann man, obwohl nicht in der Liste angegeben, benutzerdefinierte Descriptors bei den Transport Stream Descriptors finden.

 

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