TotalPlay Manual de Usuario
Documentación

Manual de Usuario — TotalPlay

Guía completa del panel de administración IPTV/OTT para gestionar contenido, usuarios, servidores y monitorear tu plataforma en tiempo real.

TotalPlay es una plataforma de administración IPTV/OTT diseñada para proveedores de servicios de Internet (ISPs) y operadoras de telecomunicaciones. Desde un único panel web puedes gestionar todos los aspectos de tu servicio de streaming: canales de TV en vivo, películas, series, usuarios suscriptores y servidores de distribución.

¿Qué puedes hacer con TotalPlay?

  • Crear y gestionar canales de TV en vivo con re-transmisión automática.
  • Administrar una biblioteca de películas y series (VOD).
  • Organizar el contenido en grillas (paquetes) y asignarlos a usuarios.
  • Crear y gestionar cuentas de suscriptores con fechas de vencimiento y límites de pantallas.
  • Monitorear el rendimiento del servidor en tiempo real.
  • Ver las conexiones activas y registros de actividad.
  • Configurar la guía de programación electrónica (EPG).
ℹ️

Este manual está dirigido al uso diario del panel. No cubre instalación técnica ni configuración de servidores de red.

🔐 Acceso al Panel

Para ingresar al panel de administración, abre tu navegador e ingresa la URL que te proporcionó el administrador del sistema. Verás la pantalla de inicio de sesión.

Pantalla de login
📸 Pantalla de inicio de sesión del panel TotalPlay
Ingresa tu correo o usuario

Escribe el nombre de usuario o correo electrónico de tu cuenta de administrador.

Ingresa tu contraseña

Escribe la contraseña asociada a tu cuenta.

Haz clic en "Iniciar Sesión"

Al ingresar correctamente serás redirigido al Panel de Control.

⚠️

Si olvidaste tu contraseña, usa el enlace "Olvidé mi contraseña" disponible en la pantalla de login. Recibirás un correo con instrucciones para restablecerla.

📊 Panel de Control

El Panel de Control es la pantalla principal. Te muestra un resumen en tiempo real del estado de tu plataforma: uso de recursos del servidor, canales activos, usuarios conectados y estadísticas generales.

Panel de Control
📸 Panel de Control con métricas en tiempo real

Indicadores de la barra superior

En la parte de arriba del panel siempre verás los indicadores globales del servidor:

IndicadorDescripción
↓ MB/s (verde)Tráfico de entrada al servidor (datos recibidos).
↑ MB/s (naranja)Tráfico de salida del servidor (datos enviados a clientes).
💾 %Uso de memoria RAM del servidor.
⚙️ %Uso de procesador (CPU).

Tarjetas de resumen

TarjetaQué muestra
Cant. ConexionesNúmero de clientes viendo contenido en este momento.
UsuariosTotal de cuentas de usuario activas en el sistema.
Streams OnlineCanales de TV en vivo activos vs. total configurado.
Entrada / SalidaVelocidad de transferencia de datos actual del servidor.
Tiempo ActivoTiempo transcurrido desde el último reinicio del servidor.
Uso de CPU / MemoriaCarga actual de procesador y memoria del servidor.

Usuarios Activos

En la parte inferior del dashboard verás en tiempo real qué usuarios están viendo contenido, qué canal/película están consumiendo y desde qué dispositivo se conectaron.

Haz clic en "Actualizar" (botón superior derecho) para refrescar los datos manualmente, o activa el auto-refresco desde Configuración.

🖥️ Servidores

Desde la sección Servidores puedes ver y controlar los servidores de streaming que distribuyen el contenido a tus usuarios.

Gestión de Servidores
📸 Lista de servidores de streaming

Información de cada servidor

ColumnaDescripción
ServidorNombre identificador del servidor.
EstadoOnline / Offline — indica si el servidor está activo y respondiendo.
IP del ServidorDirección IP del servidor de streaming.
ConexionesConexiones activas vs. límite máximo configurado.
CPU / RAMUso actual de recursos del servidor.

Acciones disponibles sobre cada servidor

  • 🔄 Actualizar estado — recarga los datos del servidor.
  • ▶ Iniciar streams — arranca todos los canales asignados a ese servidor.
  • ⏹ Detener streams — detiene todos los canales del servidor.
  • ✏️ Editar — modifica la configuración del servidor.
  • ✕ Eliminar — elimina el servidor del panel (no borra el servidor físico).
⚠️

Detener un servidor corta el servicio a todos los usuarios conectados a él. Úsalo solo en mantenimientos planificados.

🔗 Conexiones Online

La vista de Conexiones Online muestra en tiempo real todas las sesiones activas: qué usuario está viendo qué contenido, desde qué IP y con qué dispositivo.

Conexiones Online
📸 Monitor de conexiones activas en tiempo real
ColumnaDescripción
EstadoEstado de la conexión (activa, finalizada).
UsuarioNombre del cliente conectado.
CanalCanal o contenido que está viendo.
ServidorServidor que está entregando el stream.
Agente de UsuarioTipo de dispositivo o aplicación que usa el cliente.
HoraHora de inicio de la conexión.
IPDirección IP del cliente.
PaísPaís de origen detectado por la IP.

Puedes filtrar por servidor usando el selector en la parte superior. Usa el botón "Modo Manual" para pausar el auto-refresco mientras revisas registros.

👥 Usuarios / Clientes

La sección Usuarios concentra toda la gestión de tus suscriptores: crear cuentas, configurar accesos, establecer fechas de vencimiento y asignar paquetes de contenido.

