Zum Inhalt springen
Castreon
Auslieferung

Web-Player für Ihre Website

Aktualisiert am 13 Okt 2026

Castreon bringt einen fertigen Web-Player mit, den Sie mit einer einzigen Codezeile auf Ihre Website setzen. Die Zuschauer sehen den Kanal direkt in der Seite, ohne App, und der Player trägt Ihre Marke: Ihr Logo, Ihre Farbe, die von Ihnen gewählte Sprache. Der Name Castreon erscheint nirgends.

Was die Zuschauer bekommen:

  • Qualität — automatisch nach Verbindung oder von Hand gewählt, wenn der Kanal mehrere Qualitäten hat;
  • Tonspuren und Untertitel, wenn der Kanal sie hat;
  • das TV-Programm: was gerade läuft und was danach kommt, aus dem EPG des Kanals;
  • Vollbild, Bild-in-Bild, AirPlay (Safari) und Chromecast (Chrome);
  • automatischer Start ohne Ton, mit der Schaltfläche Ton einschalten.

Verfügbar ab Castreon 1.5.0, in allen Tarifen, auch im kostenlosen Test.

Kurz und knapp

  1. Öffnen Sie den Kanal und gehen Sie zum Reiter Player.
  2. Wählen Sie unter Wer den Kanal im Player sehen darf den Schutz (siehe unten) und klicken Sie auf Speichern.
  3. Kopieren Sie unter Einbettungscode den <iframe>-Code und setzen Sie ihn in Ihre Webseite ein.
  4. Klicken Sie auf Vorschau öffnen, um den Player genau so zu sehen wie die Zuschauer.

Der Player füllt die Breite der Seite und hält das 16:9-Format von selbst. Das Menü mit Qualitäten, Ton und Untertiteln erscheint nur, wenn der Kanal etwas zur Auswahl hat.

Wer zusehen darf: drei Schutzmodi

Nur auf erlaubten Websites (Standard)

Der Player startet nur, wenn er auf Ihren Websites eingebettet ist. Tragen Sie die Domains unter Erlaubte Websites ein, eine pro Zeile:

  • tv.example.com — genau diese Adresse;
  • *.example.com — alle Subdomains (example.com selbst kommt in eine eigene Zeile).

Direkt geöffnet oder auf einer anderen Website eingebunden, zeigt der Player eine Meldung und spielt nichts ab. Der Browser teilt dem Player mit, welche Seite ihn einbettet, und der Player teilt den Browsern mit, wo er erscheinen darf. Die Vorschau im Panel funktioniert immer.

Behalten Sie das Attribut referrerpolicy aus dem Code: Ohne es verbergen manche Websites ihre Adresse, und der Player startet nicht.

Geeignet für: Online-TV auf der eigenen Website.

Signierter Link

Für bezahlte Inhalte und Abonnenten. Der Server Ihrer Website signiert jeden Link mit dem Geheimnis des Kanals und gibt ihm ein Ablaufdatum. Ohne gültige Signatur oder nach dem Ablauf startet der Player nicht.

Die Signatur ist HMAC-SHA256 über kanal|ablauf (der Ablauf in Unix-Sekunden), hexadezimal geschrieben. Der Link lautet dann:

https://tv.example.com/play/mein-kanal?exp=<ablauf>&sig=<signatur>

Beispiel in PHP:

<?php
$secret = getenv('CASTREON_PLAYER_SECRET'); // das Geheimnis des Kanals, aus dem Castreon-Panel
$slug   = 'mein-kanal';
$exp    = time() + 6 * 3600;                // der Link gilt 6 Stunden
$sig    = hash_hmac('sha256', "$slug|$exp", $secret);
$src    = "https://tv.example.com/play/$slug?exp=$exp&sig=$sig";
?>
<iframe src="<?= htmlspecialchars($src) ?>" allow="autoplay; fullscreen; picture-in-picture; encrypted-media"
        style="width:100%;aspect-ratio:16/9;border:0"></iframe>

Beispiel in Node.js:

const crypto = require('crypto')
const secret = process.env.CASTREON_PLAYER_SECRET // das Geheimnis des Kanals, aus dem Castreon-Panel
const slug = 'mein-kanal'
const exp = Math.floor(Date.now() / 1000) + 6 * 3600 // der Link gilt 6 Stunden
const sig = crypto.createHmac('sha256', secret).update(`${slug}|${exp}`).digest('hex')
const src = `https://tv.example.com/play/${slug}?exp=${exp}&sig=${sig}`

Der Reiter Player zeigt dieselben Beispiele, mit Ihrem Kanal und Ihrer Adresse bereits ausgefüllt.

  • Das Geheimnis bleibt nur auf dem Server Ihrer Website, nie in der Seite. Im Reiter: Anzeigen, Kopieren, Neues Geheimnis. Ein neues Geheimnis macht alle mit dem alten signierten Links ungültig.
  • Ablauf: höchstens 31 Tage.
  • An die IP des Zuschauers gebunden (optional): Signieren Sie kanal|ablauf|ip und hängen Sie &ip=<adresse> an den Link. Der Link funktioniert dann nur von dieser Adresse.

