Player web per il tuo sito
Aggiornato il 13 ott 2026Castreon ha un player web già pronto, che metti sul tuo sito con una sola riga di codice. Gli spettatori guardano il canale direttamente nella pagina, senza app, e il player porta il tuo marchio: il tuo logo, il tuo colore, la lingua che scegli. Il nome Castreon non compare da nessuna parte.
Cosa trovano gli spettatori:
- qualità — automatica, in base alla connessione, o scelta a mano quando il canale ha più qualità;
- tracce audio e sottotitoli, quando il canale li ha;
- la guida TV: cosa va in onda ora e cosa viene dopo, dall'EPG del canale;
- schermo intero, picture in picture, AirPlay (Safari) e Chromecast (Chrome);
- avvio automatico senza audio, con il pulsante Attiva l’audio.
Disponibile da Castreon 1.5.0, in tutti i piani, prova gratuita compresa.
In breve
- Apri il canale e vai alla scheda Player.
- In Chi può vedere il canale nel player scegli la protezione (vedi sotto) e clicca Salva.
- In Codice di incorporamento copia il Codice <iframe> e incollalo nella pagina del tuo sito.
- Clicca Apri l’anteprima per vedere il player esattamente come lo vedono gli spettatori.
Il player occupa la larghezza della pagina e mantiene da solo il formato 16:9. Il menu con qualità, audio e sottotitoli compare solo quando il canale ha qualcosa da scegliere.
Chi può guardare: tre modalità di protezione
Solo sui siti consentiti (predefinita)
Il player parte solo quando è incorporato nei tuoi siti. Scrivi i domini in Siti consentiti, uno per riga:
tv.example.com— esattamente questo indirizzo;*.example.com— tutti i sottodomini (example.comstesso va su una riga a parte).
Aperto direttamente o messo su un altro sito, il player mostra un messaggio e non riproduce nulla. Il browser dice al player quale pagina lo incorpora, e il player dice ai browser dove può comparire. L'anteprima nel pannello funziona sempre.
Lascia l'attributo
referrerpolicynel codice: senza, alcuni siti nascondono il proprio indirizzo e il player non parte.
Adatta per: la TV online sul tuo sito.
Link firmato
Per contenuti a pagamento e abbonati. Il server del tuo sito firma ogni link con il segreto del canale e gli dà una scadenza. Senza una firma valida, o dopo la scadenza, il player non parte.
La firma è HMAC-SHA256 su canale|scadenza (la scadenza in secondi Unix), scritta in esadecimale. Il link diventa:
https://tv.example.com/play/mio-canale?exp=<scadenza>&sig=<firma>
Esempio in PHP:
<?php
$secret = getenv('CASTREON_PLAYER_SECRET'); // il segreto del canale, dal pannello Castreon
$slug = 'mio-canale';
$exp = time() + 6 * 3600; // il link vale 6 ore
$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>
Esempio in Node.js:
const crypto = require('crypto')
const secret = process.env.CASTREON_PLAYER_SECRET // il segreto del canale, dal pannello Castreon
const slug = 'mio-canale'
const exp = Math.floor(Date.now() / 1000) + 6 * 3600 // il link vale 6 ore
const sig = crypto.createHmac('sha256', secret).update(`${slug}|${exp}`).digest('hex')
const src = `https://tv.example.com/play/${slug}?exp=${exp}&sig=${sig}`
La scheda Player mostra gli stessi esempi, con il tuo canale e il tuo indirizzo già compilati.
- Il segreto resta solo sul server del tuo sito, mai nella pagina. Nella scheda: Mostra, Copia, Nuovo segreto. Un nuovo segreto blocca tutti i link firmati con quello vecchio.
- Scadenza: al massimo 31 giorni.
- Legato all'IP dello spettatore (facoltativo): firma
canale|scadenza|ipe aggiungi&ip=<indirizzo>al link. Il link funziona allora solo da quell'indirizzo.
Pubblico
Chiunque abbia il link o il codice può vedere il canale, su qualsiasi sito.
Il token di riproduzione: perché un indirizzo copiato non funziona
In tutte le modalità il player non usa l'indirizzo /live/… del canale. Riceve un token di riproduzione valido qualche ora, che rinnova da solo mentre riproduce. Con un link firmato, il token non dura mai più del link. Un indirizzo copiato dal browser smette di funzionare dopo qualche ora; con un link legato all'IP dello spettatore non funziona affatto da un altro indirizzo.
Gli indirizzi /live/… per le app e i set-top box restano come sono, con le loro restrizioni di indirizzi IP. Se un canale deve essere visto solo dal player, limita /live/… con Indirizzi consentiti: il player non usa questi elenchi e continua a funzionare.
Il tuo marchio
In Impostazioni → Player web:
- Colore di accento — il pulsante di riproduzione, la barra di avanzamento, «In diretta», scritto
#rrggbb; - Logo — PNG con sfondo trasparente (consigliato) o JPEG, al massimo 1 MB e 2000 × 2000 px;
- Angolo del logo — in alto a destra (predefinito), in alto a sinistra, in basso a destra o in basso a sinistra.
Il marchio vale per il player su tutti i canali.
Lingua del player
I testi del player («In diretta», «A seguire», «Attiva l’audio», i messaggi per gli spettatori) esistono in italiano, inglese, rumeno, tedesco e spagnolo.
- Impostazioni → Player web → Lingua del player: Automatica (la lingua del browser di ogni spettatore, predefinita) o una lingua fissa.
- Scheda Player di un canale: come in Impostazioni, oppure un'altra lingua solo per quel canale.
- Siti in più lingue: aggiungi
?lang=it(oen,ro,de,es) all'indirizzo nel codice di incorporamento. L'indirizzo ha la precedenza sulle impostazioni.
Avvio automatico
Attiva Avvia automaticamente senza audio sopra il codice: all'indirizzo si aggiunge ?autoplay=1. I browser permettono l'avvio automatico solo senza audio, quindi lo spettatore riceve il pulsante Attiva l’audio.
Clip
Una clip dall'archivio, dalla Libreria o registrata ora si guarda nello stesso player, con la barra di avanzamento, il marchio e la lingua impostati qui. Il link di visione di una clip ha le stesse modalità di protezione — vedi Clip.
HTTPS
Un sito in HTTPS può mostrare solo un player anch'esso in HTTPS: i browser bloccano un player HTTP dentro una pagina HTTPS e il riquadro resta vuoto. Da Castreon 1.5.1 il server può servire HTTPS da solo: attivalo in Impostazioni → HTTPS con un certificato emesso da un’autorità per il dominio del server (il modo più semplice: Let's Encrypt automatico, direttamente da Castreon) — i browser non accettano il certificato proprio del server. Poi scrivi l'indirizzo HTTPS, con https:// e la porta, in Dominio pubblico in Impostazioni → Istanza; il codice di incorporamento lo usa da solo. Funziona ancora anche un reverse proxy o una CDN con certificato davanti al server — vedi HTTPS diretto in Castreon e sorgenti con impronta e Esportazione M3U e dominio pubblico.
Quando non funziona
- Il riquadro resta vuoto — il sito è in HTTPS e il player in HTTP (vedi sopra).
- «Questo player può essere guardato solo sul sito dell’emittente.» — il dominio manca in Siti consentiti. Controlla l'indirizzo con e senza
wwwe l'attributoreferrerpolicynel codice. - «Il link non è valido.» — la firma non corrisponde: un altro segreto (dopo Nuovo segreto), un altro canale o i campi in un altro ordine (
canale|scadenza, poi|ip). - «Il link è scaduto.» — la scadenza è passata. Controlla l'orologio del server del tuo sito.
- «Questo canale non è disponibile.» — il canale è fermo, oppure l'indirizzo contiene un nome di canale sbagliato.