Web-Player für Ihre Website
Aktualisiert am 13 Okt 2026Castreon 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
- Öffnen Sie den Kanal und gehen Sie zum Reiter Player.
- Wählen Sie unter Wer den Kanal im Player sehen darf den Schutz (siehe unten) und klicken Sie auf Speichern.
- Kopieren Sie unter Einbettungscode den <iframe>-Code und setzen Sie ihn in Ihre Webseite ein.
- 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.comselbst 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
referrerpolicyaus 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|ipund 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(oderen,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
wwwsowie das Attributreferrerpolicyim 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.