Lista de Usuarios
📸 Lista de clientes registrados en el sistema

Lista de Usuarios

La tabla muestra todos los clientes con su estado, fecha de vencimiento y número de conexiones simultáneas permitidas. Puedes buscar por nombre, filtrar por estado y ordenar por cualquier columna.

ColumnaDescripción
IDIdentificador único del usuario en el sistema.
UsuarioNombre de usuario (login) del cliente.
ContraseñaContraseña de acceso (oculta por defecto, haz clic en el ojo para verla).
EstadoPunto verde = activo / rojo = desactivado o vencido.
ExpiraciónFecha en que vence la suscripción. "Sin expiración" = cuenta permanente.
Conex.Máximo de pantallas/dispositivos simultáneos permitidos.

Crear un nuevo usuario

Agregar Cliente
📸 Formulario para crear una nueva cuenta de cliente

Haz clic en "+ Agregar Cliente" para abrir el formulario de creación. Tiene tres pestañas:

Pestaña: Detalles

CampoDescripción
Usuario *Nombre de usuario con el que el cliente iniciará sesión. No puede contener espacios.
Contraseña *Contraseña de acceso del cliente.
Correo del ClienteEmail para notificaciones. Al hacer clic en "Notificar" se envía la credencial al cliente.
Formato de SalidaHLS (reproductores móviles y web), MPEGTS (set-top boxes), RTMP (streaming profesional). Selecciona los formatos que el cliente puede usar.
PantallasNúmero máximo de dispositivos que pueden conectarse al mismo tiempo con esta cuenta.
VencimientoFecha hasta la que el cliente puede usar el servicio. Marca "Nunca" para una cuenta sin expiración.
Notas del UsuarioCampo libre para notas internas (el cliente no las ve).

Pestaña: Restricciones

Permite limitar el acceso del cliente por dirección IP o rango de red. Útil para clientes corporativos que deben acceder solo desde su red.

Pestaña: Grillas

Asigna al cliente uno o más paquetes de contenido (grillas). Esto define qué canales, películas y series puede ver.

Un usuario sin grilla asignada no podrá ver ningún contenido, aunque su cuenta esté activa. Asegúrate siempre de asignar al menos una grilla al crear la cuenta.

🗂️ Categorías

Las Categorías organizan el contenido (canales, películas, series) en grupos temáticos. Los clientes las ven en el reproductor para navegar más fácilmente.

Categorías de Canales
📸 Gestión de categorías de canales

Crear una categoría

Haz clic en "+ Agregar Categoría". Solo necesitas definir:

CampoDescripción
Nombre *Nombre de la categoría tal como aparecerá en el reproductor.
TipoIndica si es categoría de canales en vivo, películas o series.

Usa nombres descriptivos como "Noticias", "Deportes", "Infantil", "Películas de Acción". Evita nombres genéricos como "Cat1".

📦 Grillas (Paquetes de Contenido)

Una Grilla es un paquete de contenido: una selección de canales y/o series que se asigna a los usuarios. Es el elemento que conecta el contenido con los suscriptores.

Lista de Grillas
📸 Lista de paquetes de contenido: Básico (45 canales), Familiar (120 canales / 15 series), Premium (180 canales / 35 series), Deportes y Empresas

Cada grilla muestra cuántos canales y series incluye. Un usuario puede tener múltiples grillas asignadas al mismo tiempo, accediendo al contenido de todas ellas.

Crear una Grilla

Crear Grilla
📸 Formulario de grilla "Paquete Familiar" — pestañas Detalles, Canales, Películas, Series y Revisar
Pestaña / CampoDescripción
Nombre de Grilla *Nombre del paquete visible en el sistema (ej: "Paquete Básico", "Paquete Premium").
CanalesPestaña donde se seleccionan los canales de TV en vivo que incluye este paquete.
PelículasPestaña para agregar películas VOD accesibles con este paquete.
SeriesPestaña para seleccionar las series incluidas en el paquete.
RevisarVista previa del contenido total asignado a la grilla antes de guardar.
Pestaña Canales de la Grilla
📸 Pestaña Canales — botón indica canal ya incluido en la grilla, botón + indica canal disponible para agregar
ℹ️

Las películas individuales no se asignan por grilla sino por categoría. Si un usuario tiene acceso a la categoría de películas, verá todas las películas de esa categoría.

Flujo recomendado

Crea las categorías

Define las categorías temáticas antes de agregar canales.

Agrega los canales

Crea los canales y asígnalos a sus categorías correspondientes.

Crea las grillas

Agrupa los canales en paquetes según los planes de tu servicio.

Asigna grillas a usuarios

Al crear o editar un usuario, asigna las grillas correspondientes a su plan.

📺 Canales TV en Vivo

La sección Canales gestiona todos los canales de televisión en vivo de tu plataforma. Los canales se re-transmiten desde una fuente externa (URL de stream) hacia tus usuarios.

Lista de Canales
📸 Lista de canales con su estado en tiempo real

Estados de un canal

EstadoSignificado
● ONLINEEl canal está transmitiendo correctamente. Muestra el tiempo que lleva activo.
● STARTINGEl canal está iniciando, aún no genera señal estable.
● STOPPEDEl canal está detenido manualmente.
● DOWNEl canal falló. La fuente no responde o hay un error en el stream.
● ERRORError crítico en el procesamiento del canal.

Acciones sobre un canal

