Reserven

Wichtig

Betaversion 2.1. Das hier Beschriebene gibt es nur in der Betaversion 2.1: Sie wird aus dem Beta-Repository und nur mit einer Lizenz installiert; die stabile Version 2.0.2 und die Demoversion enthalten es nicht. Die Betaversion wird ohne Gewähr ausgeliefert, Support gibt es nach Möglichkeit (Betatestprogramm).

Die Meshwork-Reserve ist eine heiße Reserve von Multicast-Ausgängen zwischen den Knoten einer Domäne. Mehrere Knoten empfangen ein und dieselbe Quelle und halten gleiche Ausgänge auf eine Multicast-Adresse und einen Port; auf Sendung schickt an diese Adresse nur einer von ihnen — der gewählte Sender. Fällt der Sender aus oder wird er angehalten, übernimmt ein anderer Knoten die Gruppe, und die Empfänger erhalten den Stream weiter von derselben Adresse, ohne Unterbrechung und ohne Wiederholungen.

Neben Multicast-Gruppen bildet die Meshwork-Reserve OTT-Gruppen: die OTT-Auslieferung eines Kanals auf verschiedenen Knoten (OTT-Gruppen).

Zustand und Einstellungen der Reserve dieses Knotens sind auf dem Bildschirm „Reserven“ des Bereichs Meshwork zusammengefasst (Meshwork). In der Demoversion gibt es keine Reserve: Der Menüpunkt ist nicht verfügbar.

Reservegruppen

Eine Gruppe bilden die Ausgänge der Knoten der Domäne, die an ein und dieselbe Multicast-Adresse und denselben Port senden und bei denen das Feld „Meshwork-Reserve“ eingeschaltet ist (Block „Meshwork-Reserve“ des Ausgangseditors). Mitglieder können Ausgänge vom Typ UDP, RTP und Pro-MPEG sein (UDP, RTP, Pro-MPEG und TCP). MPTS-Ausgänge werden in der Gruppe angezeigt, aber nicht reserviert.

Was eine Gruppe braucht:

  • die Reserve ist auf jedem Knoten mit einem Mitglied eingeschaltet — Feld „Meshwork-Reserve“ auf der Registerkarte „Einstellungen“ des Bildschirms „Reserven“, danach ein Neustart des Dienstes;

  • für die Knoten sind Knotenname und Domäne festgelegt (Server-Einstellungen), und alle sind in einer Hauptdomäne: Mit Knoten einer anderen Domäne entsteht keine Reserve;

  • der UDP-Port des Steuerkanals (standardmäßig 43975) ist zwischen den Knoten der Domäne offen;

  • der Ausgang hat eine Multicast-Adresse und eine Sendeschnittstelle, „Multicast egress interface“;

  • die Streams der Mitglieder haben denselben „Stream-Typ“ und dasselbe Merkmal eines verschlüsselten Kanals: Anhand dieser vergleichen die Knoten die Quellen.

Der Steuerkanal der Reserve ist mit dem Domänenschlüssel von Meshwork geschützt, deshalb muss er auf allen Mitgliedern gleich sein. Knoten mit unterschiedlichen Schlüsseln akzeptieren einander nicht: In der Knotentabelle ist das als „Authentifizierung fehlgeschlagen“ und „Abweichend“ in der Spalte „Schlüssel“ zu sehen.

Eine Quelle oder nicht. Die Knoten vergleichen die Streams ihrer Mitglieder fortlaufend anhand von Zeitstempeln und Inhalt. Das Ergebnis steht in der Spalte „Quelle“: „Gleiche Quelle“, „Gleiches Signal“ (dieselben Zeitstempel, andere Kodierung), „Per Label“, „Eigene Zeitstempel“, „Nicht belegt“, „Entschlüsselung unterschiedlich“ oder „Ausstehend“, solange es wenig Daten gibt. Setzt der Eingang des Streams die Zeitstempel selbst (Datei, RTMP, RTSP, Transcoder, MPTS-Multiplexer), lassen sie sich nicht vergleichen: Legen Sie auf allen Mitgliedern im Stream-Editor dasselbe Feld „Quell-Label der Reserve“ fest.

Wer sendet

Im Standardmodus — Feld „Nur der gewählte Sender sendet (reserve-gate)“ auf der Registerkarte „Einstellungen“, eingeschaltet — sendet in jeder Gruppe nur der gewählte Knoten, und die übrigen Mitglieder halten den Stream bereit. Wird dieses Feld ausgeschaltet, arbeitet die Reserve im Beobachtungsmodus: Die Mitglieder werden geprüft und angezeigt, aber alle senden. Das Feld wird beim Start des Dienstes gelesen; legen Sie es auf allen Knoten der Domäne gleich fest.

