253 lines
5.6 KiB
Markdown
253 lines
5.6 KiB
Markdown
# 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.
|