Cada canal tiene botones de acción rápida en la tabla:

  • ⏹ Detener — para la retransmisión del canal.
  • 🔄 Reiniciar — reinicia el canal (útil cuando está caído o con errores).
  • ✏️ Editar — abre el formulario de edición del canal.
  • ✕ Eliminar — borra el canal del sistema.
  • ▶ Reproducir — abre el reproductor interno para verificar que el canal funcione.

Crear un Canal

Crear Canal
📸 Formulario para agregar un nuevo canal

Pestaña: Detalles

CampoDescripción
Nombre del Canal *Nombre visible del canal para los usuarios (ej: "Canal 13", "ESPN").
URL del Stream *Dirección URL de la fuente del canal (M3U8, TS, RTMP, etc.). Puedes agregar múltiples URLs como respaldo usando el botón "+".
CategoríaCategoría a la que pertenece el canal (Noticias, Deportes, etc.).
Agregar a GrillaGrilla a la que se agrega directamente al crear el canal.
URL del LogoDirección URL del logo del canal (imagen PNG/JPG).
NotasCampo de texto libre para notas internas del administrador.

Pestaña: Avanzado

Permite configurar parámetros técnicos de la retransmisión: calidad de video, opciones de FFmpeg, modo de transmisión. No es necesario modificar estos valores en la mayoría de los casos.

Pestaña: Reinicio Automático

Define el comportamiento del canal cuando falla: cuántas veces intentar reiniciarlo, tiempo de espera entre intentos, etc.

Pestaña: EPG

Vincula el canal con una fuente de guía de programación electrónica (EPG) para mostrar qué programa está al aire.

Pestaña: Servidores

Selecciona en qué servidor(es) de streaming se transmitirá este canal.

Usa el botón "Importar M3U" para cargar múltiples canales desde una lista M3U en lugar de agregarlos uno por uno.

🎬 Películas (VOD)

La sección Películas gestiona el catálogo de Video On Demand (VOD): contenido que los usuarios pueden ver en cualquier momento, no en tiempo real.

Lista de Películas
📸 Gestión de películas en el catálogo VOD

Crear una Película

Agregar Película
📸 Formulario para agregar una película al catálogo
CampoDescripción
Nombre *Título de la película tal como aparecerá en el catálogo.
URL del Stream *URL del archivo de video (puede ser MP4, MKV, M3U8 u otro formato compatible).
CategoríaCategoría VOD a la que pertenece (Acción, Comedia, Drama, etc.).
ServidorServidor desde el que se sirve el archivo.
Descripción / InfoSinopsis o descripción de la película visible para el usuario.
Imagen de portadaURL de la imagen de presentación de la película.

Puedes usar el botón "Importar Películas" para cargar múltiples títulos desde un archivo de lista, ahorrando tiempo al construir un catálogo grande.

🎭 Series

La sección Series gestiona contenido serializado dividido en temporadas y episodios. Cada serie puede tener múltiples temporadas, y cada temporada múltiples episodios.

Lista de Series
📸 Gestión de series en el catálogo

Crear una Serie

Agregar Serie
📸 Formulario para agregar una nueva serie
CampoDescripción
Nombre *Título de la serie.
CategoríaCategoría temática de la serie.
DescripciónSinopsis de la serie.
Imagen de portadaURL del póster de la serie.
Año / ClasificaciónAño de estreno y clasificación de edad.

Gestionar Episodios

Una vez creada la serie, ve a Gestionar Episodios para agregar cada episodio indicando la temporada, número de episodio, título y URL del video.

Episodios
📸 Gestión de episodios por serie y temporada

📅 Guía de Programación (EPG)

El EPG (Electronic Program Guide) muestra a los usuarios qué programa está emitiendo cada canal en cada momento del día, similar a la grilla de programación de la TV tradicional.

EPG
📸 Gestión de fuentes EPG

Agregar una fuente EPG

Agregar EPG
📸 Configuración de una nueva fuente EPG
CampoDescripción
Nombre EPG *Nombre descriptivo para identificar la fuente (ej: "EPG Chile", "EPG Fútbol").
Fuente (URL) *URL del archivo XMLTV que contiene la guía de programación.
Días a mantenerCuántos días de programación se almacenan (recomendado: 3-7 días).
ℹ️

Después de agregar un EPG, usa el botón "Forzar Recarga de EPG" para importar la guía inmediatamente sin esperar al ciclo automático.

Una vez configurada la fuente, vincula cada canal con su ID de EPG correspondiente desde la pestaña EPG del formulario de edición del canal.

📋 Registros de Canales

Los Registros de Canales muestran el historial de eventos de cada canal: inicios, detenciones, reinicios, errores y tiempo de actividad. Son la herramienta principal para diagnosticar problemas en un canal.

Logs de Streams
📸 Registros de actividad de canales

Puedes filtrar los registros por canal, rango de fechas y tipo de evento. Esto es útil para investigar cuándo y por qué un canal tuvo problemas.

📝 Registros de Clientes

Los Registros de Clientes almacenan el historial de accesos de cada usuario: qué contenido vio, cuándo se conectó, desde qué IP y dispositivo, y por cuánto tiempo.

Logs de Clientes
📸 Historial de accesos de clientes

Usa este registro para detectar usos no autorizados de una cuenta (conexiones desde IPs o países inesperados) o para verificar el consumo de un cliente ante una reclamación.

📈 Actividad de Usuarios

La Actividad de Usuarios proporciona una vista consolidada del comportamiento de consumo de cada cliente: tiempo total de uso, contenidos más vistos y patrones de conexión.