Den Sender wählen die Knoten der Domäne mit eingeschalteter Reserve per Abstimmung. Nach dem Start durchläuft ein Knoten zuerst eine Quarantäne: Er stimmt nicht ab und bewirbt sich nicht, bis er die Abstimmenden hört (höchstens 15 Sekunden). Eine Gruppe wechselt von selbst zu einem anderen Mitglied, wenn:

  • der Knoten des Senders oder sein Steuerkanal nicht mehr antwortet;

  • der Ausgang des Senders nicht mehr sendet;

  • der Eingang des Senders verstummt oder auf einen Reserveeingang gewechselt ist und ein anderes Mitglied einen besseren Stream hat.

Ist die Quelle bei allen Mitgliedern gleichzeitig weg, schaltet die Gruppe nicht um. Ein Knoten, der regulär angehalten wird, gibt zuerst seine Gruppen ab. Nach häufigen Umschaltungen wird die automatische Umschaltung der Gruppe ausgesetzt — die Gruppe ist „eingefroren“ (Alarm mit Code 72, reserve-frozen, Stream-Redundanz).

Den Sender kann man auch von Hand wählen: Schaltfläche „Verschieben nach…“ in der Zeile der Gruppe. Der aktuelle und der neue Sender schalten im selben Moment der Zeitachse der Gruppe um, ohne Unterbrechung und ohne Wiederholung; der Ausgang des neuen Mitglieds muss geöffnet sein und senden. Das Feld „Reservepriorität“ des Ausgangs (0–9, höherer zuerst) legt das bevorzugte Mitglied fest, und „Zurückgeben nach (s)“, nach wie vielen Sekunden Bereitschaft eines solchen Mitglieds die Gruppe zu ihm zurückkehrt (0 — nie: Die Gruppe bleibt, bis sie verschoben wird).

Domäne aus zwei Knoten. Stimmen nur zwei Knoten ab, übernimmt ein neu gestarteter Knoten eine Gruppe vom anderen frühestens 30 Sekunden nach seinem Start, und nur wenn der andere Knoten wirklich aus Meshwork verschwunden ist. Ein dritter Knoten mit eingeschalteter Reserve stimmt ebenfalls ab und hebt diese Wartezeit auf; er muss keine Mitglieder führen.

Jede Umschaltung wird in das Ereignisprotokoll des Streams geschrieben und ist auf der Spur „Reserve“ der Statistikdiagramme zu sehen (Die Spur „Reserve“).

Ausgangsverzögerung

Damit eine Umschaltung nahtlos ist, senden die Reserveausgänge den Stream mit einer festen Verzögerung gegenüber dem Eingang — das ist die Zeitachse der Gruppe. Sie wird mit dem Feld „Ausgangsverzögerung (ms)“ auf der Registerkarte „Einstellungen“ festgelegt: von 500 bis 2500, standardmäßig 500. Legen Sie auf allen Mitgliedern der Gruppe denselben Wert fest.

Ein neuer Wert gilt für einen Ausgang, wenn er neu geöffnet wird: beim Start oder nachdem der Ausgang für einige Sekunden pausiert und wieder gestartet wurde. Ein laufender Ausgang arbeitet mit der bisherigen Verzögerung weiter, und der Bildschirm „Reserven“ zeigt, welcher Wert gelten wird. Hinkt ein Reservemitglied dem Sender hinterher, verschiebt der Sender die Zeitachse der Gruppe selbst nach hinten — um höchstens 300 ms über die eingestellte Verzögerung hinaus und nicht weiter als 2500 ms; ist der Rückstand vorbei, kehrt die Verzögerung in Schritten von 5 ms alle 5 Sekunden zurück.

Zweiter Weg und Pro-MPEG

Ein Mitglied mit einem RTP- oder Pro-MPEG-Ausgang kann auch einen zweiten Weg nach SMPTE ST 2022-7 senden (Netzanforderungen für ST 2022-7). Der Sender der Gruppe sendet beide Wege. Legen Sie den zweiten Weg auf allen Mitgliedern gleich fest, einschließlich „Path 2 multicast egress interface“: Auch über den zweiten Weg beobachten die Knoten den Sender. Unterscheidet sich der zweite Weg eines Mitglieds, zeigt die Gruppe das Problem „Pfad 2 unterscheidet sich zwischen Mitgliedern“ — ein Wechsel zu diesem Mitglied verlegt den zweiten Weg bei den Empfängern oder entfernt ihn.

