# Nota: Streamlit eliminado > El panel Streamlit fue eliminado en esta rama; usa la API (FastAPI) para las operaciones. Las instrucciones siguientes han sido adaptadas para el modo API. # 🚀 Guía de Inicio Rápido - TubeScript Panel Web ## 📋 Prerequisitos Antes de iniciar, asegúrate de tener instalado: ### 1. FFmpeg (Requerido) **macOS:** ```bash brew install ffmpeg ``` **Linux:** ```bash sudo apt-get update sudo apt-get install ffmpeg ``` **Verificar instalación:** ```bash ffmpeg -version ``` ### 2. Python 3.11+ (Ya instalado) Verificar: ```bash python3 --version ``` ## ⚙️ Instalación 1. **Instalar dependencias Python:** ```bash cd /Users/cesarmendivil/Documents/Nextream/TubeScript-API pip3 install -r requirements.txt ``` 2. **Instalar FFmpeg si no está instalado:** ```bash brew install ffmpeg ``` ## 🎮 Iniciar el Panel Web ```bash streamlit run streamlit_app.py ``` El panel se abrirá automáticamente en: http://localhost:8501 ## 📝 Configuración Inicial ### Paso 1: Configurar Plataformas En la barra lateral del panel: 1. Expande cada plataforma (YouTube, Facebook, Twitch, etc.) 2. Ingresa la **RTMP URL** 3. Ingresa tu **Stream Key** 4. Haz clic en **Guardar Configuración** ### Ejemplos de Configuración: **YouTube Live:** - RTMP URL: `rtmp://a.rtmp.youtube.com/live2` - Stream Key: Obtén tu clave en YouTube Studio > Emisión en directo **Facebook Live:** - RTMP URL: `rtmps://live-api-s.facebook.com:443/rtmp/` - Stream Key: Obtén tu clave en Creator Studio > Video en directo **Twitch:** - RTMP URL: `rtmp://live.twitch.tv/app` - Stream Key: Obtén tu clave en Dashboard > Configuración **X (Twitter):** - RTMP URL: `rtmps://fa.contribute.live-video.net/app` - Stream Key: Obtén tu clave en Media Studio ### Paso 2: Buscar Video en Vivo En la pestaña **"🔍 Búsqueda"**: **Opción A - Buscar:** 1. Ingresa términos como "noticias", "deportes", "gaming" 2. Haz clic en **Buscar** 3. Selecciona un video de los resultados **Opción B - URL Directa:** 1. Copia la URL de un video de YouTube en vivo 2. Pégala en el campo "URL directa" 3. El video se seleccionará automáticamente ### Paso 3: Iniciar Transmisión En la pestaña **"🎛️ Control"**: 1. Verás tarjetas para cada plataforma configurada 2. Cada tarjeta muestra: - 🟢 Verde: Transmitiendo correctamente - 🔴 Rojo: Error en la transmisión - ⚫ Gris: Detenido 3. Haz clic en **▶️ Iniciar** en las plataformas donde quieras transmitir 4. Puedes transmitir simultáneamente a múltiples plataformas ### Paso 4: Monitorear Transmisiones En la pestaña **"📊 Monitor"**: - Visualiza todas las transmisiones activas - Ver tiempo de actividad (uptime) de cada stream - Estado actualizado automáticamente cada 5 segundos - Detener streams individuales desde aquí ## 🔧 Cookies de YouTube (Opcional) Para videos con restricciones geográficas o de edad: 1. Instala la extensión **"Get cookies.txt"** en Chrome/Firefox 2. Ve a youtube.com e inicia sesión 3. Exporta las cookies como `cookies.txt` 4. Guarda el archivo en: `/Users/cesarmendivil/Documents/Nextream/TubeScript-API/` ## 🐳 Uso con Docker Si prefieres usar Docker: ```bash # Construir la imagen docker build -t tubescript-api . # Iniciar con Docker Compose docker-compose up -d ``` Servicios disponibles: - API FastAPI: http://localhost:8080 - Panel Streamlit: http://localhost:8501 ## 🆘 Solución de Problemas ### Error: "No se pudo obtener la URL del stream" **Solución:** - Verifica que el video esté realmente en vivo (🔴 EN VIVO) - Intenta agregar cookies de YouTube - Verifica tu conexión a internet ### Error: "Transmisión con estado error" **Solución:** - Verifica que la RTMP URL sea correcta - Verifica que el Stream Key sea correcto - Asegúrate de que FFmpeg esté instalado: `ffmpeg -version` - Revisa que la plataforma permita streaming desde apps externas ### El video se congela o tiene buffering **Solución:** - Verifica tu ancho de banda de subida (necesitas al menos 5 Mbps por stream) - Reduce el número de plataformas simultáneas - En `streamlit_app.py`, edita el comando FFmpeg para reducir el bitrate: ```python # Cambiar: "-c:v", "copy", "-c:a", "copy", # Por: "-c:v", "libx264", "-preset", "veryfast", "-b:v", "2500k", # Bitrate reducido "-c:a", "aac", "-b:a", "128k", ``` ### FFmpeg no está instalado **macOS:** ```bash brew install ffmpeg ``` **Linux:** ```bash sudo apt-get install ffmpeg ``` **Verificar:** ```bash ffmpeg -version ``` ## 📊 API REST (Opcional) Si quieres usar la API REST directamente: ### Iniciar API: ```bash python3 main.py ``` O con uvicorn: ```bash uvicorn main:app --reload --host 0.0.0.0 --port 8000 ``` ### Endpoints: **Obtener URL de Stream:** ```bash curl http://localhost:8000/stream/VIDEO_ID ``` **Obtener Transcripción:** ```bash curl http://localhost:8000/transcript/VIDEO_ID?lang=es ``` ## 🔐 Seguridad ⚠️ **IMPORTANTE:** - Las Stream Keys se guardan en `stream_config.json` - Este archivo está en `.gitignore` por seguridad - **NUNCA compartas tu Stream Key con nadie** - **NUNCA subas `stream_config.json` a repositorios públicos** ## 📞 Soporte Si tienes problemas: 1. Lee la documentación completa en `README.md` 2. Verifica que todos los prerequisitos estén instalados 3. Abre un issue en el repositorio con: - Descripción del problema - Logs de error - Pasos para reproducir --- **¡Listo!** Ahora tienes un panel completo para retransmitir videos de YouTube en vivo a múltiples plataformas simultáneamente. **⚠️ Advertencia Legal:** Asegúrate de tener los derechos necesarios para retransmitir el contenido.