Actividad de Usuarios
📸 Reporte de actividad de usuarios

⚙️ Configuración del Panel

La sección Configuración centraliza todos los ajustes de la plataforma. Se accede desde el ícono de engranaje (⚙️) en la barra superior. Está dividida en cinco pestañas: Servidor, Panel, Streaming, Correo y Telegram. Los cambios se guardan con el botón "Guardar" en la esquina superior derecha.

Pestaña: Servidor

Define la identidad y la zona horaria global de la plataforma. Estos valores afectan todos los módulos del panel.

Configuración - Servidor
📸 Pestaña Servidor — identidad y zona horaria del sistema
CampoDescripción
Nombre del servidor * Nombre con el que se identifica esta instancia de la plataforma. Aparece en el encabezado del panel, en los correos automáticos y en los registros del sistema. Ej: "TotalPlay Chile".
Zona horaria predeterminada * Zona horaria usada para mostrar fechas en registros, actividad de usuarios, EPG y tareas programadas. Se aplica a todo el panel y a los procesos del servidor principal. Ej: America/Santiago [CLST -03:00].

Configura la zona horaria correcta antes de empezar a operar. Una zona horaria incorrecta desalinea los registros y dificulta el diagnóstico de problemas.

Pestaña: Panel

Controla el comportamiento de la interfaz de administración: seguridad de acceso, integración con TMDb para metadatos de películas/series, y apariencia de las listas.

Configuración - Panel
📸 Pestaña Panel — comportamiento del panel administrativo

Credenciales del reproductor

Cuenta de usuario interna usada por el panel para funciones como la previsualización de canales desde el botón ▶ en la lista de canales.

CampoDescripción
UsuarioNombre de usuario de la cuenta interna del reproductor. Debe ser una cuenta existente con salida HLS habilitada.
ContraseñaContraseña de dicha cuenta. El ícono del ojo permite mostrarla u ocultarla.

Metadatos y TMDb

Configuración para buscar e importar automáticamente información (portadas, sinopsis, género, año) de películas y series desde The Movie Database.

CampoDescripción
Clave de API de TMDbToken de acceso a la API de TMDb. Se obtiene registrándose en themoviedb.org. Sin esta clave no funcionará la importación automática de metadatos.
Idioma de TMDbIdioma en que se obtienen los títulos, sinopsis y géneros de películas y series. Ej: Spanish para contenido en español.
Analizador de nombres de archivosMotor que interpreta el nombre de un archivo para extraer título, año, temporada y episodio antes de buscar en TMDb.
Python: más lento pero más preciso con nombres complejos.
PHP: más rápido pero puede fallar con nombres no estándar.

Seguridad de acceso

CampoDescripción
Cerrar sesión al cambiar la IPSi está activo, la sesión del administrador se invalida automáticamente cuando cambia su dirección IP. Protege contra robo de sesión, pero puede causar desconexiones con IPs dinámicas o Cloudflare.
Máximo de intentosNúmero de intentos de login fallidos antes de bloquear temporalmente al usuario. Usa 0 para no imponer límite (no recomendado en producción).
Longitud mínima de contraseñaCantidad mínima de caracteres exigida al crear o cambiar la contraseña de un usuario. El sistema de recuperación requiere al menos 8.

Interfaz y visualización

Campo / OpciónDescripción
Registros por páginaCantidad de filas mostradas por defecto en todas las tablas del panel (10, 25, 50, 250, 500, 1000). Valores altos pueden ralentizar el panel con catálogos grandes.
Intervalo de estadísticasCada cuántos segundos se actualizan los gráficos de estadísticas del dashboard. El valor predeterminado es 600 (10 minutos).
Estadísticas del panelActiva o desactiva el historial gráfico de conexiones en el Panel de Control.
Actualización automáticaCuando está activo, las listas compatibles (canales, conexiones) se refrescan solas sin necesidad de hacer clic en "Actualizar".
Descargar imágenes al servidorGuarda localmente en el servidor las portadas, fondos e íconos de canales y contenido VOD que normalmente se cargan desde URLs externas. Mejora la velocidad de carga pero ocupa espacio en disco.

Comunicación interna

OpciónDescripción
Usar API localCuando el panel y el servidor de streaming están en la misma máquina, activa esta opción para que la comunicación use 127.0.0.1 en lugar de la IP pública. Reduce latencia y evita que el tráfico interno salga a Internet.

Pestaña: Streaming

Controla cómo el servidor entrega el video a los clientes: protección de conexiones, distribución de carga entre servidores, parámetros técnicos de FFmpeg y videos de respaldo.

Configuración - Streaming
📸 Pestaña Streaming — parámetros de entrega de video y seguridad

Protección de conexiones

Campo / OpciónDescripción
Límite de conexiones por IPNúmero máximo de sesiones simultáneas desde una misma dirección IP. Útil para evitar que una IP sature el servidor. Usa 0 para desactivarlo.
IPs excluidas del límiteLista de IPs (separadas por coma) que no están sujetas al límite anterior. Ideal para IPs de oficina o NAT corporativo.
Expulsar usuarios después de (horas)Cierra automáticamente las sesiones de usuarios que llevan más de este número de horas conectados sin interrupción. Ayuda a liberar conexiones "fantasma".
Bloquear conexiones sin agente de usuarioRechaza peticiones de clientes que no informan qué aplicación están usando. Bloquea scrapers y bots automatizados.
Bloquear conexión desde una segunda IPImpide que la misma cuenta se use simultáneamente desde dos IPs distintas. Eficaz contra el compartir de credenciales.
Activar firewall XCHabilita las reglas internas de protección del protocolo IPTV Xtream Codes.
Mostrar proveedores de InternetMuestra el nombre del ISP del cliente en las conexiones activas y registros. Requiere base de datos de IPs actualizada.