Empfängt der Eingang des Streams selbst zwei Wege, muss die Ausgangsverzögerung mindestens das Wartefenster des zweiten Wegs („Path skew (ms)“ des Eingangs) plus 400 ms betragen. Sonst ist eine Umschaltung bei einem echten Ausfall des Eingangs nicht nahtlos, und die Gruppe zeigt das Problem „Reserve-Verzögerung kürzer als die Merge-Wartezeit“.

Ein Pro-MPEG-Ausgang nimmt an der Senderauswahl nur mit einer bestimmten FEC-Matrix und ohne Multiplexing und Passphrase teil (Pro-MPEG-Ausgang in einer Reservegruppe).

OTT-Gruppen

Eine OTT-Gruppe fasst die OTT-Auslieferung (HLS, LL-HLS, DASH) eines Kanals auf verschiedenen Knoten der Domäne zusammen: Streams oder adaptive Bundles mit demselben Gruppennamen. Die Mitglieder finden und prüfen sich gegenseitig, und ein HLS-Zuschauer, dessen Knoten ausgefallen ist, schaut von einem anderen Mitglied aus weiter, ohne den Player zu verlassen (Wechsel der Zuschauer auf einen anderen Knoten).

So schalten Sie es ein. Die Meshwork-Reserve muss auf dem Knoten eingeschaltet sein (Reservegruppen). Schalten Sie dann bei einem Stream – auf der Registerkarte „Stream“ des Editors, Block „Meshwork-Reserve“ – oder im Fenster eines adaptiven Bundles das Feld „OTT-Reserve“ ein und legen Sie „Name der Reservegruppe“ fest:

  • bis zu 64 Zeichen A-Z a-z 0-9 _ . -, Groß- und Kleinschreibung zählt; derselbe Name auf allen Knoten, auf denen der Kanal läuft;

  • bei leerem Feld dient der OTT-Name als Gruppenname: „URL-Stream-Name“ bei einem Stream, „OTT-Name“ bei einem Bundle. Ohne beide Namen wird das Mitglied anderen Knoten nicht angekündigt;

  • eine Änderung wirkt innerhalb einer Sekunde und startet die OTT-Auslieferung des Streams nicht neu.

Mitglied kann nur ein SPTS-Stream mit eingeschalteter OTT-Auslieferung sein; bei einem MPTS-Stream wirkt das Feld nicht. Ein adaptives Bundle ist ein Mitglied, seine Stufen sind die Streams des Bundles mit Video. Die Quellen der Streams werden wie bei Multicast-Gruppen verglichen, daher müssen „Stream-Typ“ und „Verschlüsselter Kanal“ bei den Mitgliedern übereinstimmen; adaptive Bundles werden nach dem Namen zugeordnet. Damit andere Knoten den OTT-Server dieses Knotens über einen Namen erreichen, legen Sie den „Hostname“ des HTTP-Servers fest (Streaming-HTTP-Server): Ohne ihn erhalten andere Knoten die Adresse des Knotens, und zwar nur über HTTP, wenn das Zertifikat des Knotens nicht auf diese Adresse ausgestellt ist.

Die Karte der OTT-Gruppe auf der Registerkarte „Status“ zeigt den Gruppennamen, die ausgelieferten Formate („Liefert: …“), den Zustand, das Ergebnis des Quellenvergleichs und die Probleme. Zustände:

  • „Abgesichert“: Ein Mitglied auf einem anderen Knoten kann dieses ersetzen;

  • „Ungeschützt“: Andere Knoten haben Mitglieder, aber keines kann dieses ersetzen;

  • „Schlüssel ausstehend“: Der Knoten hat noch keinen vereinbarten Domänenschlüssel;

  • „Kein Mitglied“: Die OTT-Reserve ist eingeschaltet, aber der Stream oder das Bundle nimmt nicht teil: kein Gruppenname, ein ungültiger Name, ein MPTS-Stream oder noch keine Domäne; der Grund steht bei den Problemen;

  • „Name doppelt“: Zwei Streams oder Bundles dieses Knotens haben denselben Gruppennamen, und keiner von beiden wird angekündigt.

