307 lines
9.2 KiB
Markdown
307 lines
9.2 KiB
Markdown
# 📺 Guía Visual del Panel TubeScript
|
||
|
||
## Interfaz Principal
|
||
|
||
El panel de TubeScript está dividido en 3 pestañas principales:
|
||
|
||
### 🔍 Pestaña de Búsqueda
|
||
|
||
Esta pestaña permite buscar y seleccionar videos en vivo de YouTube.
|
||
|
||
**Funcionalidades:**
|
||
1. **Campo de búsqueda**: Ingresa términos como "noticias", "deportes", "gaming live"
|
||
2. **Botón Buscar**: Ejecuta la búsqueda en YouTube
|
||
3. **URL Directa**: Pega directamente la URL de un video de YouTube en vivo
|
||
4. **Resultados**: Lista de videos en vivo encontrados
|
||
5. **Vista previa**: Miniatura, título, canal del video seleccionado
|
||
6. **Indicador EN VIVO**: 🔴 Confirma que el video está transmitiendo
|
||
|
||
**Flujo de trabajo:**
|
||
```
|
||
Búsqueda → Resultados → Seleccionar → Vista Previa → Listo para transmitir
|
||
```
|
||
|
||
---
|
||
|
||
### 🎛️ Pestaña de Control
|
||
|
||
Centro de comando para gestionar tus transmisiones a múltiples plataformas.
|
||
|
||
**Tarjetas de Plataforma:**
|
||
|
||
Cada plataforma tiene su propia tarjeta con:
|
||
|
||
```
|
||
┌─────────────────────────────────┐
|
||
│ YouTube 🟢 │
|
||
│ Transmitiendo │
|
||
│ │
|
||
│ [▶️ Iniciar] [⏹️ Detener] │
|
||
└─────────────────────────────────┘
|
||
```
|
||
|
||
**Estados visuales:**
|
||
- 🟢 **Verde**: Transmisión activa y funcionando correctamente
|
||
- 🔴 **Rojo**: Error en la transmisión (revisar configuración)
|
||
- ⚫ **Gris**: Detenido (listo para iniciar)
|
||
- ⚠️ **Advertencia**: No configurado (falta RTMP URL o Stream Key)
|
||
|
||
**Botones de control:**
|
||
- **▶️ Iniciar**: Comienza la retransmisión a esa plataforma
|
||
- **⏹️ Detener**: Detiene la retransmisión de esa plataforma
|
||
|
||
**Transmisión simultánea:**
|
||
Puedes iniciar transmisiones a múltiples plataformas al mismo tiempo. Cada una se gestiona independientemente.
|
||
|
||
---
|
||
|
||
### 📊 Pestaña de Monitor
|
||
|
||
Panel de monitoreo en tiempo real de todas las transmisiones activas.
|
||
|
||
**Características:**
|
||
- **Auto-refresh**: Se actualiza automáticamente cada 5 segundos
|
||
- **Estado en tiempo real**: Muestra si cada stream está activo o tiene errores
|
||
- **Uptime**: Contador de tiempo desde que inició cada transmisión
|
||
- **Control rápido**: Botón para detener streams directamente desde el monitor
|
||
|
||
**Vista del Monitor:**
|
||
```
|
||
┌──────────────────────────────────────────────────────┐
|
||
│ Plataforma │ Estado │ Tiempo Activo │ [⏹️] │
|
||
├──────────────────────────────────────────────────────┤
|
||
│ YouTube │ 🟢 ACTIVO│ 00:15:32 │ [⏹️] │
|
||
│ Facebook │ 🟢 ACTIVO│ 00:15:28 │ [⏹️] │
|
||
│ Twitch │ 🟢 ACTIVO│ 00:14:45 │ [⏹️] │
|
||
└──────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
---
|
||
|
||
## ⚙️ Configuración en Barra Lateral
|
||
|
||
La barra lateral contiene toda la configuración de plataformas.
|
||
|
||
### Configuración por Plataforma
|
||
|
||
Cada plataforma tiene un expander con:
|
||
|
||
```
|
||
🎥 YouTube
|
||
├── RTMP URL: [ ]
|
||
├── Stream Key: [••••••••••••••••••••••••••••••••]
|
||
|
||
🎥 Facebook
|
||
├── RTMP URL: [ ]
|
||
├── Stream Key: [••••••••••••••••••••••••••••••••]
|
||
|
||
... (más plataformas)
|
||
```
|
||
|
||
### Plantillas RTMP
|
||
|
||
La sección de plantillas incluye ejemplos de configuración para:
|
||
- YouTube
|
||
- Facebook
|
||
- Twitch
|
||
- X (Twitter)
|
||
|
||
**Botón Guardar:**
|
||
Al terminar de configurar, haz clic en **💾 Guardar Configuración** para almacenar los cambios.
|
||
|
||
---
|
||
|
||
## 🔄 Flujo de Trabajo Completo
|
||
|
||
### 1. Primera vez
|
||
|
||
```mermaid
|
||
graph LR
|
||
A[Instalar FFmpeg] --> B[Ejecutar setup.sh]
|
||
B --> C[streamlit run streamlit_app.py]
|
||
C --> D[Configurar plataformas]
|
||
D --> E[Listo para usar]
|
||
```
|
||
|
||
### 2. Uso normal
|
||
|
||
```mermaid
|
||
graph TD
|
||
A[Abrir Panel] --> B[Configurar RTMP]
|
||
B --> C[Buscar video en vivo]
|
||
C --> D[Seleccionar video]
|
||
D --> E[Iniciar transmisiones]
|
||
E --> F[Monitorear estado]
|
||
F --> G{¿Continuar?}
|
||
G -->|Sí| F
|
||
G -->|No| H[Detener transmisiones]
|
||
```
|
||
|
||
---
|
||
|
||
## 🎯 Casos de Uso
|
||
|
||
### Caso 1: Retransmitir un Evento Deportivo
|
||
|
||
1. En **Búsqueda**, ingresa "mundial fútbol live"
|
||
2. Selecciona el partido que quieres retransmitir
|
||
3. En **Control**, inicia YouTube y Facebook
|
||
4. En **Monitor**, verifica que ambos estén 🟢
|
||
5. Deja corriendo, el monitor se actualiza solo
|
||
|
||
### Caso 2: Retransmitir Noticias 24/7
|
||
|
||
1. Obtén la URL de un canal de noticias en vivo
|
||
2. Pégala en el campo "URL directa"
|
||
3. Configura todas las plataformas que quieras
|
||
4. Inicia todas las transmisiones
|
||
5. El sistema seguirá retransmitiendo automáticamente
|
||
|
||
### Caso 3: Streaming Multi-Plataforma de Gaming
|
||
|
||
1. Busca un streamer popular en vivo
|
||
2. Selecciona su transmisión
|
||
3. Activa YouTube, Twitch, y Facebook
|
||
4. Monitorea en tiempo real
|
||
5. Si una plataforma falla (🔴), puedes reiniciarla individualmente
|
||
|
||
---
|
||
|
||
## 🔧 Personalización
|
||
|
||
### Ajustar Calidad de Video
|
||
|
||
Edita `streamlit_app.py`, función `start_ffmpeg_stream()`:
|
||
|
||
**Alta Calidad (requiere buen internet):**
|
||
```python
|
||
"-c:v", "libx264",
|
||
"-preset", "fast",
|
||
"-b:v", "6000k", # 6 Mbps
|
||
"-c:a", "aac",
|
||
"-b:a", "192k",
|
||
```
|
||
|
||
**Calidad Media (balanceada):**
|
||
```python
|
||
"-c:v", "libx264",
|
||
"-preset", "veryfast",
|
||
"-b:v", "3500k", # 3.5 Mbps
|
||
"-c:a", "aac",
|
||
"-b:a", "128k",
|
||
```
|
||
|
||
**Calidad Baja (internet limitado):**
|
||
```python
|
||
"-c:v", "libx264",
|
||
"-preset", "ultrafast",
|
||
"-b:v", "1500k", # 1.5 Mbps
|
||
"-c:a", "aac",
|
||
"-b:a", "96k",
|
||
```
|
||
|
||
**Copia Directa (sin recodificación):**
|
||
```python
|
||
"-c:v", "copy", # Copia el video sin recodificar
|
||
"-c:a", "copy", # Copia el audio sin recodificar
|
||
```
|
||
|
||
---
|
||
|
||
## 📊 Indicadores de Estado
|
||
|
||
### Semáforo de Estado
|
||
|
||
| Color | Estado | Significado | Acción |
|
||
|-------|--------|-------------|--------|
|
||
| 🟢 Verde | Activo | Transmitiendo correctamente | Ninguna |
|
||
| 🔴 Rojo | Error | Falló la transmisión | Revisar configuración o reiniciar |
|
||
| ⚫ Gris | Detenido | No está transmitiendo | Presionar ▶️ para iniciar |
|
||
| ⚠️ Amarillo | Advertencia | Falta configuración | Configurar RTMP y Stream Key |
|
||
|
||
### Mensajes Comunes
|
||
|
||
**"✅ Stream listo para transmitir"**
|
||
- Todo está configurado correctamente
|
||
- Puedes iniciar las transmisiones
|
||
|
||
**"ℹ️ Selecciona un video primero"**
|
||
- Ve a la pestaña de Búsqueda
|
||
- Selecciona o ingresa URL de video
|
||
|
||
**"❌ No se pudo obtener la URL del stream"**
|
||
- El video no está en vivo, o
|
||
- YouTube bloqueó la petición (intenta con cookies)
|
||
|
||
**"ℹ️ Configura RTMP y Stream Key"**
|
||
- Ve a la barra lateral
|
||
- Completa la configuración de esa plataforma
|
||
|
||
---
|
||
|
||
## 🚨 Solución Visual de Problemas
|
||
|
||
### Problema: Tarjeta muestra 🔴 Rojo
|
||
|
||
**Diagnóstico:**
|
||
1. Verifica RTMP URL en barra lateral
|
||
2. Verifica Stream Key (sin espacios extra)
|
||
3. Verifica que la plataforma permita streaming externo
|
||
4. Revisa que FFmpeg esté instalado: `ffmpeg -version`
|
||
|
||
**Solución:**
|
||
1. Detén la transmisión (⏹️)
|
||
2. Corrige la configuración en la barra lateral
|
||
3. Guarda la configuración (💾)
|
||
4. Recarga la página (F5)
|
||
5. Vuelve a iniciar (▶️)
|
||
|
||
### Problema: No aparecen resultados en la búsqueda
|
||
|
||
**Solución:**
|
||
1. Usa términos más específicos: "noticiero en vivo", "partido fútbol live"
|
||
2. Verifica tu conexión a internet
|
||
3. Intenta con URL directa en lugar de búsqueda
|
||
|
||
### Problema: El video no se reproduce en las plataformas
|
||
|
||
**Solución:**
|
||
1. Verifica que el video original siga en vivo (🔴)
|
||
2. Verifica tu ancho de banda de subida (necesitas ~5 Mbps por plataforma)
|
||
3. Reduce el número de plataformas simultáneas
|
||
4. Reduce la calidad del stream (ver sección Personalización)
|
||
|
||
---
|
||
|
||
## 💡 Tips y Trucos
|
||
|
||
### Tip 1: Búsqueda Efectiva
|
||
Use términos en inglés para encontrar más resultados: "news live", "sports live", "gaming live stream"
|
||
|
||
### Tip 2: Cookies para Videos Restringidos
|
||
Algunos videos requieren inicio de sesión. Exporta cookies de YouTube y colócalas en `cookies.txt`
|
||
|
||
### Tip 3: Monitoreo Continuo
|
||
Deja la pestaña de Monitor abierta. Se actualiza automáticamente cada 5 segundos.
|
||
|
||
### Tip 4: Transmisión de Prueba
|
||
Antes de un evento importante, haz una prueba con un video cualquiera para verificar que todo funcione.
|
||
|
||
### Tip 5: Backup
|
||
Si una plataforma falla, puedes detenerla y reiniciarla sin afectar las demás.
|
||
|
||
---
|
||
|
||
## 🎓 Glosario
|
||
|
||
- **RTMP**: Real-Time Messaging Protocol - Protocolo para streaming de video
|
||
- **Stream Key**: Clave secreta que identifica tu cuenta en cada plataforma
|
||
- **FFmpeg**: Software para procesar video y audio
|
||
- **yt-dlp**: Herramienta para descargar/extraer URLs de YouTube
|
||
- **Uptime**: Tiempo que lleva activa una transmisión
|
||
- **Bitrate**: Cantidad de datos por segundo (mayor = mejor calidad pero más internet)
|
||
|
||
---
|
||
|
||
**¿Necesitas más ayuda?** Consulta `README.md` para documentación completa o `QUICKSTART.md` para inicio rápido.
|