UDP, RTP, Pro-MPEG und TCP

Die Transporte dieser Gruppe übertragen MPEG-TS ins Netz, ohne verlorene Pakete erneut zu senden; Pro-MPEG fügt dem Stream eine Vorwärtsfehlerkorrektur hinzu, nutzt aber keinen Rückkanal. Das Einsatzgebiet ist in Weitere Eingänge und Ausgänge und Pro-MPEG / RTP+FEC (SMPTE 2022-1/2) beschrieben, die Empfehlungen zum Empfang von Multicast mit hoher Bitrate in Empfehlungen für die Arbeit mit UDP-Multicast.

UDP

Empfang und Versand von MPEG-TS in UDP-Datagrammen — Unicast oder Multicast, auch mit Quellenangabe (SSM).

Eingang

Feld

Zweck

Werte

Address (multicast group)

Die Multicast-Gruppe, auf die der Eingang hört. Ein leeres Feld bedeutet Unicast-Empfang: der Knoten nimmt alles an, was am angegebenen Port eintrifft. Der Wert entscheidet auch über die Art der Portbelegung: auf einer Gruppe können mehrere Streams dieselbe Adresse und denselben Port abhören, beim Unicast-Empfang wird der Port exklusiv belegt.

eine Adresse, standardmäßig leer

Port

Der Empfangsport. Ein Pflichtfeld.

1–65534, im Anlegeformular 1234

Bind interface

Die Schnittstelle, auf der der Eingang den Port abhört und der Multicast-Gruppe beitritt. Wird aus der Liste der Schnittstellen des Knotens gewählt — jede wird sowohl mit Namen als auch mit Adresse angeboten; „Beliebig (Standard)“ überlässt die Wahl dem System. Ist die genannte Schnittstelle auf dem Knoten nicht vorhanden, fällt der Eingang nicht aus, sondern geht in den Zustand des Wartens auf den Administrator über und nimmt die Schnittstelle auf, sobald sie erscheint.

standardmäßig beliebig

SSM source address

Die Quelladresse für den quellenspezifischen Multicast-Empfang (SSM): die Gruppe wird nur von diesem Absender angenommen, und ein zweiter Absender auf derselben Gruppe verdirbt den Stream nicht. Beim Unicast-Empfang hat das Feld keine Wirkung.

eine IPv4-Adresse, standardmäßig leer

Socket buffer (bytes)

Die angeforderte Größe des Empfangspuffers des Sockets — ein Mittel gegen Verluste bei Bitratenspitzen. Null bedeutet den Systemstandardwert, worauf auch unter dem Feld selbst hingewiesen wird. Die angegebene Größe ist eine Anforderung, kein Ergebnis: bei einem laufenden Eingang wird unter dem Feld die vom Kernel gewährte Menge ausgegeben, und passte die Anforderung nicht in die Systemobergrenze, erscheint daneben eine Warnung. Der Wert wird einmal ausgelesen, beim Öffnen des Streamfensters, und verschwindet nach dem Speichern bis zum nächsten Öffnen (Empfehlungen zur Netzwerkkonfiguration für Multicast).

Standard 0

Multicast rejoin (s)

Die Periode des erneuten Beitritts zur Multicast-Gruppe. Sie wird dort gebraucht, wo ein Switch oder ein Router die Anmeldung mit der Zeit vergisst und der Verkehr ohne jeden Fehler versiegt. Null schaltet die Wiederholung ab; beim Unicast-Empfang hat das Feld keine Wirkung. Werte über 4294 Sekunden sollten nicht gesetzt werden: die Zeitzählung läuft über, und der erneute Beitritt wird fortlaufend ausgeführt.

Standard 0

Ausgang

Feld

Zweck

Werte

Address (destination)

Die Adresse des Empfängers: eine Multicast-Gruppe, eine Unicast-Adresse oder ein Hostname, der über DNS aufgelöst wird. Ein Pflichtfeld.

eine Adresse oder ein Hostname

Port

Der Port des Empfängers. Ein Pflichtfeld.

1–65534, im Anlegeformular 1234

Multicast egress interface

