|
|
| (10 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) |
| Zeile 1: |
Zeile 1: |
| =Zweck=
| | *[[RTP Grundlagen]] |
| Das Real-time Transport Protocol (RTP) wird für die Übertragung von Echtzeitdaten wie Audio- und Videostreams verwendet. Hier ist eine Zusammenfassung des Aufbaus von RTP:
| | *[[RTP Datendurchsatz]] |
| =Umsetzung=
| |
| *Der RTP-Header und der RTP-Payload werden in IP-Paketen verpackt und über das Internet Protocol (IP) transportiert. | |
| *RTP ist selbst kein zuverlässiges Protokoll ist. | |
| *Es stellt keine Mechanismen zur Fehlererkennung oder Fehlerkorrektur bereit.
| |
| *Für eine zuverlässigere Übertragung müssen zusätzliche implementiert werden.
| |
| *Maßnahmen wie z. B. das User Datagram Protocol (UDP) in Kombination mit Fehlerkorrekturverfahren wie Forward Error Correction (FEC) oder das Real-time Transport Control Protocol (RTCP) implementiert werden.
| |
| =RTP-Header=
| |
| *Der RTP-Header ist der erste Teil eines RTP-Pakets und enthält wichtige Informationen zur Steuerung und Verarbeitung des Datenstroms.
| |
| {|class="wikitable" style="text-align:center;
| |
| !colspan="32"|32 Bit
| |
| |-
| |
| |colspan="16" style="width:50%;" |Source Port
| |
| |colspan="16" style="width:50%;" |Destination Port
| |
| |-
| |
| |colspan="32"|Sequence Number
| |
| |-
| |
| |colspan="32"|Acknowledge Number
| |
| |-
| |
| |colspan="4"|Offset
| |
| |colspan="6"|Reserved
| |
| |colspan="6"|Flags
| |
| |colspan="16"|Window
| |
| |-
| |
| |colspan="16"|Checksum
| |
| |colspan="16"|Urgent Pointer
| |
| |-
| |
| |colspan="10"|Options
| |
| |colspan="22"|Paddings
| |
| |-
| |
| |colspan="32" style="background-color:yellow"|Data
| |
| |}
| |
| | |
| | |
| ==Version (2 Bit)==
| |
| *Gibt die verwendete RTP-Version an.
| |
| ==Padding (1 Bit)==
| |
| *Gibt an, ob am Ende des RTP-Pakets zusätzliche Padding-Bytes vorhanden sind.
| |
| ==Extension (1 Bit)==
| |
| *Gibt an, ob ein Header-Erweiterungsfeld vorhanden ist.
| |
| ==CSRC Count (4 Bit)==
| |
| *Gibt an, wie viele Contributing Sources (CSRC) im Header enthalten sind.
| |
| ==Marker (1 Bit)==
| |
| *Kann zur Signalisierung von besonderen Ereignissen im Datenstrom verwendet werden.
| |
| ==Payload Type (7 Bit)==
| |
| *Gibt den Typ des Payloads an, der im RTP-Paket enthalten ist (z. B. Audio-, Video-Codec).
| |
| ==Sequence Number (16 Bit)==
| |
| *Wird verwendet, um die Reihenfolge der RTP-Pakete wiederherzustellen.
| |
| ==Timestamp (32 Bit)==
| |
| *Gibt den Zeitstempel an, der für die Synchronisierung des Datenstroms verwendet wird.
| |
| ==SSRC (32 Bit)==
| |
| *Synchronisierungsquelle, eine eindeutige Identifikation für den Datenstrom.
| |
| ==CSRC-Liste (0-15 Einträge)==
| |
| *Eine Liste von Contributing Sources, die an der Erzeugung des RTP-Pakets beteiligt waren.
| |
| ==RTP-Payload==
| |
| *Der RTP-Payload enthält die eigentlichen Daten, wie z. B. die codierten Audiosamples oder Videoframes.
| |
| ==Optional==
| |
| *RTP kann auch eine Header-Erweiterung enthalten, die zusätzliche Informationen über den Datenstrom enthält.
| |
| *Dies kann beispielsweise zur Übertragung von Codec-spezifischen Parametern oder anderen Metadaten verwendet werden.
| |