Castreon hinter einem CDN (HLS-Push)
Aktualisiert am 08 Okt 2026Castreon 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
- Kanal öffnen → Bearbeiten → unter Ausgänge Ausgang hinzufügen → Typ CDN push (HLS).
- 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
AccessKeymit 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.
- 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
- Pfad am Ziel — standardmäßig
live/{slug}/.{slug}ist die Kennung des Kanals,{id}seine ID; unter dem Feld sehen Sie den echten Pfad. - Wiedergabeadresse (optional) — die CDN-Adresse, die Sie den Zuschauern geben, mit
{slug}, zum Beispielhttps://cdn.ihre-domain.de/live/{slug}/index.m3u8. Sie erscheint unter Auslieferung als CDN · HLS. - 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.
- 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, immutablegesendet, 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-Controlals Metadaten jedes Objekts gespeichert; das CDN vor dem Bucket verwendet es meist von selbst. - CORS für Player im Browser:
GETundHEADvon jedem Ursprung für.m3u8,.ts,.m4sund.mp4erlauben. - 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 bedeutetSignatureDoesNotMatchmeist einen falschen geheimen Schlüssel oder einen falschen Endpoint.HTTP 404beim 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
.m3u8am 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.