Die Schnittstelle, über die der Knoten Multicast-Datagramme sendet; sie wird aus derselben Liste gewählt wie „Bind interface“ bei einem Eingang. Auf einem Knoten mit mehreren Netzen sollte man sie ausdrücklich angeben — sonst wählt das System die Schnittstelle anhand der Routingtabelle; das Fenster erlaubt es, den Ausgang mit leerem Feld zu speichern. Beim Unicast-Versand hat das Feld keine Wirkung: die Schnittstelle dafür wählt stets die Routingtabelle.

standardmäßig wählt das System

IP multicast TTL

Wie viele Router das Datagramm weitergeben dürfen. Der Standardwert ist auf ein lokales Netz ausgelegt; für die Zustellung über Router wird er erhöht, und um das Verlassen des Segments zu verbieten, wird er auf eins gesetzt. Beim Unicast-Versand hat das Feld keine Wirkung.

1–255, Standard 4

Packets per datagram

Wie viele TS-Pakete der Knoten in ein Datagramm legt. Sieben Pakete sind 1316 Byte, so viel passt ohne Fragmentierung in einen Ethernet-Rahmen; ein kleinerer Wert verringert die Verzögerung geringfügig auf Kosten eines merklich höheren Overheads. Eine Änderung öffnet den Ausgang neu — in der Auslieferung entsteht eine kurze Unterbrechung.

1–7, Standard 7

RTP

Dasselbe UDP, jedoch mit einem RTP-Kopf: die Pakete erhalten eine Folgenummer und einen Zeitstempel, sodass der Empfänger Verluste und Vertauschungen bemerkt.

Eingang

Alle Felder eines UDP-Eingangs, zusätzlich:

Feld

Zweck

Werte

RTP reorder

Die Paketreihenfolge anhand der RTP-Nummern wiederherstellen. Man schaltet es ein, wenn die Pakete vertauscht eintreffen — etwa beim Lastausgleich des Verkehrs über mehrere Pfade. Bei ausgeschalteter Einstellung sieht der Knoten die Nummern gar nicht an: die Pakete gehen in der Reihenfolge weiter, in der sie ankamen.

standardmäßig ausgeschaltet

Die Tiefe der Wiederherstellungswarteschlange ist nicht einstellbar: der Knoten wählt sie selbst anhand der Bitrate des Streams.

Ausgang

Die Felder eines UDP-Ausgangs ohne Änderungen und Ergänzungen: den RTP-Kopf bildet der Knoten selbst.

Pro-MPEG

RTP mit Vorwärtsfehlerkorrektur nach SMPTE 2022-1/2: dem Stream werden FEC-Pakete hinzugefügt, mit denen der Empfänger Verluste ohne Rückkanal wiederherstellt. Standardmäßig belegt die FEC zwei zusätzliche Ports — port+2 und port+4 —, was bei der Planung berücksichtigt wird (Pro-MPEG / RTP+FEC (SMPTE 2022-1/2)).

Eingang

Alle Felder eines UDP-Eingangs, zusätzlich:

Feld

Zweck

Werte

ProMPEG multiplexing

Eine nicht standardisierte Erweiterung: der Hauptstream und beide FEC-Streams werden über einen einzigen Port übertragen, die zusätzlichen Ports werden nicht belegt. Die Einstellung muss mit der Sendeseite übereinstimmen, und beide Seiten müssen Perfect-Streamer-Knoten sein.

standardmäßig ausgeschaltet

ProMPEG header XOR

Verschleierung des Kopfes der FEC-Pakete: der Kopf wird modulo zwei mit dieser Zahl verknüpft. Eine nicht standardisierte Erweiterung — der Wert muss auf beiden Seiten übereinstimmen, und für die Verträglichkeit mit Fremdgeräten wird er auf null belassen.

0–255, Standard 0

Passphrase

Die Passphrase der Verschlüsselung — eine nicht standardisierte Erweiterung (Stream-Verschlüsselung). Ein leeres Feld bedeutet Empfang ohne Verschlüsselung. Eine Abweichung von der Sendeseite wird nicht als Verschlüsselungsfehler erkannt: der Stream lässt sich einfach nicht mehr als MPEG-TS auswerten, und in der Fehlermeldung erinnert der Knoten daran, ob auf dieser Seite eine Passphrase gesetzt ist oder nicht.

