Archivo, catch-up y timeshift
Actualizado el 07 oct. 2026Castreon puede guardar en disco todo lo que un canal ha emitido en los últimos días. Sus abonados pueden ver en el reproductor IPTV los programas pasados (catch-up), volver a empezar el programa en curso (start-over) o ver el canal con el retraso que elijan (timeshift).
Disponible desde Castreon 1.0.8, en los planes Pro (hasta 7 días por canal) y Enterprise (sin límite de días — el límite es el disco).
Cómo funciona
El canal ya escribe su salida HLS en segmentos de pocos segundos. El archivo guarda estos segmentos en disco antes de que salgan de la ventana en directo — sin transcodificación adicional y sin un proceso nuevo. Cada segmento se guarda según la hora en que se emitió, así que el archivo sigue sin problemas tras los reinicios del canal o del servidor.
En el mismo disco el segmento no se copia en absoluto (hard link); si el HLS en directo está en memoria (tmpfs), el segmento se copia al disco.
Activarlo en un canal
- Abra el canal → Editar.
- En Archivo (catch-up), marque Conservar el archivo y elija cuántos días.
- Guardar.
La grabación empieza en pocos segundos. El canal necesita:
- una salida HLS — puede convivir con las demás salidas; un canal sin salidas configuradas la tiene por defecto;
- segmentos TS — en la salida HLS, el contenedor TS o automático (automático elige fMP4 solo cuando el perfil codifica en HEVC o AV1);
- HLS sin cifrar — el archivo no conserva HLS cifrado con AES-128;
- funcionar siempre, no Bajo demanda — un canal bajo demanda se detiene sin espectadores y el archivo tendría huecos.
El panel le avisa antes de guardar si falta algo.
Si desactiva el archivo de un canal o borra el canal, lo grabado para él se borra del disco en menos de un minuto.
Espacio en disco
El archivo ocupa el bitrate del canal multiplicado por el tiempo conservado:
| Bitrate del canal | Un día | 7 días |
|---|---|---|
| 2 Mbit/s | ≈ 22 GB | ≈ 151 GB |
| 5 Mbit/s | ≈ 54 GB | ≈ 378 GB |
| 8 Mbit/s | ≈ 86 GB | ≈ 605 GB |
En un canal con varias calidades (ABR) se conservan todas las calidades, así que sus bitrates se suman.
En Ajustes → Archivo encontrará:
- Carpeta del archivo — vacío significa
archiveen la carpeta de datos del nodo. Recomendamos un disco aparte y grande (no tmpfs). Una carpeta nueva se crea y se comprueba al guardar. Lo ya grabado no se mueve: se queda en la carpeta anterior. - Espacio libre mínimo (%) — 10 % por defecto. Cuando el disco baja del umbral, el nodo borra las horas más antiguas, de cualquier canal, hasta que vuelve a haber espacio. La grabación nunca se detiene porque el disco esté lleno.
- el disco (libre / total), el espacio que ocupa el archivo, su plan y, para cada canal, los días, el espacio, desde cuándo tiene archivo y si está grabando ahora.
El archivo se borra por horas completas: según los días de cada canal y según el umbral de espacio libre.
En los reproductores IPTV
En el reproductor no hay que configurar nada. Exportar M3U marca los canales con archivo:
#EXTINF:-1 tvg-id="canal-1" catchup="default" catchup-days="7" catchup-source="http://…/live/canal-1/index-{utc}-{duration}.m3u8",Canal 1
TiviMate, OTT Navigator, Kodi (IPTV Simple), Televizo y los demás reproductores compatibles con el catch-up de la lista M3U muestran el archivo en el canal, y los programas pasados de la guía se pueden reproducir. Para los programas, el reproductor usa la guía de TV — en los canales DVB viene directamente del mux, vea Guía de TV (EPG) desde DVB. La lista pide por sí sola la guía de los días del archivo (como máximo 8). Los canales que no son DVB necesitan una guía XMLTV de otra fuente, enlazada mediante el ID EPG.
Vuelva a cargar la lista M3U en el reproductor después de activar el archivo: los atributos de catch-up solo aparecen en las listas exportadas a partir de entonces.
Direcciones del archivo
Todas están junto a la dirección en directo del canal, http://<dominio-público>/live/<canal>/, con las mismas reglas de acceso (token, IP permitidas). <inicio> es la hora UNIX (UTC, en segundos) y <duración> va en segundos.
| Dirección | Qué obtiene |
|---|---|
index-<inicio>-<duración>.m3u8 |
un programa (catch-up) |
index-<inicio>-now.m3u8 |
desde <inicio> hasta el directo (start-over) |
timeshift_abs-<inicio>.m3u8 |
lo mismo |
timeshift_rel-<segundos>.m3u8 |
el canal con esos segundos de retraso |
archive-<inicio>-<duración>.ts |
un programa como un único flujo MPEG-TS (?download=1 lo descarga como archivo) |
timeshift_abs-<inicio>.ts |
MPEG-TS desde <inicio>, que sigue hasta el directo |
Ejemplo — una hora a partir del 7 de octubre de 2026, 18:00 UTC:
http://tv.sudominio.es:33400/live/canal-1/index-1791396000-3600.m3u8?token=…
- En un canal con varias calidades, la lista es un máster con todas las calidades, como en directo.
- El token de la dirección se añade automáticamente a cada dirección de la lista.
- Una petición cubre como máximo 24 horas; las listas abiertas (start-over, timeshift) llegan como máximo 6 horas atrás.
En el panel
En la pestaña Programación del canal, los programas pasados que están en el archivo tienen el botón Reproducir y el programa en curso tiene Desde el inicio. El reproductor del panel tiene barra de tiempo, así que puede saltar a cualquier punto del programa.
Métricas
/metrics incluye castreon_archive_bytes, castreon_archive_disk_free_bytes, castreon_archive_disk_total_bytes, castreon_archive_channels_recording y castreon_archive_pruned_hours_total — útiles, por ejemplo, para una alerta en Grafana cuando el disco del archivo se llena. Vea Métricas y Grafana.
Problemas frecuentes
- El canal no graba (Ajustes → Archivo): el canal tiene que estar en marcha; si en su fila aparece un mensaje, indica el motivo (por ejemplo HLS cifrado o segmentos fMP4).
- «not in archive» (404): el intervalo pedido es anterior a la primera grabación o ya se ha borrado (días del canal, espacio libre mínimo).
- El reproductor no muestra el archivo: vuelva a cargar la lista M3U y la guía de TV en el reproductor.
- «el plan Pro conserva el archivo como máximo 7 días»: para más días hace falta el plan Enterprise.