Zum Inhalt springen
Castreon
Auslieferung

Signierte Links und mehrere CDNs

Aktualisiert am 18 Okt 2026

Castreon kann Zuschauern Wiedergabe-Links, die ablaufen, geben und denselben Kanal gleichzeitig über mehrere CDNs ausliefern: Der Player wechselt von selbst auf ein anderes CDN, wenn eines ausfällt. Hier wird auch der Cache der CDNs geleert — von Hand, über die API oder automatisch.

Verfügbar ab Castreon 1.7.0 in der Enterprise-Edition. Die Einstellungen finden Sie unter Einstellungen → CDN und signierte Links.

Die Profile

Jedes Profil legt fest, wer den Link prüft:

  • Castreon (der Server) — die Zuschauer kommen direkt zum Server, und Castreon prüft die Signatur. Leere Adresse = die öffentliche Domain aus Einstellungen → Instanz.
  • Bunny, Gcore, CDN77 — die Zuschauer kommen über das CDN, und das CDN prüft die Signatur, in seinem offiziellen Format. Tragen Sie die CDN-Adresse (nur die Domain), den Kanalpfad im CDN (standardmäßig /live/{slug}/, das CDN holt von Castreon) und den vom CDN vergebenen Signaturschlüssel ein. Neben jeder Art zeigt das Panel, was beim CDN eingeschaltet werden muss.

Optionen pro Profil: Gültigkeit des Links (5 Minuten – 7 Tage) und Link an die IP des Zuschauers binden (sicherer, aber ein Handy, das von WLAN auf mobile Daten wechselt, verliert die Wiedergabe, bis es einen neuen Link erhält). Schlüssel werden nach dem Speichern nicht mehr angezeigt; ein leeres Feld behält den aktuellen Schlüssel.

Testen fordert über das Profil die Playlist eines laufenden Kanals an, einmal mit einem gültigen und einmal mit einem abgelaufenen Link: Der gültige Link muss die Playlist erhalten, der abgelaufene muss abgewiesen werden. Liefert das CDN auch den abgelaufenen Link aus, meldet Ihnen das Panel, dass die Prüfung beim CDN nicht eingeschaltet ist.

Wie weit geprüft: Das Castreon-Profil ist durchgehend getestet. Bei Bunny, Gcore und CDN77 ist die Signatur identisch mit der des offiziellen Codes des jeweiligen Anbieters (in Tests geprüft), wurde aber nicht mit einem echten Konto ausprobiert — verwenden Sie Testen vor dem Produktivbetrieb. Das Panel zeigt dies neben jedem Profil an.

Der Link für einen Zuschauer

  • Auf der Kanalseite, Signierter Link: Profil wählen (und optional die IP des Zuschauers) → Link erstellen.
  • Aus Ihren eigenen Anwendungen: POST /api/v1/channels/{id}/playback-url, ein Link pro Zuschauer (API-Schlüssel mit dem Bereich playback:sign).

Signierten Link auf /live verlangen sperrt unsignierte Links zum Server. Anfragen ohne Signatur kommen dann nur noch von den Adressen in Zugriff auf Streams durch — tragen Sie dort zuerst die CDNs und Load-Balancer ein, die vom Server holen. HTTP-TS, LL-HLS und WebRTC haben noch keinen signierten Link.

Die Serveruhr muss stimmen (NTP): Der Ablauf des Links wird danach berechnet.

Mehrere CDNs: Content Steering

Mit mindestens zwei eingeschalteten Profilen bietet Signierter Link die Option Alle (Content Steering): ein einziger Link für alle CDNs, nach dem Standard HLS Content Steering. Castreon prüft jedes CDN alle 30 Sekunden an einem laufenden Kanal: Es antwortet, es erhält die Playlist, es bleibt mit den Segmenten nicht zurück. Nach 3 fehlgeschlagenen Prüfungen wird das CDN als ausgefallen markiert und ans Ende der Liste gesetzt; nach 3 erfolgreichen kommt es zurück. Player, die Content Steering verstehen, wechseln von selbst auf das nächste CDN, ohne die Wiedergabe zu unterbrechen (ausprobiert mit hls.js 1.6); andere Player verwenden das erste CDN der Liste.

  • Die Reihenfolge der Profile (die Pfeile) ist die Priorität. Der Link cdn: "auto" aus der API wählt das erste CDN, das funktioniert.
  • Der Zustand jedes CDN, mit der Erfolgsquote über 24 Stunden, erscheint neben dem Profil. Unter Benachrichtigungen meldet die Familie CDNs ein ausgefallenes CDN.
  • /metrics enthält castreon_cdn_up und castreon_cdn_latency_seconds.

Die Prüfung erfolgt vom Server aus, nicht aus den Netzen der Zuschauer: Ein CDN, das vom Server aus funktioniert, kann trotzdem in einem bestimmten Land ein Problem haben.

Cache leeren