Distribución y orden

CampoDescripción
Distribución de clientesEquitativa: reparte los clientes en partes iguales entre servidores. Según la carga: envía nuevos clientes al servidor menos ocupado.
Criterio de distribuciónQué métrica determina la "carga" de cada servidor: conexiones activas, límite máximo de clientes o velocidad de red disponible.
Orden de los canalesSegún la grilla: respeta el orden definido en la grilla asignada al usuario. Manual: usa el orden configurado individualmente en cada canal.
Usar nueva ordenación por grillaActiva el sistema actualizado de numeración y orden de canales (recomendado para instalaciones nuevas).
Identificar balanceadores mediante hashUsa identificadores hash en lugar de IPs para los nodos de balanceo de carga.

Análisis y reproducción (parámetros técnicos)

CampoDescripción
Búfer previo del clienteSegundos de video que el servidor acumula antes de empezar a enviarlo al cliente. Un valor mayor mejora la estabilidad pero aumenta el tiempo de inicio.
Búfer previo del retransmisorSegundos de búfer acumulados antes de iniciar la retransmisión del canal fuente.
Duración máxima de análisisTiempo en microsegundos que FFmpeg dedica a analizar el stream antes de comenzar a transmitir. Valor mayor = análisis más profundo pero inicio más lento.
Tamaño de sondeoCantidad de bytes que FFmpeg lee para identificar el formato del stream. Un valor más alto mejora la detección pero consume más memoria.
Retraso al iniciar el streamSegundos de espera antes de arrancar FFmpeg tras recibir una solicitud. Útil para evitar arranques en falso con fuentes lentas.
Intervalo de capacidad en líneaCada cuántos segundos el sistema actualiza el conteo de capacidad disponible en cada servidor.
Mantener conexiones persistentesReutiliza la conexión TCP con el cliente en lugar de cerrarla y abrirla en cada segmento. Reduce overhead pero puede causar problemas con algunos dispositivos.
Seleccionar IP RTMP aleatoriamenteAlterna entre las IPs RTMP disponibles de forma aleatoria para distribuir la carga de ingresos RTMP.
Usar búfer de NginxActiva el almacenamiento temporal en Nginx entre el servidor de streaming y el cliente. Suaviza la entrega pero agrega latencia.
Reiniciar al perder el audioCuando el monitor detecta que el canal dejó de tener pista de audio, reinicia automáticamente el proceso de FFmpeg.

Registros y reglas de línea

OpciónDescripción
Guardar historial de conexionesConserva en la base de datos el registro de cada sesión cerrada. Permite ver el historial completo en "Registros de Clientes". Puede ocupar bastante espacio en instalaciones con muchos usuarios.
Guardar registros de clientesGuarda eventos detallados de los reproductores (errores, solicitudes, cambios de canal).
Distinguir mayúsculas y minúsculasCuando está activo, el usuario "Admin" y "admin" son cuentas distintas.
Usar el primer país detectadoFija el país del usuario según la primera conexión registrada, ignorando cambios posteriores de IP.
Usar dominio principal en las listasAl generar listas M3U o URLs de stream, usa el dominio configurado en lugar de la IP directa del servidor.

Videos de contingencia

Archivos de video reproducidos cuando un canal o cuenta no puede entregar contenido normal. Deben estar alojados en el servidor como archivos MP4.

CampoDescripción
Video para canal fuera de servicioVideo mostrado cuando el canal está caído o en mantenimiento. Ej: pantalla con el logo y mensaje "Volvemos pronto".
Video para línea bloqueadaVideo mostrado cuando la cuenta del usuario está suspendida o bloqueada.
Video para línea vencidaVideo mostrado cuando la suscripción del usuario expiró. Ej: pantalla con mensaje "Renueva tu suscripción".

Acceso de red y mensaje

CampoDescripción
IPs autorizadas para streaming administrativoSolo estas IPs pueden acceder a los streams usando las credenciales internas del panel (reproductor interno).
IPs autorizadas para la APISolo estas IPs pueden llamar a la API del sistema. Déjalo vacío para permitir acceso desde cualquier IP.
Mensaje del díaTexto que se muestra en el panel al iniciar sesión. Útil para avisos de mantenimiento o novedades del servicio.
⚠️

Los parámetros técnicos de streaming (búfer, sondeo, análisis) tienen valores predeterminados óptimos. Modifícalos solo si tienes problemas específicos y sabes el efecto que producen.

Pestaña: Correo

Configura el servidor de correo (SMTP) que usa el panel para enviar notificaciones automáticas: bienvenida al registrar un usuario, recuperación de contraseña y alertas de vencimiento.

Configuración - Correo
📸 Pestaña Correo — configuración del servidor SMTP

Conexión SMTP

CampoDescripción
Servidor SMTP *Dirección del servidor de correo saliente. Ej: smtp.gmail.com, mail.tuempresa.com.
Puerto *Puerto de conexión al servidor SMTP.
587 → con cifrado STARTTLS
465 → con cifrado SSL/SMTPS
25 → sin cifrado (no recomendado)
CifradoSin cifrado: datos en texto plano (inseguro). STARTTLS/TLS: cifra la conexión después de iniciarla (puerto 587). SSL/SMTPS: cifra desde el inicio (puerto 465).

