RTP: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Zeile 10: Zeile 10:
 
*Der RTP-Header ist der erste Teil eines RTP-Pakets und enthält wichtige Informationen zur Steuerung und Verarbeitung des Datenstroms.
 
*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;"
 
{|class="wikitable" style="text-align:center;"
!colspan="32"|32 Bit
+
!colspan="32" "style="width:6.25%;"|32 Bit
 
|-
 
|-
|colspan="2" "style="width:6.25%;" |Version
+
|colspan="2"|Version
|colspan="1" "style="width:3.125%;"|Padding
+
|colspan="1"|Padding
|colspan="1" "style="width:3.125%;"|Extension
+
|colspan="1"|Extension
|colspan="4" "style="width:12.5%;"|CSRC Count
+
|colspan="4"|CSRC Count
|colspan="1 "style="width:3.125%;" |Marker
+
|colspan="1"|Marker
|colspan="7"  "style="width:21.875%;"|Payload Type
+
|colspan="7"|Payload Type
|colspan="16" "style="width:50%;" |Sequenz Number
+
|colspan="16"|Sequenz Number
 
|}
 
|}
  

Version vom 16. Juni 2023, 21:47 Uhr

Zweck

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:

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.
32 Bit
Version Padding Extension CSRC Count Marker Payload Type Sequenz Number


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.