RTP: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(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.
 

Aktuelle Version vom 27. Juni 2023, 15:56 Uhr