Zum Leeren braucht das Profil die ID der Zone / Ressource und einen API-Schlüssel zum Leeren des CDN (optional).

  • Alles leeren beim Profil — der gesamte Cache der Zone, mit Bestätigung.
  • CDN-Cache leeren auf der Kanalseite (Administratoren) — nur das Verzeichnis des Kanals.
  • API: POST /api/v1/cdn/purge mit channel, paths (höchstens 10) oder all. Jedes Leeren wird im Audit vermerkt, ohne Schlüssel.
  • Eigener Leeren-Webhook — für jedes andere CDN oder ein Skript: Castreon sendet einen JSON-POST (event: "cdn.purge", die Pfade, den Kanal, den Grund), signiert mit X-Castreon-Signature: sha256=HMAC-SHA256(Secret, Body).

Automatisches Leeren (standardmäßig eingeschaltet): Bei jedem Start eines Kanals und beim Löschen leert Castreon das Verzeichnis des Kanals auf jedem CDN mit eingerichtetem Leeren und benachrichtigt den Webhook. Der Grund: Bei jedem Start haben die neuen Segmente dieselben Namen wie die vorherigen, und ein CDN, das diese noch hält, würde den Zuschauern alte Stücke liefern. Höchstens ein Leeren pro Kanal alle 30 Sekunden; verlangt das CDN eine Pause (Anfragelimit), wartet Castreon und versucht es erneut. Das letzte automatische Leeren und sein Ergebnis erscheinen in den Einstellungen.

Das Leeren verwendet die offiziellen APIs jedes CDN (nach deren Dokumentation); es wurde nicht mit echten Konten ausprobiert.

Häufige Probleme

  • Der Test meldet, dass das CDN den abgelaufenen Link ausliefert: Die Signaturprüfung ist beim CDN nicht eingeschaltet (siehe den Text neben der Art des Profils).
  • Segmente erhalten 403, die Playlist nicht: Bei Gcore fehlt die Einstellung, die die Parameter aus der Playlist an die Segmente weitergibt.
  • Das CDN ist „ausgefallen“ mit „alte Playlist“: Das CDN hält die Playlist zu lange im Cache — Playlists müssen dem Header des Servers folgen (no-cache).
  • Das Leeren meldet, dass der API-Schlüssel falsch ist: Der Schlüssel ist ungültig oder hat kein Recht zum Leeren. Die Zone / Ressource existiert beim CDN nicht: Die ID der Zone / Ressource ist falsch.
  • Das Leeren-Limit des CDN ist erreicht: Das CDN nimmt nur wenige Leerungen pro Minute an — das Panel sagt, nach wie vielen Sekunden Sie es erneut versuchen können.

Datenschutz

Cookies & lokaler Speicher

Unbedingt erforderliche Cookies sind immer aktiv. Statistik und Marketing nutzen Dienste von Google und starten nur, wenn Sie zustimmen — bis dahin wird nichts an Google übertragen. Sie können Ihre Einwilligung hier jederzeit widerrufen.

Unbedingt erforderlich

Ohne sie funktionieren Anmeldung, Formulare und die gewählte Sprache nicht. Sie erfordern keine Einwilligung (§ 25 Abs. 2 Nr. 2 TDDDG).

Immer aktiv
Name Zweck Dauer Art
castreon-session Hält Ihre Sitzung: Anmeldung und gewählte Sprache 2 Stunden, bei jedem Aufruf verlängert Cookie
XSRF-TOKEN Schützt Formulare vor gefälschten Anfragen 2 Stunden, bei jedem Aufruf verlängert Cookie
remember_web_… Nur wenn Sie bei der Anmeldung „Angemeldet bleiben“ wählen Bis zur Abmeldung, max. 400 Tage Cookie
__cf_bm Cloudflare: unterscheidet Besucher von Bots, nur wenn der Datenverkehr geprüft wird 30 Minuten Cookie · Cloudflare
castreon:consent Speichert Ihre Cookie-Auswahl 12 Monate Lokaler Speicher
theme Darstellung des Kundenkontos: hell, dunkel oder System Bis Sie sie ändern Lokaler Speicher

Statistik

Google Analytics 4 (Google Ireland Ltd.): welche Seiten besucht werden, woher Besuche kommen und mit welchem Gerätetyp — mit pseudonymen Kennungen, ohne Speicherung der IP-Adresse. Hilft uns, die Website zu verbessern.

Name Zweck Dauer Art
_ga Google Analytics: erkennt den Besucher wieder (pseudonyme Kennung) 13 Monate Cookie · Google Analytics
_ga_VHWQRPHPEF Google Analytics: speichert den Sitzungsstatus 13 Monate Cookie · Google Analytics

Marketing

Google Ads (Google Ireland Ltd.): misst, ob Besuche über Google-Anzeigen zu einem Test oder Tarif führen, und ermöglicht die Anzeige von Castreon-Werbung auf anderen Websites (Remarketing).

Name Zweck Dauer Art
_gcl_au, _gcl_aw Google Ads: verknüpft den Besuch mit dem Anzeigenklick (Conversions) 90 Tage Cookie · Google Ads
IDE, test_cookie Google Ads: Remarketing und Anzeigenmessung, auf Google-Domains (doubleclick.net) Bis zu 13 Monate Cookie · Google (Drittanbieter)