Öffentlich

Jeder mit dem Link oder dem Code kann den Kanal sehen, auf jeder Website.

Das Wiedergabe-Token: warum eine kopierte Adresse nicht funktioniert

In allen Modi verwendet der Player nicht die Adresse /live/… des Kanals. Er bekommt ein Wiedergabe-Token, das einige Stunden gilt und das er während der Wiedergabe selbst erneuert. Bei einem signierten Link gilt das Token nie länger als der Link. Eine aus dem Browser kopierte Adresse funktioniert nach einigen Stunden nicht mehr; bei einem an die IP gebundenen Link funktioniert sie von einer anderen Adresse überhaupt nicht.

Die Adressen /live/… für Apps und Set-Top-Boxen bleiben, wie sie sind, mit ihren IP-Beschränkungen. Soll ein Kanal nur über den Player zu sehen sein, schränken Sie /live/… mit Erlaubte Adressen ein: Der Player nutzt diese Listen nicht und funktioniert weiter.

Ihre Marke

Unter Einstellungen → Web-Player:

  • Akzentfarbe — Wiedergabe-Schaltfläche, Fortschrittsleiste, „Live“, als #rrggbb;
  • Logo — PNG mit transparentem Hintergrund (empfohlen) oder JPEG, höchstens 1 MB und 2000 × 2000 px;
  • Ecke des Logos — oben rechts (Standard), oben links, unten rechts oder unten links.

Die Marke gilt für den Player auf allen Kanälen.

Sprache des Players

Die Texte des Players („Live“, „Danach“, „Ton einschalten“, die Meldungen für Zuschauer) gibt es auf Deutsch, Englisch, Rumänisch, Italienisch und Spanisch.

  • Einstellungen → Web-Player → Sprache des Players: Automatisch (Browsersprache jedes Zuschauers, Standard) oder eine feste Sprache.
  • Reiter Player eines Kanals: wie in den Einstellungen oder eine andere Sprache nur für diesen Kanal.
  • Mehrsprachige Websites: Hängen Sie ?lang=de (oder en, ro, it, es) an die Adresse im Einbettungscode. Die Adresse hat Vorrang vor den Einstellungen.

Automatischer Start

Aktivieren Sie Automatisch stumm starten über dem Code: An die Adresse wird ?autoplay=1 angehängt. Browser erlauben den automatischen Start nur ohne Ton, deshalb bekommt der Zuschauer die Schaltfläche Ton einschalten.

Clips

Ein Clip aus dem Archiv, aus der Bibliothek oder eine Aufnahme läuft im selben Player, mit Suchleiste sowie der hier eingestellten Marke und Sprache. Der Ansichtslink eines Clips hat dieselben Schutzmodi — siehe Clips.

HTTPS

Eine Website mit HTTPS kann nur einen Player zeigen, der ebenfalls über HTTPS läuft: Browser blockieren einen HTTP-Player in einer HTTPS-Seite, und der Rahmen bleibt leer. Ab Castreon 1.5.1 kann der Server HTTPS selbst ausliefern: Schalten Sie es unter Einstellungen → HTTPS ein, mit einem von einer Zertifizierungsstelle ausgestellten Zertifikat für die Domain des Servers (am einfachsten Let's Encrypt automatisch, direkt aus Castreon) — Browser akzeptieren das eigene Zertifikat des Servers nicht. Tragen Sie danach die HTTPS-Adresse mit https:// und Port als Öffentliche Domain unter Einstellungen → Instanz ein; der Einbettungscode verwendet sie von selbst. Ein Reverse Proxy oder ein CDN mit Zertifikat vor dem Server funktioniert weiterhin — siehe HTTPS direkt in Castreon und Quellen mit Fingerabdruck und M3U-Export und öffentliche Domain.

Wenn es nicht funktioniert

  • Der Rahmen bleibt leer — die Website läuft über HTTPS, der Player über HTTP (siehe oben).
  • „Dieser Player kann nur auf der Website des Senders angesehen werden.“ — die Domain fehlt unter Erlaubte Websites. Prüfen Sie die Adresse mit und ohne www sowie das Attribut referrerpolicy im Code.
  • „Dieser Link ist ungültig.“ — die Signatur passt nicht: ein anderes Geheimnis (nach Neues Geheimnis), ein anderer Kanal oder die Felder in anderer Reihenfolge (kanal|ablauf, dann |ip).
  • „Dieser Link ist abgelaufen.“ — der Ablauf ist überschritten. Prüfen Sie die Uhr des Servers Ihrer Website.
  • „Dieser Kanal ist nicht verfügbar.“ — der Kanal ist gestoppt, oder die Adresse enthält einen falschen Kanalnamen.

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)