Für jedes Mitglied zeigt die Karte: „Absicherung“, also „Kann absichern“ oder „Nicht angeboten“ mit der ersten nicht bestandenen Prüfung; „Zuschauerwechsel“, also wie ein Zuschauer zu diesem Mitglied wechseln würde („Ausgerichtet“, „Gleiche Zeitachse“ oder „Neustart“); „Live“ und „Archiv“. Ein Mitglied auf einem Knoten mit einer Version vor 2.1.0.456 nimmt keine Zuschauer an: Sind die übrigen Prüfungen bestanden, steht in der Spalte „Absicherung“ „Seine Version kann noch keine Zuschauer übernehmen“. Sind alle Mitglieder anderer Knoten von dieser Art, bleibt die Gruppe ohne Schutz.

Probleme einer OTT-Gruppe:

Problem

Bedeutung

„Kein Gruppenname“

Weder „Name der Reservegruppe“ noch ein OTT-Name: Das Mitglied wird nicht angekündigt.

„Reservename ungültig“

Ein Name mit unzulässigen Zeichen oder länger als 64 Zeichen, aus der Einstellungsdatei gelesen. Bis er korrigiert ist, ist der Stream kein Mitglied; der OTT-Name ersetzt ihn nicht.

„Keine Absicherung auf einem anderen Knoten“

Seit 60 Sekunden kann kein Mitglied eines anderen Knotens dieses ersetzen: Auf anderen Knoten gibt es diesen Namen nicht, oder die Mitglieder bestehen die Prüfungen nicht (Einzelheiten in der Beschreibung des Problems). Der Knoten löst den Alarm mit Code 70 aus (reserve-unprotected).

„OTT-Formate unterschiedlich“

Die Mitglieder liefern unterschiedliche OTT-Formate aus.

„Kein Hostname für den OTT-Server“

Der „Hostname“ des HTTP-Servers ist nicht gesetzt: Andere Knoten erhalten die Adresse des Knotens, und zwar nur über HTTP, wenn das Zertifikat des Knotens nicht auf diese Adresse ausgestellt ist. Das ist ein Hinweis, kein Fehler.

„Hostname des OTT-Servers ungültig“

Der „Hostname“ des HTTP-Servers ist kein Hostname: Der Knoten teilt anderen Knoten die Adresse seines OTT-Servers nicht mit.

„Uhr eines Knotens weicht zu stark ab“

Die Uhr des Knotens eines anderen Mitglieds weicht um mehr als 240 Sekunden von der Uhr dieses Knotens ab: Dieses Mitglied kann dieses nicht ersetzen.

„Noch kein Ansichtsschlüssel“

Der Knoten hat ein Mitglied der OTT-Reserve, aber noch keinen Ansichtsschlüssel der Domäne: Die Zuschauer dieses Knotens wechseln nicht auf andere Knoten, und Failover-Zuschauer nimmt er nicht an. Kann der Schlüssel von einem anderen Knoten kommen, löst der Knoten nach 2 Minuten den Alarm mit Code 78 (reserve-view-key) aus.

„Der Ansichtsschlüssel erreicht diesen Knoten nicht“

Andere Knoten haben den Schlüssel, aber er erreicht diesen Knoten nicht; prüfen Sie die Verbindung zwischen den Knoten der Domäne (Alarm mit Code 78).

„Ein Knoten hat den Ansichtsschlüssel nicht übernommen“

Ein Knoten mit einem Mitglied der OTT-Reserve bestätigt den gültigen Schlüssel 10 Minuten lang nicht (Alarm mit Code 78).

„Zu viele Ansichtsschlüssel“

Der Knoten hält mehr als vier Ansichtsschlüssel (Alarm mit Code 78).

„Überlastet für Failover-Zuschauer“

Der Knoten weist neue Failover-Zuschauer ab: CPU oder Netzwerk an der Schwelle, oder die „Obergrenze Failover-Sitzungen“ ist erreicht (Überlastschutz).

„Bitratenleitern unterscheiden sich“

Für einen Teil der Stufen dieses Mitglieds hat das Mitglied eines anderen Knotens keine Stufe mit demselben Codec und passender Bitrate: Auf diesen Stufen gibt es keine Reserve. Ein Mitglied, zu dem 60 Sekunden lang keine Stufe passt, wird nicht angeboten: In der Spalte „Absicherung“ steht „Keine seiner Stufen passt zu denen dieses Knotens“.

„Ein Knoten hat keine https-Adresse für die Absicherung“

