Transportstrom
aus Wikipedia, der freien Enzyklopädie
Ein Transportstrom (engl.: Transport Stream, TS, TP, und MPEG-TS) ist der Name für ein standardisiertes Kommunikationsprotokoll zur Übertragung von Audio, Video, und Daten. Es ist spezifiziert in MPEG-2 Part 1, Systems (ISO/IEC 13818-1).
Mit MPEG-TS wird die Ausgabe von digitalem Video und digitalem Audio durch Multiplexing synchronisiert. Die Transportströme bieten eine Fehlerkorrektur bei unzuverlässigen Medien und werden bei Broadcast-Medien wie DVB und ATSC eingesetzt. Es ist das Pendant zum Programmstrom, der für betriebssichere Medien wie DVDs entwickelt wurde.
Inhaltsverzeichnis |
[Bearbeiten] Elementare Elemente des Transportstroms
[Bearbeiten] Paket
Ein Paket ist die Basiseinheit eines Transportsstroms. Es enthält ein sync byte, dessen Wert 0x47 beträgt, gefolgt von drei 1-Bit-Flags und einem 13 Bit großen PID, auf welchen wiederum ein 4-Bit-Kontinuitätszähler folgt. Zusätzliche optionale Felder können folgen. Der Rest des Pakets besteht aus der eigentlichen Nachricht. Pakete sind üblicherweise 188 Byte lang, allerdings gibt es 204 Byte große Pakete die mit einem 16 Byte großen Reed-Solomon-Fehlersystem abschließen.
[Bearbeiten] PID
Jede Tabelle oder Stream in einem Transportstrom wird durch einen 13-Bit großen PID identifiziert. Ein Demultiplexer extrahiert den Stream aus dem Transportstrom durch eine Suche nach identischen PIDs. In den meisten Fällen wird Time-division Multiplexing eingesetzt um zu entscheiden wie oft eine bestimmte PID im Transportstrom erscheint.
[Bearbeiten] Programme
Das grundsätzliche Konzept von Transportströmen sind Programme, die aus Gruppen von einem oder mehreren in Beziehung stehenden PIDs bestehen. Ein Transportstrom für digitales Fernsehen besteht zum Beispiel aus 3 Programmen, die jeweils einen TV Kanal repräsentieren. Nehmen wir an, ein Kanal besteht aus einem Videostream und einem oder zwei Audiostreams und zusätzlichen Metadaten. Wenn ein Receiver versuchen würde, einen bestimmten "Kanal" einzustellen, dann müsste er die Daten dekodieren, die zu der PID gehören, die zu dem jeweiligen Programm gehört.
[Bearbeiten] PMT
Die Program Map Table, (PMT) enthält Informationen über die Programme. Für jedes Programm gibt es eine PMT, assoziert mit seiner PID. Die PMTs beschreiben, welche PIDs Daten für das Programm enthalten. PMTs stellen ebenso Metadaten für die Streams und ihre einzelnen PIDs bereit. Zum Beispiel ist bei einem Programm bestehend aus einem MPEG-2-Videostrom die PID des Videostreams und zusätzlich die Art der der Daten, also in diesem Fall MPEG-2, enthalten. Die PMT kann außerdem zusätzliche Deskriptoren zur Beschreibung der einzelnen Ströme enthalten.
[Bearbeiten] PAT
PAT steht für Program Association Table. Die PAT listet alle PIDs für alle PMTs im Strom. Pakete die die PAT Information enthalten haben immer die PID 0x0.
[Bearbeiten] PCR
Um dem Dekoder eine zeitlich und geschwindigkeits richtige Darstellung zu ermöglichen enthält das Programm eine Program Clock Reference, oder PCR, aufbauend auf den PIDs im Programm.
[Bearbeiten] Null Pakete
Bestimmte Übertragungsprotokolle, wie ATSC und DVB, schreiben eine konstante Bitrate vor (CBR). Um dieses sicherzustellen kann es vorkommen, daß ein Multiplexer zusätzliche Pakete einfügen muss. Hierfür ist die PID 0x1FFF reserviert, die dann keine Daten enthält und vom Receiver ignoriert wird.
[Bearbeiten] Weblinks
[Bearbeiten] Software-Tools
- Analyzer,
- TS Constructor,
- XMuxer,
- dvb-snoop,
- ATSC Transport Stream Tools for Linux,
- Tools,
- Ethereal MPEG-2 TS Dissector,