10–64 Byte oder leer

Ein Pro-MPEG-Eingang hat keine eigene Einstellung für die Wiederherstellung der Reihenfolge: der Stream wird stets anhand der RTP-Nummern zusammengesetzt — ohne das würde die Fehlerkorrektur nicht funktionieren.

Ausgang

Alle Felder eines UDP-Ausgangs, zusätzlich:

Feld

Zweck

Werte

ProMPEG columns

Die Breite der FEC-Matrix in Paketen. Sie legt sowohl den Preis des Zeilenschutzes fest — ein Korrekturpaket auf so viele übertragene — als auch die Länge eines zusammenhängenden Verlusts, der sich noch wiederherstellen lässt.

4–64, Standard 8

ProMPEG rows

Die Höhe der FEC-Matrix: ein Korrekturpaket je Spalte auf ebenso viele übertragene. Das Produkt „Spalten × Zeilen“ ist die Blockgröße, und mit ihr wächst auch die Wiederherstellungsverzögerung auf der Empfangsseite.

4–64, Standard 4

ProMPEG multiplexing

Übertragung des Hauptstreams und beider FEC-Streams über einen einzigen Port. Der Wert muss mit der Empfangsseite übereinstimmen.

standardmäßig ausgeschaltet

ProMPEG header XOR

Verschleierung des Kopfes der FEC-Pakete; der Wert muss mit der Empfangsseite übereinstimmen. Für die Verträglichkeit mit Fremdgeräten wird er auf null belassen.

0–255, Standard 0

Passphrase

Die Passphrase der Verschlüsselung; auf beiden Seiten muss sie übereinstimmen. Verschlüsselt wird der Inhalt der Pakete, und die Korrektur wird bereits über die verschlüsselten Daten berechnet.

10–64 Byte oder leer

Der Knoten nimmt auch eine Matrix an, deren Unterstützung der Standard nicht verlangt: SMPTE 2022-1 begrenzt sie auf ein Produkt von höchstens 100 bei 1–20 Spalten und 4–20 Zeilen, die Felder lassen dagegen bis zu 64 in jedem zu. Außerhalb des Standards wird die Kompatibilität mit einem Empfänger von Drittanbietern nicht garantiert.

TCP

Empfang von MPEG-TS über eine gewöhnliche TCP-Verbindung — dort, wo UDP blockiert ist. Der Knoten verbindet sich stets selbst, deshalb gibt es bei diesem Typ keinen Modus des Wartens auf Verbindungen. Einen Ausgang dieses Typs gibt es ebenfalls nicht: die Verteilung über TCP übernimmt der Streaming-HTTP-Server (Streaming-HTTP-Server).

Eingang

Feld

Zweck

Werte

Host

Der Quellknoten, zu dem die Verbindung aufgebaut wird: ein Name oder eine Adresse. Das Fenster hält dieses Feld nicht für ein Pflichtfeld, doch ohne es wird der Eingang nicht arbeiten — ein leerer Wert zeigt sich erst beim Start.

standardmäßig leer

Port

Der Port auf dem Quellknoten. Ein Pflichtfeld.

1–65534

Client timeout (s)

Das Zeitlimit für den Verbindungsaufbau und für ein bereits begonnenes Lesen. Das Schweigen einer aufgebauten Verbindung wird durch diese Einstellung nicht begrenzt: eine stehengebliebene Quelle erkennt das allgemeine Zeitlimit des Streams auf dem Reiter „Stream“ (Stream konfigurieren), woraufhin der Stream auf den Reserveeingang wechselt.

ab 1, Standard 10

Beim Verlust der Synchronisation an der Grenze eines TS-Pakets verbindet sich der Eingang nicht sofort neu, sondern versucht, die Ausrichtung im laufenden Betrieb wiederherzustellen; eine Neuverbindung erfolgt erst, wenn die Ausrichtung achtmal hintereinander misslingt. Einen Zähler solcher Wiederherstellungen zeigt die Oberfläche nicht an.