Der Knoten des Mitglieds meldet keine HTTPS-Adresse seines OTT-Servers: Zuschauern über HTTPS wird er nicht als Reserve angeboten. Legen Sie auf diesem Knoten den „Hostname“ des HTTP-Servers fest, auf den sein Zertifikat ausgestellt ist.

„Ein Knoten hat nur private Adressen für die Absicherung“

Der Knoten des Mitglieds meldet nur private Adressen: Zuschauern mit öffentlichen Adressen wird er nicht als Reserve angeboten.

Wechsel der Zuschauer auf einen anderen Knoten

Seit Version 2.1.0.458 nennt die Master-Playlist von Live-HLS bei einem Mitglied einer OTT-Gruppe bis zu zwei andere Knoten der Gruppe als Reservevarianten jeder Stufe — nach den eigenen. Ein Player, der Reservevarianten unterstützt, wechselt selbst auf den Reserveknoten, wenn der Knoten des Zuschauers kein Live-Fenster mehr ausliefert; der Zuschauer verlässt den Player nicht. Ist der Stream des Knotens angehalten oder hängt er, während die Reserve auf Sendung ist, antwortet der Knoten einem solchen Zuschauer sofort mit 404 auf die Playlist, und der Player wechselt, ohne seine Timeouts abzuwarten. Die Zuschauer eines ausgefallenen Knotens verteilen sich auf dessen Reserven.

Player. Reservevarianten erhalten Player, die sie nutzen können: AVPlayer (Safari, iOS, tvOS), hls.js und ähnliche Player im Browser, ExoPlayer und Media3. Player, die so nicht wechseln können (VLC, mpv, Kodi, GStreamer, Player auf Basis von ffmpeg, Set-Top-Boxen ohne User-Agent), erhalten die Master-Playlist ohne Reservezeilen und arbeiten wie bisher; wie viele solche Master-Playlists ausgeliefert wurden, zeigt die Zeile „Master-Playlists ohne Absicherung“ des Blocks „OTT-Ansichtsschlüssel“. Was jeder Player erhält und was geprüft ist — Player und OTT/DVR-Reserve; was bei Cache und CDN zu beachten ist — 8.1. OTT/DVR-Reserve und CDN. Eine eigene App des Betreibers kann die Reserven mit dem Parameter rsv=1 in der Adresse der Master-Playlist anfordern oder mit dem Parameter rsv=0 auf sie verzichten.

Legen Sie für hls.js kurze Ladetimeouts für Playlist und Segment fest — etwa eine Zielsegmentdauer, 2–3 Sekunden: Dann verlässt der Player einen hängenden Knoten schnell.

Welcher Knoten zur Reserve wird. Ein Knoten wird nur dann als Reserve genannt, wenn sein Mitglied das Mitglied dieses Knotens ersetzen kann (Spalte „Absicherung“ — „Kann absichern“) und er im Moment der Anfrage:

  • vor Kurzem ein Live-Fenster ausgeliefert hat und HLS ausliefert;

  • eine Uhr hat, die höchstens 240 Sekunden von der Uhr dieses Knotens abweicht;

  • mit diesem Knoten einen gemeinsamen Ansichtsschlüssel hat (siehe unten);

  • nicht überlastet ist (Überlastschutz);

  • eine Stufe mit demselben Codec hat;

  • für den Zuschauer auf demselben Weg erreichbar ist: Ein Zuschauer über HTTPS braucht eine HTTPS-Adresse des Reserveknotens, ein Zuschauer mit öffentlicher Adresse eine öffentliche Adresse. Legen Sie deshalb auf jedem Knoten den „Hostname“ des HTTP-Servers fest (Streaming-HTTP-Server).

Ansichtsschlüssel. Ein Reserveknoten nimmt den Zuschauer eines anderen Knotens mit einem Ticket an, das an die Sitzung des Zuschauers, seinen Knoten, den Stream und die Zeit gebunden ist. Die Tickets werden mit dem Ansichtsschlüssel signiert, den die Knoten der Domäne mit Mitgliedern der OTT-Reserve gemeinsam haben. Einzustellen ist nichts: Der Schlüssel entsteht von selbst, wechselt alle 7 Tage und wird nur im Arbeitsspeicher gehalten; seinen Zustand zeigt der Block „OTT-Ansichtsschlüssel“ auf der Registerkarte „Status“, und die Schaltfläche „Ansichtsschlüssel wechseln“ wechselt ihn von Hand. Erreicht der Schlüssel einen Knoten nicht, löst der Knoten den Alarm mit Code 78 (reserve-view-key) aus.