Autenticación SMTP

CampoDescripción
Usuario SMTPCorreo o nombre de usuario con el que el sistema se autentica en el servidor SMTP. Generalmente es la dirección de correo completa.
Contraseña SMTPContraseña de la cuenta SMTP. Si la dejas vacía al guardar, se conserva la contraseña ya guardada (no la borra).

Identidad del remitente

CampoDescripción
Correo remitenteDirección de correo que aparece en el campo "De:" de los mensajes enviados por el panel. Ej: soporte@tuempresa.com.
Nombre del remitenteNombre visible junto al correo remitente. Ej: "Soporte TotalPlay".

Verificar configuración

El botón "Enviar correo de prueba" envía un mensaje real al correo del administrador actualmente conectado. Si llega correctamente, la configuración SMTP está funcionando. Si no llega, revisa los datos de conexión y autenticación.

Guarda los cambios antes de usar "Enviar correo de prueba" para que la prueba use las credenciales recién ingresadas.

Pestaña: Telegram

Conecta el panel con un bot de Telegram para recibir alertas automáticas cuando un canal se cae o se recupera. No requiere instalar nada adicional — solo un bot de Telegram y un chat de destino.

Configuración - Telegram
📸 Pestaña Telegram — alertas automáticas por Telegram

Activar notificaciones

OpciónDescripción
Activar notificaciones de TelegramInterruptor principal. Cuando está apagado, no se envía ninguna alerta aunque el bot esté configurado.

Bot y destinatario

CampoDescripción
Token del botClave de autenticación del bot de Telegram. Se obtiene hablando con @BotFather en Telegram y creando un nuevo bot con el comando /newbot. Tiene el formato 123456789:AAF...
Identificador del chatID del chat, grupo o canal de Telegram donde el bot publicará las alertas. Los grupos privados tienen IDs negativos (ej: -1001234567890). Para obtenerlo, puedes usar el bot @userinfobot o @RawDataBot.

Eventos notificados

EventoDescripción
Canal fuera de servicioEnvía una alerta al chat cuando el monitor detecta que un canal se cayó (estado DOWN). Útil para reaccionar rápido ante problemas en fuentes.
Canal recuperadoNotifica cuando un canal que estaba caído volvió a funcionar correctamente.

Cómo configurar Telegram paso a paso

Crea el bot

Abre Telegram, busca @BotFather y envíale el mensaje /newbot. Sigue las instrucciones para darle un nombre y obtén el Token.

Crea o usa un grupo/canal

Crea un grupo de Telegram donde recibirás las alertas, o usa uno existente. Agrega el bot a ese grupo como administrador.

Obtén el ID del chat

Envía un mensaje en el grupo y luego abre @RawDataBot en Telegram para obtener el ID. Los grupos tienen ID negativo.

Ingresa los datos en el panel

Pega el Token y el ID del chat en los campos correspondientes, activa las notificaciones y guarda.

Prueba la configuración

Haz clic en "Enviar mensaje de prueba". Si el mensaje llega al grupo, la configuración es correcta.

Siempre guarda los cambios antes de enviar el mensaje de prueba, de lo contrario se usarán las credenciales anteriores.

💾 Respaldos

La sección Respaldos permite crear y gestionar copias de seguridad de la base de datos del sistema. Es fundamental realizarlos periódicamente para proteger la información ante cualquier fallo.

Respaldos
📸 Gestión de respaldos de la base de datos
ElementoDescripción
Respaldos AutomáticosActiva la creación automática de backups según la frecuencia configurada (diario, semanal, etc.).
Respaldos a ConservarNúmero máximo de archivos de backup a mantener. Los más antiguos se eliminan automáticamente.
Lista de backupsMuestra todos los respaldos disponibles con su fecha, nombre de archivo y tamaño.
Descargar (📥)Descarga el archivo de backup a tu computador.
Eliminar (✕)Borra el archivo de backup del servidor.
Crear Backup AhoraGenera un nuevo respaldo de la base de datos en ese instante, sin esperar al ciclo automático.

Se recomienda activar los Respaldos Automáticos y configurar al menos 7 copias a conservar. Descarga una copia a un lugar seguro (fuera del servidor) de forma regular.

🗄️ Base de Datos

La sección Base de Datos proporciona acceso directo a la base de datos del sistema a través de phpMiniAdmin, una herramienta web de administración de MySQL.

Base de Datos
📸 Acceso a la base de datos mediante phpMiniAdmin

Para acceder ingresa la contraseña de la base de datos y haz clic en Login. Una vez dentro podrás ejecutar consultas SQL, explorar tablas y realizar tareas de mantenimiento.

⚠️

Esta herramienta da acceso directo a toda la base de datos. Úsala solo si sabes lo que haces. Cualquier modificación incorrecta puede causar pérdida de datos o dejar el sistema inoperativo. Realiza siempre un respaldo antes de cualquier operación en la base de datos.

👤 Mi Perfil

Desde Mi Perfil puedes actualizar los datos de tu propia cuenta de administrador: nombre, correo electrónico y contraseña de acceso al panel.

Mi Perfil
📸 Formulario de edición de perfil del administrador

Se recomienda cambiar la contraseña de administrador periódicamente. Usa una contraseña fuerte con letras, números y símbolos.

Preguntas Frecuentes

Respuestas a las dudas más comunes al operar el panel TotalPlay. Haz clic en cada pregunta para ver la respuesta.

