Configuración de transmisión de vídeo
Configuración del servidor de vídeo
Ubicación: N/A (Server Configuration)
Camino del menú: N/A - Configuración del lado del servidor
Nivel de acceso: System Administrator / Acceso a la raíz del servidor
Última actualización: 2026-01-02
Sinopsis
Esta guía cubre la configuración completa del servidor de streaming WebRTC de LiveKit para la función de streaming de webcam en vivo de ComusThumbz. LiveKit permite streaming de vídeo de ultra-bajo-latencia (sub-segundo) de navegador a navegador, permitiendo a los creadores transmitir en directo desde sus webcams sin requerir software de streaming de terceros.
La función de streaming en vivo permite:
- Creadores para transmitir en directo desde
settings/golive.php - Visores para ver las corrientes en
watchstream.php - Chat interactivo con mensajes en tiempo real y consejos
- Shows privados con facturación por minuto token
- Control de acceso (libre, contraseña, sólo para suscriptores, PPV, puntas)
Estado: Diagrama mostrando: Navegador → Servidor LiveKit → Visores
Anotaciones: Mostrar el flujo WebRTC de la emisora al servidor a los espectadores
--
Requisitos del sistema
LiveKit requiere un servidor dedicado o VPS con puertos y recursos específicos. No puede funcionar en alojamiento compartido.
Requisitos del servidor
Puertos requeridos
Estos puertos deben estar abiertos en su cortafuegos para que LiveKit funcione:
Requisitos de PHP (ComusThumbz Server)
PHP requerido Extensiones
Herramientas externas
Requisitos de instalación
Configuración de Config (dat/config.inc.php)
Entradas de configuración de ejemplo:
Dependencias de archivos
Carpetas requeridas
Architecture Overview
Cómo funciona LiveKit Streaming
Video Track - Room Management - Video TrackAudio Track - Participant Auth - Audio Track
Data Channel - Media Relay - Chat Messages
Resumen de los componentes
Métodos de instalación
Método 1: Script de configuración automatizada (recomendado)
El script automatizado maneja la instalación, configuración y generación de clave API automáticamente.
Paso 1: Subir el script de configuración
Subir tools/setuplivekitserver.sh a su servidor de streaming.
Paso 2: Hacer ejecutable y correr
Corre con sudo
Paso 3: Seguir los problemas interactivos
El guión:
- Detectar su sistema operativo (Ubuntu/Debian)
- Instalar Docker si no está presente
- Configurar reglas de cortafuegos
- Autodetecta a tu público IP
- Generar claves de API
- Crear en vivo Configuración del kit
- Iniciar el contenedor LiveKit
- Actualice su configuración PHP
Paso 4: Tenga en cuenta sus credenciales
Al final, el script sale:
Guarda estas credenciales inmediatamente! Los necesitará para la configuración de PHP.
Método 2: Instalación manual (Debian 12)
Para el control manual o solución de problemas, siga estos pasos:
Paso 1: Instalar Docker
Instalar requisitos
Añadir Docker GPG llave
Agregar el repositorio Docker
Instala Docker
Inicio y habilitar Docker
Verificar la instalación
Paso 2: Configure Firewall
O iptables directamente
Paso 3: Generar claves de API
Generar Secret de API (32 bytes, base64)
Paso 4: Crear configuración de LiveKit
Crear /opt/livekit/livekit-config.yaml:
llaves:
habitación:
logging:
level: info
sample: false
Reemplazamiento
YOURPUBLICIP, YOURAPIKEY, y YOURAPISECRET con sus valores reales!Paso 5: Crear archivo Docker Compose
Crear /opt/livekit/docker-compose.yml:
servicios:
./livekit-config.yaml:/livekit.yaml:ro
Paso 6: Comience LiveKit
Verifica que está funcionando.
Configuración de producción
SSL/TLS Configuración con Nginx
Para la producción, Live Kit DEBE ser accedido a través de HTTPS/WSS para WebRTC para trabajar en los navegadores modernos.
Paso 1: Instalar Nginx y Certbot
Paso 2: Crear configuración Nginx
Crear /etc/nginx/sites-available/livekit:
Lugar en /etc/nginx/sites-disponible/livekit
Paso 3: Habilitar y obtener certificado SSL
Configuración de prueba
Obtenga certificado SSL
Restart Nginx
Configuración de PHP
Actualización config.inc.php
Añadir estas líneas a ct/dat/config.inc.php:
// API credentials (from setup script)
define('LIVEKITAPIKEY', 'APIxxxxxxxxxxxxx');
define('LIVEKITAPISECRET', 'your-32-byte-secret-key-here');
Enable Live Streaming Feature
Navigate a Panel de Admin → Ajustes → Modos de Característica y permitir:
featurelivestreaming- Activar/desactivar transmisión en vivo
O añadir directamente a la base de datos:
API Endpoints
El sistema de streaming en vivo proporciona estos puntos finales de API:
Stream Management
Chat " Interacciones
Control de acceso
Páginas de Frontend
Página de transmisión del Creador (settings/golive.php)
Características:
- Webcam vista previa y selección
- Selección de micrófonos
- Título y descripción de la secuencia
- Selección de tipo de acceso (gratuito, contraseña, suscriptores, PPV, punta)
- Panel de chat en tiempo real
- Notificaciones de propina
- Gestión de solicitudes privadas
- Visualización de cuenta de espectador
Requisitos de acceso:
- El usuario debe estar conectado
- El usuario debe tener
iscreator = 1tblCMSUsers featurelivestreamingdebe estar habilitado
Página de visualización (watchstream.php)
Características:
- Reproductor de vídeo en vivo
- Chat en tiempo real
- Tip enviando
- Solicitudes de demostración privadas
- Contador
- Barra lateral de perfil creador
Stream Directorylivestreams.php)
Características:
- Grid de corrientes activas
- Insignias de cuenta de espectador
- Creador avatares
- Avances de corriente (snapshots)
- Filtro por categoría
Prueba tu configuración
Paso 1: Verificar Servidor LiveKit
Registros de comprobación
Prueba WebSocket (debería devolver el error, lo que significa que está respondiendo)
Expected: {"code":"InvalidArgument"...}
Paso 2: Prueba de la consola del navegador
Abrir herramientas dev del navegador y ejecutar:
Paso 3: Prueba el flujo de trabajo completo
Inicie sesión como una cuenta creadora
- Navigate a
settings/golive.php - Haga clic en "Go Live" para empezar a emitir
- Abra una segunda ventana navegador/incognito
- Navigate a
livestreams.php - Haga clic en su flujo para ver
Tareas comunes
Restaring LiveKit
O reinicio completo
Ver los registros
Últimas 100 líneas
Actualizar LiveKit
Reinicie con nueva imagen
Checking Active Rooms
Solución de problemas
Errores comunes
Error: "LiveKit API key y secret must be configured"
Causa: LIVEKITAPIKEY o LIVEKITAPISECRET no definido en config.inc.php
Solución: Añada la configuración LiveKit a su archivo config.inc.php:
Error: "La conexión de WebSocket falló" o "Connection refused"
Causa: Puertos de bloqueo de cortafuegos o LiveKit no se ejecuta
Solución:
- Verificar en vivo Kit está corriendo:
docker ps | grep livekit - Comprueba el cortafuegos:
sudo ufw status - Puertos abiertos requeridos:
sudo ufw allow 7880/tcp - Compruebe la configuración proxy Nginx
Error: "Sólo los creadores activos pueden ir en directo"
Causa: El usuario no tiene estado creador
Solución:
- Check user has
iscreator = 1tblCMSUsers - Check tblCreatorProfiles tiene una entrada con
status = 'active'
Error: "Stream not connecting" (video no aparece)
Causa:Generalmente SSL/WSS desajustes o problemas de CORS
Solución:
- Asegurar la vida útilHOST utiliza
wss://para sitios HTTPS - Check Nginx Los encabezados WebSocket están configurados
- Verificar certificado SSL es válido
- Controle la consola del navegador para errores específicos
Error: "Token expired" o fallas de autenticación
Causa: Tiempo del servidor deriva o secreto de API incorrecto
Solución:
- Tiempo del servidor Sync:
sudo ntpdate pool.ntp.org - Verificar APILos partidos de SECRET en config.yaml y config.inc.php
- Tokens regenerados por la corriente de reiniciación
Lista de verificación de depuración
- LiveKit Container Running?
- ¿Portuajes abiertos?
- ¿Config Values Match?
- Check
livekit-config.yamlAPI key/secret - Check
config.inc.phpAPI key/secret - Deben ser idénticos.
- Nginx Proxying ¿Correcto?
- ¿Valide de certificado SSL?
Performance Tuning
Para los espectadores concurrentes
Modificar livekit-config.yaml:
habitación:
maxparticipantes: 5000 # Aumento de 1000
logging:
level: warn # Reduce logging overhead
Límites de recursos de Docker
Actualización docker-compose.yml:
- ./livekit-config.yaml:/livekit.yaml:ro
Consideraciones de seguridad
La transmisión en vivo implica video en tiempo real - la seguridad es crítica.
Buenas prácticas
- Utilice siempre HTTPS/WSS en producción
- WebRTC requiere contextos seguros en los navegadores modernos
- Usemos Encrypt para certificados SSL gratuitos
- Proteger las credenciales de API
- Nunca exponga LIVEKITAPISECRET en código de frontend
- Las fichas son generadas lado servidor solamente
- Limitación de la tasa de ejecución
- Prevención de chat basura
- Intentes de inicio de corriente limitada
- Monitor for abuse
- Metadatos de flujo de registro
- Examen de las corrientes comunicadas
- Configuración de firewall
- Sólo puertos abiertos requeridos
- Considere geoblocking si es necesario
Documentación relacionada
- Aplicación en curso -
.docs/LIVESTREAMINGIMPLEMENTATION.md - Configuración de LiveKit Inicio rápido -
.docs/LIVEKITSETUP.md - Guía de instalación de Debian 12 -
.docs/LIVEKITINSTALLDEBIAN12.md - Corrientes de corriente -
.docs/LIVESTREAMINGFIXES.md - Configuración Script -
tools/setuplivekitserver.sh
Pendientes translatables
Las siguientes claves de traducción son utilizadas por la función de streaming en vivo:
Instala la lista de verificación Script
- [ ] Docker instalado y funcionando
- [ ] Puertos de cortafuegos abiertos (7880, 7881, 50000-51000) --- Para el 50000-51000, esto puede necesitar ajustado como apertura tantos puertos no sólo un problema de seguridad, pero causará que el servidor de streaming falle en carga.
- [ ] Vivir Archivo de configuración de kit creado
- [ ] Docker Se ha creado un archivo
- [ ] Vivir Kit contenedor iniciado
- [ ] credenciales de API agregadas a config.inc.php
- [ ] Migración de bases de datos 018 aplicadas
- [ ] Migración de bases de datos 019 aplicadas (campos LiveKit)
- [ ] Proxy inverso Nginx configurado (producción)
- [ ] Certificado SSL obtenido (producción)
- [ ] Función activada
- [ ] Prueba de flujo exitoso