Einschränkungen dieser Betaversion. Reservevarianten erhalten nur einzelne Streams, deren Mitglieder auf verschiedenen Knoten dieselbe Quelle beziehen (Wechsel „Gleiche Zeitachse“). Adaptive Bundles, LL-HLS und DASH werden zu Gruppen zusammengefasst und angezeigt, haben aber noch keine Reserven in Master-Playlist und Manifest; solche Zuschauer schützt nur die Umleitung beim Öffnen (Umleitung der Zuschauer). Untertitel bleiben nach dem Wechsel auf dem ursprünglichen Knoten. Die Master-Playlist von Archiv und Catch-up nennt keine Reserven: Das Archiv anderer Knoten erhält der Zuschauer per Umleitung.

Umleitung der Zuschauer

Seit Version 2.1.0.459 leitet der Knoten den Zuschauer schon beim Öffnen der Master-Playlist von HLS und LL-HLS oder des DASH-Manifests auf einen anderen Knoten der OTT-Gruppe um (Antwort 302). Die Umleitung braucht keine Unterstützung durch den Player: Ihr folgen alle Player, auch VLC und Set-Top-Boxen, und für DASH ist sie in dieser Betaversion der einzige Schutz des Live-Programms. Sie funktioniert für Streams und adaptive Bundles mit eingeschalteter „OTT-Reserve“.

Catch-up aus dem Archiv anderer Knoten. Fordert ein Zuschauer einen vergangenen Zeitraum an, der im Archiv dieses Knotens fehlt, schickt der Knoten ihn zu dem Knoten der Gruppe, der den größten Teil des Zeitraums speichert; die Archivtiefe kann auf den Knoten unterschiedlich sein. Speichert keiner der Knoten den Zeitraum, erhält der Zuschauer 404 (reserve: no recording for this period) — bisher eine leere Playlist. Für HLS zählt das MPEG-TS-Archiv, für LL-HLS und DASH das fMP4-Archiv.

Der Wechsel zum Archiv eines anderen Knotens richtet sich nach dem Archivbereich — von der ältesten bis zur neuesten Aufnahme. Fällt der Anfang des angeforderten Zeitraums in den Archivbereich dieses Knotens, bedient der Knoten den Zuschauer selbst, auch wenn sein Archiv zu diesem Zeitpunkt eine Lücke hat (etwa weil der Eingang nicht lief): Lücken innerhalb des Bereichs werden nicht auf einen anderen Knoten umgeleitet.

Neue Zuschauer eines Streams, der hier nicht läuft. Einen Zuschauer, der einen Stream öffnet, der auf diesem Knoten nicht läuft — angehalten oder pausiert, im Fehlerzustand, sein Eingang ausgefallen oder noch kein Bild —, schickt der Knoten zu einem Knoten, auf dem dieser Stream auf Sendung ist. Ein Stream, der gerade startet, ist nicht betroffen: Sobald in seinem Live-Fenster ein Segment erscheint, bedient dieser Knoten die Zuschauer. Ein Knoten, der mit einem pausierten Stream neu gestartet wurde, leitet neue Zuschauer nicht um, bis der Stream mindestens einmal gelaufen ist.

Zuerst das Login. Bei Streams mit eingeschalteter „OTT-Reserve“ wird das Login des Zuschauers vor allem anderen geprüft: Bei falschem Passwort lautet die Antwort immer 403, auch wenn der Stream nicht läuft. Die übrigen Streams antworten wie bisher.

Verbindungslimit. „Max. Verbindungen, HTTP/HLS“ des Logins (Benutzer: hinzufügen und bearbeiten) gilt auf jedem Knoten getrennt: Ein umgeleiteter Abonnent kann auf dem anderen Knoten ebenso viele Sitzungen öffnen.

Der Knoten wird wie die Reserve für den Wechsel gewählt (Wechsel der Zuschauer auf einen anderen Knoten), Player und Wechselart werden aber nicht geprüft, daher eignen sich auch adaptive Bundles und LL-HLS. Das Netz des Zuschauers wird bei der Wahl des Knotens für Catch-up nicht berücksichtigt: Der andere Knoten muss für den Zuschauer auf demselben Weg erreichbar sein — für HTTPS ist eine HTTPS-Adresse nötig.

Überlastschutz