📺 Problemas con Canales

El estado DOWN significa que el monitor del canal detectó que FFmpeg terminó con error — es decir, la fuente del stream no está respondiendo o envió datos inválidos.

Causas más comunes:

  • La URL fuente del canal dejó de funcionar o cambió.
  • El proveedor del stream cortó la señal temporalmente.
  • Problema de red entre el servidor y la fuente.
  • La fuente usa un formato de video no soportado.

Qué hacer: Copia la URL del canal y pégala en un reproductor (VLC, por ejemplo) para comprobar si la fuente responde. Si no responde, el problema está en el proveedor. Si sí responde, usa el botón 🔄 Reiniciar en la lista de canales.

El estado STARTING significa que el proceso de FFmpeg arrancó pero aún no está generando señal estable. Puede quedarse así si:

  • La URL fuente responde pero tarda mucho en entregar datos (fuente lenta o con alta latencia).
  • El formato del stream es incompatible y FFmpeg no logra decodificarlo.
  • Los parámetros de análisis (probesize / stream_max_analyze) son muy bajos para esa fuente.

Qué hacer: Espera 2-3 minutos. Si no cambia a ONLINE, haz clic en ⏹ Detener y luego ▶ en la lista de canales para reiniciarlo. Si el problema persiste, prueba la URL en VLC.

Desde la sección Servidores, haz clic en el botón ▶ (Iniciar streams) del servidor correspondiente. Esto arranca todos los canales asignados a ese servidor de una vez.

Para detenerlos todos, usa el botón ⏹ en el mismo servidor. Úsalo con precaución — todos los usuarios perderán la señal mientras los canales reinician.

En la lista de canales, el estado ONLINE con un tiempo de uptime (ej: "01h 20m 45s") indica que el canal lleva ese tiempo transmitiendo sin interrupciones. A mayor uptime, más estable es la señal.

Para confirmar visualmente, haz clic en el botón ▶ Reproductor en la columna de acciones. Abrirá el canal en el reproductor interno del panel.

El contador de Clientes (columna verde) te muestra cuántos usuarios están viendo ese canal en este momento.

Sí. Al crear o editar un canal, en el campo URL del Stream hay un botón + que permite agregar URLs adicionales. El sistema intentará con la primera; si falla, pasará automáticamente a la siguiente.

Usa las flechas ▲▼ para cambiar el orden de prioridad de las fuentes.

En la sección Canales → Agregar Canal, haz clic en el botón "Importar M3U". Pega o proporciona la URL de una lista M3U y el sistema importará todos los canales que contiene, asignándoles automáticamente nombre, categoría y URL.

También puedes ir a Canales → Importar Canales desde el menú lateral para importar desde un archivo local.

👥 Problemas con Usuarios

Revisa estos puntos en orden:

  • Estado de la cuenta: en la lista de usuarios verifica que el punto de estado sea verde (activo). Si es rojo, la cuenta está desactivada o vencida.
  • Fecha de vencimiento: confirma que no haya expirado. Si venció, edita el usuario y extiende la fecha.
  • Grilla asignada: abre el usuario, ve a la pestaña Grillas y verifica que tenga al menos una grilla asignada. Sin grilla no hay contenido.
  • Formato de salida: confirma que el formato que usa el reproductor del cliente (HLS, MPEGTS o RTMP) esté habilitado en la cuenta.
  • Límite de pantallas: si el usuario tiene Pantallas = 1 y ya hay una sesión activa desde otro dispositivo, será bloqueado.

Tienes dos opciones:

  • Cambiar la fecha de vencimiento a una fecha pasada. El usuario queda inaccesible y cuando quieras reactivarlo simplemente extiende la fecha.
  • Poner la fecha de hoy como vencimiento. El acceso se corta inmediatamente al vencer.

No elimines el usuario si quieres mantener su historial — la desactivación por fecha es reversible.

En la lista de usuarios, haz clic en el botón ··· (Acciones) del usuario y selecciona Editar. En la pestaña Detalles encontrarás el campo contraseña. Cámbiala y guarda.

También puedes hacer clic en el ícono del ojo 👁 en la lista para ver la contraseña actual sin necesidad de editarla.

Tienes dos opciones según lo que necesites:

  • Conexión actual: ve a Servidores → Conexiones Online. Verás la IP, país y dispositivo de cada sesión activa en tiempo real.
  • Historial: ve a Registros de Clientes, busca el nombre del usuario y revisa sus conexiones pasadas con fecha, hora, IP y contenido visto.

Al crear un usuario, ingresa su Correo del Cliente y luego haz clic en el botón "Notificar" que aparece junto al campo de correo. El sistema enviará automáticamente un mensaje con el usuario y contraseña.

Para que esto funcione, el servidor de correo SMTP debe estar configurado en Configuración → Pestaña Correo.

En TotalPlay, Grilla y Paquete son el mismo concepto — la nomenclatura interna del sistema es "Grilla". Una grilla es un conjunto de canales y/o series que se asigna a uno o más usuarios para definir qué contenido pueden ver.

Un usuario puede tener múltiples grillas asignadas al mismo tiempo, accediendo al contenido de todas ellas combinadas.

🎬 Contenido VOD (Películas y Series)

El estado ERROR en una película significa que el servidor intentó acceder a la URL del archivo y no pudo. Las causas más comunes son:

  • La URL del archivo expiró o el hosting externo la eliminó.
  • El archivo fue movido a otra ruta.
  • El servidor no tiene acceso de red a la URL (problema de firewall o DNS).

