Zum Inhalt springen
Castreon
Auslieferung

Castreon hinter einem CDN (HLS-Push)

Aktualisiert am 08 Okt 2026

Castreon kann das HLS eines Kanals selbst zu einem CDN oder in einen Speicherdienst hochladen. Ihre Zuschauer lesen dann vom CDN, nicht von Ihrem Server: Der Server schreibt nur, egal wie viele Zuschauer es sind, und aus dem Internet muss nichts zu ihm geöffnet werden.

Verfügbar ab Castreon 1.1.0 in den Plänen Pro und Enterprise.

Wann es hilft

  • Sie haben viele Zuschauer oder Zuschauer in mehreren Ländern und möchten keine eigenen Auslieferungsserver betreiben.
  • Der Transcoding-Server steht in einem geschlossenen Netz (Büro, Rechenzentrum ohne offene Ports) — der Push sendet nur Daten nach außen.
  • Verkehrsprobleme sollen das Transcoding nicht berühren: Das CDN übernimmt alle Anfragen der Zuschauer.

Wenn Sie bereits eigene Auslieferungsserver haben, die das HLS von Castreon lesen (Pull), brauchen Sie keinen Push — auch ein CDN kann die HLS-Adresse des Kanals direkt lesen.

Unterstützte Ziele

Ziel Wofür
HTTP PUT / WebDAV der Speicher eines CDN (Zugang über einen Header, z. B. AccessKey) oder ein WebDAV-Server (Benutzer + Passwort)
S3 (kompatibel) jeder S3-kompatible Speicher; das CDN liest aus dem Bucket

Einrichtung

  1. Kanal öffnen → Bearbeiten → unter Ausgänge Ausgang hinzufügen → Typ CDN push (HLS).
  2. Ziel wählen:
    • HTTP PUT / WebDAV — Upload-Adresse (die Adresse des Speichers, mit Zone), dann Authentifizierung: Keine, Benutzer + Passwort oder Header (Name + Wert) — Name und Wert nennt Ihnen der Anbieter (z. B. der Header AccessKey mit dem Passwort der Speicherzone).
    • S3 (kompatibel) — S3-Endpoint (ohne Bucket), der Bucket, Region (leer = auto), Access Key ID und Secret Access Key. Path-Style-Adressen bleibt für fast alle Speicher eingeschaltet.
  3. Pfad am Ziel — standardmäßig live/{slug}/. {slug} ist die Kennung des Kanals, {id} seine ID; unter dem Feld sehen Sie den echten Pfad.
  4. Wiedergabeadresse (optional) — die CDN-Adresse, die Sie den Zuschauern geben, mit {slug}, zum Beispiel https://cdn.ihre-domain.de/live/{slug}/index.m3u8. Sie erscheint unter Auslieferung als CDN · HLS.
  5. Verbindung testen — Castreon schreibt eine kleine Testdatei unter den Pfad des Kanals und löscht sie wieder. Sie sehen die Dauer oder den genauen Fehler des Ziels.
  6. Speichern.

Passwörter, Header-Werte und geheime Schlüssel werden auf dem Server aufbewahrt und nicht mehr angezeigt: Nach dem Speichern zeigt das Feld „•••••••• gespeichert“. Lassen Sie das Feld leer, damit der Wert bleibt, oder geben Sie einen neuen ein. Sie erscheinen weder in API-Antworten noch im Audit-Log oder im Diagnosebericht.

Der Kanal braucht keinen eigenen HLS-Ausgang: Hat er keinen, fügt Castreon ihn hinzu, denn der Push lädt das HLS des Kanals hoch.