Ein Reserveknoten nimmt einen neuen Zuschauer eines anderen Knotens (einen Failover-Zuschauer) nur an, solange er Spielraum hat: Die CPU-Last des Hosts und die Last der Netzwerkschnittstelle liegen unter den Fehlerschwellen dieser Ressourcen in den Alarmeinstellungen (Alarmierung), und die Zahl der Failover-Sitzungen hat die „Obergrenze Failover-Sitzungen“ auf der Registerkarte „Einstellungen“ nicht erreicht (0 — ohne Obergrenze, wirkt sofort). Eine Schwelle 0 schaltet ihre Prüfung ab. Eigene Zuschauer und bereits geöffnete Failover-Sitzungen weist der Knoten nie ab. Nach einer Ablehnung wechselt der Player zur nächsten Reserve, und einen überlasteten Knoten nennen die anderen Knoten vorübergehend nicht mehr als Reserve.

Der Block „OTT-Überlastschutz“ auf der Registerkarte „Status“ zeigt, ob Spielraum vorhanden ist, die Gründe der Überlastung, den Spielraum bei Netzwerk und Sitzungen, die Schwellen sowie die Zahl der Failover-Sitzungen und der Ablehnungen. Solange ein Grund besteht, haben die OTT-Gruppen des Knotens das Problem „Überlastet für Failover-Zuschauer“. Weist der Knoten 30 Sekunden in Folge neue Failover-Zuschauer ab, löst er den Alarm mit Code 79 (reserve-ott-overload) aus; der Alarm wird nach 60 Sekunden ohne Ablehnungen aufgehoben.

Bildschirm „Reserven“

Der Bildschirm zeigt die Gruppen, in denen dieser Knoten ein Mitglied hat; andere Knoten zeigen ihre eigenen. Ist die Reserve auf dem Knoten ausgeschaltet, erklärt der Bildschirm, wie sie eingeschaltet wird, und bietet den Link „Einstellungen öffnen“.

Registerkarte „Status“.

  • Die Kacheln „Gruppen“, „Gruppen mit Problemen“, „Fehler“, „Warnungen“, „Knoten am Kanal“ und „Gruppen nach Zustand“.

  • Der Block „Steuerkanal dieses Knotens“: Zustand des Kanals, Uhren („Synchronisiert“ oder „Nicht synchronisiert“), Fingerabdruck des Schlüssels, abstimmende Knoten, Quarantäne und „Zeiten“ — Übernahme, Fenster und Verzögerung; die Zähler „OTT-Gruppen“ und „Nicht gesendete Berichte“ (Berichte, die nicht in ein Datagramm passten oder auf die nächste Runde verschoben wurden).

  • Die Tabelle „Knoten“: eine Zeile für jeden Knoten des Kanals — „Kanal“, „Schlüssel“, „RTT, ms“, „Uhrversatz, ms“, „Verlust, %“, „Zuletzt gehört“ und „Version“.

  • Die Liste „Gruppen“. Zu jeder Gruppe: Zustand, Rolle dieses Knotens, Sender und Nummer der Wahl, die Mitglieder mit Priorität, Rolle, Merkmal „Sendet“ und Ergebnis des Quellvergleichs, der Block „Ausgang dieses Knotens“ und die Liste der Probleme. Zustände der Gruppe: „Allein“ (die anderen Mitglieder melden sich nicht), „Im Aufbau“ (Mitglieder gefunden und in Prüfung), „Abweichung“ (die Mitglieder haben einen unterschiedlichen Stream-Typ oder ein unterschiedliches Merkmal eines verschlüsselten Kanals) und „Konflikt“ (in die Gruppe sendet jemand, der nicht zu ihr gehört).

Rolle dieses Knotens in der Gruppe: „Sender“, „Bereitschaft“, „Bewirbt sich“, „Allein“, „Nicht bereit“, „Quarantäne“, „Wartet auf den Domänenschlüssel“, „Sender, unbestätigt“, „Zurückgetreten“, „Freigegeben“, „Gibt ab“, „Übernimmt“, „Ungeprüft“ oder „Keine“.

Der Block „Ausgang dieses Knotens“ zeigt, ob der Ausgang offen ist („Offen: dieser Knoten sendet“ oder „Geschlossen: ein anderes Mitglied sendet“), ob er an der Zeitachse der Gruppe ausgerichtet ist, den Vorlauf, die Verzögerung, die Gruppen-FEC eines Pro-MPEG-Ausgangs und die Datagrammzähler. Wachsende Zähler verspäteter Datagramme, Überläufe und Sendefehler werden hervorgehoben; ein zurückliegendes Reservemitglied wird markiert: Eine Umschaltung auf es ist nicht nahtlos.