Qué hacer: Edita la película, verifica que la URL esté correcta y activa. Puedes probarla pegándola en el navegador — si descarga o reproduce, está bien.

Hay dos causas posibles:

  • URL de portada vacía o inválida: edita la película y verifica que el campo de imagen tenga una URL que responda. Si usas TMDb para importar metadatos, las portadas se completan automáticamente.
  • "Descargar imágenes al servidor" desactivado: si las portadas vienen de URLs externas que luego expiran, activa esta opción en Configuración → Panel para guardar las imágenes localmente en el servidor.

El sistema se integra con The Movie Database (TMDb) para obtener metadatos automáticamente. Para usarlo:

  • Regístrate en themoviedb.org y obtén una clave de API gratuita.
  • Ingresa la clave en Configuración → Panel → Clave de API de TMDb.
  • Define el idioma preferido (Español recomendado para contenido latino).

Una vez configurado, al agregar una película el sistema buscará automáticamente su portada, sinopsis, género y año en TMDb usando el nombre del archivo.

No exactamente. Las películas individuales no se asignan por grilla — se organizan por categorías. Si un usuario tiene acceso a una categoría de películas (a través de su grilla), verá todas las películas de esa categoría.

Las series sí se asignan directamente en las grillas. Puedes seleccionar qué series incluye cada paquete en la pestaña Series del formulario de grilla.

Las películas no se borran automáticamente al eliminar su categoría — quedan sin categoría asignada y dejan de aparecer en el catálogo visible para los usuarios, pero siguen existiendo en la base de datos.

Antes de borrar una categoría, reasigna sus películas a otra categoría o elimínalas si ya no las necesitas.

🖥️ Sistema y Rendimiento

El contador de usuarios activos en el dashboard se actualiza automáticamente cada cierto intervalo. Si el contador tarda en reflejar conexiones reales:

  • Haz clic en "Actualizar" (botón azul superior derecho del dashboard).
  • Verifica que "Actualización automática" esté activa en Configuración → Panel.
  • Reduce el Intervalo de estadísticas a un valor menor (ej: 60 segundos) si necesitas datos más frescos.

Para ver en tiempo real usa Servidores → Conexiones Online, que muestra sesiones activas inmediatamente.

En la barra superior del panel siempre verás los indicadores de CPU y RAM. Si el CPU supera el 80% de forma sostenida o la RAM supera el 90%, el servidor está bajo alta carga.

En la sección Servidores, cada servidor muestra sus métricas de CPU y RAM en tiempo real, junto con el conteo Conexiones / Máximo. Si las conexiones se acercan al máximo configurado, considera agregar otro servidor o reducir el límite de canales activos.

Señales de saturación: canales que entran y salen de DOWN/STARTING frecuentemente, usuarios que reportan cortes, latencia alta en el panel administrativo.

Se recomienda:

  • Respaldo automático diario en instalaciones con cambios frecuentes (nuevos usuarios, canales o contenido).
  • Respaldo manual antes de cualquier cambio importante: actualización del sistema, borrado masivo de contenido, modificaciones en la base de datos.
  • Guarda al menos 7 respaldos (una semana) para poder revertir a un estado anterior si algo falla.
  • Descarga una copia a un lugar externo al servidor (Google Drive, NAS local) para protegerte ante fallo del disco del servidor.

Configura esto en Respaldos → Respaldos Automáticos.

Verifica estos pasos en orden:

  • EPG configurado: en EPG, confirma que haya al menos una fuente con URL válida. Usa "Forzar Recarga de EPG" para importar la guía ahora.
  • Canal vinculado al EPG: edita el canal, ve a la pestaña EPG y selecciona el ID de programa correspondiente de la fuente cargada. Sin este vínculo, el canal no muestra programación aunque el EPG esté cargado.
  • Zona horaria correcta: si la programación aparece pero con horarios incorrectos, verifica la zona horaria en Configuración → Servidor.

En la pantalla de login hay un enlace "¿Olvidaste tu contraseña?". Al hacer clic, el sistema te pedirá tu correo y enviará un enlace de restablecimiento.

Requisito: el servidor de correo SMTP debe estar configurado. Si no puedes acceder al correo registrado, contacta al administrador técnico del servidor para restablecer la contraseña directamente en la base de datos.

El enlace de restablecimiento expira en 30 minutos por seguridad.

La mayoría de los cambios de configuración tienen efecto inmediato. Si no ves cambios:

  • Limpia el caché del navegador (Ctrl+Shift+R) — algunas opciones de interfaz se aplican al recargar.
  • Verifica que el guardado fue exitoso: debería aparecer un mensaje verde de confirmación. Si apareció rojo, hubo un error — revisa los datos ingresados.
  • Parámetros de streaming (búfer, sondeo, FFmpeg): algunos solo se aplican cuando se reinicia el canal. Detén y vuelve a iniciar el canal afectado.
  • Configuración de correo o Telegram: usa los botones de prueba para verificar que los cambios guardados estén activos.

Sí. El panel administrativo es responsive y funciona desde navegadores móviles (Chrome, Safari). Sin embargo, para tareas de gestión intensiva (importación masiva, edición de múltiples canales) se recomienda usar una pantalla más grande para mayor comodidad.

Para visualizar el estado del sistema (dashboard, conexiones activas, estado de canales) desde el celular es perfectamente funcional.

TotalPlay Panel IPTV — Manual de Usuario © 2026 Versión 1.32