Castreon detrás de un CDN (push HLS)
Actualizado el 08 oct. 2026Castreon puede subir por sí solo el HLS de un canal a un CDN o a un almacenamiento. Sus espectadores leen entonces del CDN, no de su servidor: el servidor solo escribe, haya los espectadores que haya, y no hace falta abrir nada hacia él desde internet.
Disponible desde Castreon 1.1.0, en los planes Pro y Enterprise.
Cuándo ayuda
- Tiene muchos espectadores, o espectadores en varios países, y no quiere mantener servidores de distribución propios.
- El servidor de transcodificación está en una red cerrada (oficina, centro de datos sin puertos abiertos) — el push solo envía datos hacia fuera.
- Quiere que los problemas de tráfico no afecten a la transcodificación: el CDN recibe todas las peticiones de los espectadores.
Si ya tiene servidores de distribución propios que leen el HLS de Castreon (pull), no necesita el push — un CDN también puede leer directamente la dirección HLS del canal.
Destinos compatibles
| Destino | Para qué |
|---|---|
| HTTP PUT / WebDAV | el almacenamiento de un CDN (acceso con una cabecera, p. ej. AccessKey) o un servidor WebDAV (usuario + contraseña) |
| S3 (compatible) | cualquier almacenamiento compatible con S3; el CDN lee del bucket |
Configuración
- Abra el canal → Editar → en Salidas, Añadir salida → tipo CDN push (HLS).
- Elija el Destino:
- HTTP PUT / WebDAV — Dirección de subida (la dirección del almacenamiento, con la zona), luego Autenticación: Ninguna, Usuario + contraseña o Cabecera (nombre + valor) — el nombre y el valor se los da su proveedor (p. ej. la cabecera
AccessKeycon la contraseña de la zona de almacenamiento). - S3 (compatible) — Endpoint S3 (sin el bucket), el bucket, Región (vacío =
auto), Access Key ID y Secret Access Key. Direcciones path-style se queda activado para casi todos los almacenamientos.
- HTTP PUT / WebDAV — Dirección de subida (la dirección del almacenamiento, con la zona), luego Autenticación: Ninguna, Usuario + contraseña o Cabecera (nombre + valor) — el nombre y el valor se los da su proveedor (p. ej. la cabecera
- Ruta en el destino — por defecto
live/{slug}/.{slug}es el identificador del canal,{id}su id; debajo del campo ve la ruta real. - Dirección de reproducción (opcional) — la dirección del CDN que da a los espectadores, con
{slug}, por ejemplohttps://cdn.su-dominio.es/live/{slug}/index.m3u8. Aparece en Entrega como CDN · HLS. - Probar la conexión — Castreon escribe un pequeño archivo de prueba bajo la ruta del canal y lo borra. Ve el tiempo o el error exacto del destino.
- Guardar.
Las contraseñas, los valores de cabecera y las claves secretas se guardan en el servidor y no se vuelven a mostrar: después de guardar, el campo muestra «•••••••• guardada». Deje el campo vacío para conservarlos o escriba un valor nuevo. No aparecen en las respuestas de la API, en el registro de auditoría ni en el informe de diagnóstico.
El canal no necesita una salida HLS aparte: si no la tiene, Castreon la añade, porque el push sube el HLS del canal.
Cómo sube
- Orden: primero el segmento, después la playlist de la calidad y después la playlist maestra (con varias calidades). Un reproductor nunca ve en la playlist un segmento que todavía no está en el CDN.
- Los nombres de los segmentos nunca se repiten, ni siquiera tras reiniciar el canal o el servidor. Un CDN no puede servir desde la caché un segmento antiguo en lugar de uno nuevo.
- Un reinicio del canal aparece en la playlist como una discontinuidad correcta; los reproductores siguen sin detenerse.
- Caché: los segmentos se envían con
Cache-Control: public, max-age=31536000, immutable, las playlists con un tiempo de caché de la mitad de la duración de un segmento. - Los segmentos antiguos se borran en el destino cuando llevan fuera de la playlist otra ventana completa (los reproductores que van con retraso todavía los encuentran). Desactive Borrar los segmentos antiguos en el destino si el almacenamiento los borra por sí mismo.
- Ante un error de red, cada archivo se intenta hasta 3 veces. Los errores de acceso (401, 403) no se reintentan — el mensaje aparece enseguida en la página del canal.
Ajustes en el CDN
- Caché de las playlists: con HTTP PUT, muchos almacenamientos de CDN no conservan la cabecera
Cache-Controlque envía Castreon. Cree en el CDN una regla para los archivos.m3u8: 1–2 segundos en caché. Sin ella, los espectadores pueden recibir una playlist antigua y la imagen se detiene. Los segmentos pueden quedarse mucho tiempo en caché. - Con S3,
Cache-Controlse guarda como metadato de cada objeto, y el CDN delante del bucket suele usarlo por sí solo. - CORS para los reproductores en el navegador: permita
GETyHEADdesde cualquier origen para.m3u8,.ts,.m4sy.mp4. - El acceso de los espectadores lo decide el CDN (por ejemplo, direcciones firmadas en el CDN). El token de acceso del nodo no se aplica a las direcciones del CDN.
En la página del canal
La tarjeta Push a CDN muestra para cada salida: el estado (subiendo, esperando al canal, error, sin licencia), el destino, la dirección de reproducción, la última subida (cuándo, qué archivo, en cuántos milisegundos), cuántos segmentos y MB se enviaron, cuántos se borraron y el último error.
En /metrics encontrará castreon_cdn_push_up, castreon_cdn_push_segments_total, castreon_cdn_push_bytes_total, castreon_cdn_push_errors_total y castreon_cdn_push_upload_seconds — vea Métricas y Grafana.
Límites
- Se sube HLS (segmentos TS o fMP4, todas las calidades). LL-HLS no se sube.
- El HLS cifrado con AES-128 no se puede subir: la clave se queda en el servidor.
- Un canal Bajo demanda no puede tener push: no ve a los espectadores del CDN y se detendría.
- Sin la licencia adecuada, la salida sigue guardada pero no sube nada (estado sin licencia).
Problemas frecuentes
HTTP 401/HTTP 403: las credenciales no son correctas o no tienen permiso de escritura en esa zona / ese bucket. Con S3,SignatureDoesNotMatchsuele significar una clave secreta o un endpoint incorrectos.HTTP 404en la prueba: la dirección de subida o el bucket no existe.- La imagen se detiene para los espectadores aunque la tarjeta muestra «subiendo»: revise la regla de caché para
.m3u8en el CDN (1–2 segundos). - El reproductor del navegador no arranca, pero VLC sí: falta CORS en el CDN.
- La última subida tarda mucho (los milisegundos de la tarjeta suben): el destino es lento o está lejos del servidor. Elija una zona de almacenamiento cercana al servidor.