Wie hochgeladen wird

  • Reihenfolge: zuerst das Segment, dann die Playlist der Qualität, dann die Master-Playlist (bei mehreren Qualitäten). Ein Player sieht in der Playlist nie ein Segment, das noch nicht am CDN liegt.
  • Segmentnamen wiederholen sich nie, auch nicht nach einem Neustart des Kanals oder des Servers. Ein CDN kann kein altes Segment aus dem Cache statt eines neuen ausliefern.
  • Ein Neustart des Kanals erscheint in der Playlist als korrekte Diskontinuität; Player laufen ohne Unterbrechung weiter.
  • Cache: Segmente werden mit Cache-Control: public, max-age=31536000, immutable gesendet, Playlists mit einer Cache-Zeit von einer halben Segmentdauer.
  • Alte Segmente werden am Ziel gelöscht, wenn sie seit einem weiteren vollen Fenster nicht mehr in der Playlist stehen (zurückliegende Player finden sie noch). Schalten Sie Alte Segmente am Ziel löschen aus, wenn der Speicher sie selbst löscht.
  • Bei einem Netzwerkfehler wird jede Datei bis zu 3-mal versucht. Zugriffsfehler (401, 403) werden nicht wiederholt — die Meldung erscheint sofort auf der Kanalseite.

Einstellungen am CDN

  • Cache der Playlists: Bei HTTP PUT behalten viele CDN-Speicher den von Castreon gesendeten Cache-Control-Header nicht. Legen Sie am CDN eine Regel für .m3u8-Dateien an: 1–2 Sekunden im Cache. Ohne sie bekommen Zuschauer womöglich eine alte Playlist und das Bild bleibt stehen. Segmente dürfen lange im Cache bleiben.
  • Bei S3 wird Cache-Control als Metadaten jedes Objekts gespeichert; das CDN vor dem Bucket verwendet es meist von selbst.
  • CORS für Player im Browser: GET und HEAD von jedem Ursprung für .m3u8, .ts, .m4s und .mp4 erlauben.
  • Den Zugang der Zuschauer regelt das CDN (zum Beispiel signierte Adressen am CDN). Das Zugangstoken des Knotens gilt nicht für CDN-Adressen.

Auf der Kanalseite

Die Karte CDN-Push zeigt für jeden Ausgang: den Zustand (lädt hoch, wartet auf den Kanal, Fehler, nicht lizenziert), das Ziel, die Wiedergabeadresse, den letzten Upload (wann, welche Datei, in wie vielen Millisekunden), wie viele Segmente und MB gesendet und wie viele gelöscht wurden sowie den letzten Fehler.

In /metrics finden Sie castreon_cdn_push_up, castreon_cdn_push_segments_total, castreon_cdn_push_bytes_total, castreon_cdn_push_errors_total und castreon_cdn_push_upload_seconds — siehe Metriken und Grafana.

Grenzen

  • Hochgeladen wird HLS (TS- oder fMP4-Segmente, alle Qualitäten). LL-HLS wird nicht hochgeladen.
  • Mit AES-128 verschlüsseltes HLS kann nicht hochgeladen werden: Der Schlüssel bleibt auf dem Server.
  • Ein Kanal Auf Abruf kann keinen Push haben: Er sieht die Zuschauer am CDN nicht und würde anhalten.
  • Ohne passende Lizenz bleibt der Ausgang gespeichert, lädt aber nichts hoch (Zustand nicht lizenziert).

Häufige Probleme

  • HTTP 401 / HTTP 403: Die Zugangsdaten stimmen nicht oder haben keine Schreibrechte auf diese Zone bzw. diesen Bucket. Bei S3 bedeutet SignatureDoesNotMatch meist einen falschen geheimen Schlüssel oder einen falschen Endpoint.
  • HTTP 404 beim Test: Die Upload-Adresse oder der Bucket existiert nicht.
  • Das Bild bleibt bei Zuschauern stehen, obwohl die Karte „lädt hoch“ zeigt: Prüfen Sie die Cache-Regel für .m3u8 am CDN (1–2 Sekunden).
  • Der Player im Browser startet nicht, VLC aber schon: Am CDN fehlt CORS.
  • Der letzte Upload dauert lange (die Millisekunden auf der Karte steigen): Das Ziel ist langsam oder weit vom Server entfernt. Wählen Sie eine Speicherzone nahe am Server.

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)