Ir al contenido
Castreon
Entrega

Castreon detrás de un CDN (push HLS)

Actualizado el 08 oct. 2026

Castreon 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

  1. Abra el canal → Editar → en Salidas, Añadir salida → tipo CDN push (HLS).
  2. 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 AccessKey con 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.
  3. Ruta en el destino — por defecto live/{slug}/. {slug} es el identificador del canal, {id} su id; debajo del campo ve la ruta real.
  4. Dirección de reproducción (opcional) — la dirección del CDN que da a los espectadores, con {slug}, por ejemplo https://cdn.su-dominio.es/live/{slug}/index.m3u8. Aparece en Entrega como CDN · HLS.
  5. 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.
  6. 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-Control que 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-Control se 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 GET y HEAD desde cualquier origen para .m3u8, .ts, .m4s y .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, SignatureDoesNotMatch suele significar una clave secreta o un endpoint incorrectos.
  • HTTP 404 en 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 .m3u8 en 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.

Privacidad

Cookies y almacenamiento local

Las cookies estrictamente necesarias están siempre activas. Las estadísticas y el marketing usan servicios de Google y solo se activan si los aceptas; hasta entonces no se envía nada a Google. Puedes retirar tu consentimiento aquí en cualquier momento.

Estrictamente necesarias

Sin ellas no funcionan el inicio de sesión, los formularios ni el idioma elegido. No requieren consentimiento (§ 25, apartado 2, n.º 2 TDDDG).

Siempre activas
Nombre Finalidad Duración Tipo
castreon-session Mantiene la sesión: inicio de sesión e idioma elegido 2 horas, renovada en cada visita Cookie
XSRF-TOKEN Protege los formularios contra solicitudes falsificadas 2 horas, renovada en cada visita Cookie
remember_web_… Solo si marcas «Recordarme» al iniciar sesión Hasta cerrar sesión, máx. 400 días Cookie
__cf_bm Cloudflare: distingue visitantes de bots, solo cuando se verifica el tráfico 30 minutos Cookie · Cloudflare
castreon:consent Recuerda tu elección de cookies 12 meses Almacenamiento local
theme Apariencia de la cuenta de cliente: clara, oscura o del sistema Hasta que la cambies Almacenamiento local

Estadísticas

Google Analytics 4 (Google Ireland Ltd.): qué páginas se visitan, de dónde llegan las visitas y con qué tipo de dispositivo — con identificadores seudónimos, sin guardar la dirección IP. Nos ayuda a mejorar el sitio.

Nombre Finalidad Duración Tipo
_ga Google Analytics: reconoce al visitante (identificador seudónimo) 13 meses Cookie · Google Analytics
_ga_VHWQRPHPEF Google Analytics: mantiene el estado de la visita 13 meses Cookie · Google Analytics

Marketing

Google Ads (Google Ireland Ltd.): mide si las visitas desde anuncios de Google llevan a una prueba o a un plan y permite mostrar anuncios de Castreon en otros sitios (remarketing).

Nombre Finalidad Duración Tipo
_gcl_au, _gcl_aw Google Ads: vincula la visita con el clic en el anuncio (conversiones) 90 días Cookie · Google Ads
IDE, test_cookie Google Ads: remarketing y medición de anuncios, en dominios de Google (doubleclick.net) Hasta 13 meses Cookie · Google (tercero)