RTP: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Zeile 9: Zeile 9:
 
=RTP-Header=  
 
=RTP-Header=  
 
*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;
 +
!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)==
 
==Version (2 Bit)==
 
*Gibt die verwendete RTP-Version an.
 
*Gibt die verwendete RTP-Version an.

Version vom 16. Juni 2023, 21:34 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
Source Port Destination Port
Sequence Number
Acknowledge Number
Offset Reserved Flags Window
Checksum Urgent Pointer
Options Paddings
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.