Registerkarte „Einstellungen“. Die Felder „Meshwork-Reserve“, „Nur der gewählte Sender sendet (reserve-gate)“, „UDP-Port des Steuerkanals“ (1024–65535, standardmäßig 43975), „Schnittstelle des Steuerkanals“ (standardmäßig „Alle Schnittstellen“), „Ausgangsverzögerung (ms)“, „Zurückgeben nach (s)“, „Obergrenze Failover-Sitzungen“ (Überlastschutz) und „Zeugen-Schnittstelle“ (für einen Knoten, der nur abstimmt; in dieser Version noch nicht verwendet). Einschalten der Reserve, Modus, Port und Schnittstelle werden beim Start des Dienstes gelesen: Änderungen werden nach einem Neustart wirksam.

Probleme der Gruppe

Problem

Bedeutung

„Adresskonflikt“

In die Gruppe sendet eine Quelle, die nicht zu ihr gehört (Alarm mit Code 71, reserve-address-conflict).

„Zwei Sender“

Zwei Mitglieder senden gleichzeitig in die Gruppe (Alarm mit Code 67, reserve-two-senders). Im Beobachtungsmodus ist das eine Warnung: Dort senden alle.

„Einstellungen unterschiedlich“

Die Mitglieder haben einen unterschiedlichen „Stream-Typ“ oder ein unterschiedliches Merkmal eines verschlüsselten Kanals.

„Inhalt widerspricht den Einstellungen“

Der Stream eines Mitglieds entspricht nicht seinen Einstellungen: zum Beispiel ist Video vorhanden, obwohl der Stream-Typ „Nur Audio“ ist. Es gelten die Einstellungen.

„Quelle nicht als gleich belegt“

Die Quelle eines Mitglieds lässt sich 30 Sekunden lang nicht zuordnen (Alarm mit Code 68, reserve-source-mismatch).

„Entschlüsselung unterschiedlich“

Die unverschlüsselten Teile der Streams stimmen überein, der Inhalt nicht: Einer der Knoten entschlüsselt nicht.

„Eigene Zeitstempel, kein Quell-Label“

Der Eingang des Mitglieds setzt die Zeitstempel selbst: Legen Sie dasselbe „Quell-Label der Reserve“ fest.

„Mitglied nicht bestätigt“

Ein Knoten meldet ein Mitglied, aber dessen Berichte erreichen diesen Knoten nicht.

„Zwei Ausgänge dieses Knotens“

Zwei Ausgänge eines Knotens senden in eine Gruppe.

„Multicast-Ausgangsschnittstelle fehlt“

Für den Mitgliedsausgang ist keine Sendeschnittstelle festgelegt.

„Dieser Knoten sieht die Gruppe nicht“

Dieser Knoten kann die Gruppe nicht beobachten; Einzelheiten stehen in der Beschreibung des Problems.

„MPTS gelistet, nicht reserviert“

Ein MPTS-Ausgang wird in der Gruppe angezeigt, aber nicht reserviert.

„DVB-Eingang, noch nicht getestet“

Der Stream kommt von einem DVB-Eingang.

„Pfad 2 unterscheidet sich zwischen Mitgliedern“

Der zweite Weg eines Mitglieds geht an eine andere Adresse oder ist nicht festgelegt.

„Reserve-Verzögerung kürzer als die Merge-Wartezeit“

Die Ausgangsverzögerung ist kleiner als das Wartefenster des zweiten Wegs des Eingangs plus 400 ms.

„ProMPEG-Mitglied ohne Gate: Matrix oder packets“

Der Pro-MPEG-Ausgang nimmt nicht an der Senderauswahl teil: „Spalten × Zeilen“ ist keine Zweierpotenz, oder ein Datagramm enthält nicht 7 TS-Pakete. Er sendet immer, neben dem Sender der Gruppe, und übernimmt die Gruppe nicht.

„ProMPEG-Mitglied ohne Gate: Multiplexing oder Passphrase“

Dasselbe bei einem Ausgang mit Multiplexing oder Passphrase.

„ProMPEG-FEC-Matrix unterscheidet sich“

Die FEC-Matrix eines Mitglieds weicht ab, oder seine Version meldet sie nicht: Ein Wechsel zu ihm ändert die Matrix bei den Empfängern.

Die Alarme der Reserve — Codes 66–74, 78 und 79 — sind in Stream-Redundanz aufgeführt.