# 🎯 Guía Rápida: Obtener Transcripts de YouTube usando Chrome ## ✅ Método Recomendado: Usar cookies desde Chrome directamente Este método es el **MÁS FÁCIL** porque no necesitas exportar cookies manualmente. yt-dlp lee las cookies directamente desde tu navegador. ### 📋 Requisitos - Chrome, Firefox o Brave instalado - Estar logueado en YouTube en el navegador - yt-dlp actualizado: `pip install -U yt-dlp` --- ## 🚀 Opción 1: Usar el script automático (Recomendado) ### Paso 1: Ejecutar el script ```bash ./get_transcript_chrome.sh VIDEO_ID ``` **Ejemplos:** ```bash # Usar perfil por defecto de Chrome ./get_transcript_chrome.sh K08TM4OVLyo # Especificar idioma ./get_transcript_chrome.sh K08TM4OVLyo es # Usar Firefox en lugar de Chrome ./get_transcript_chrome.sh K08TM4OVLyo es firefox # Usar un perfil específico de Chrome ./get_transcript_chrome.sh K08TM4OVLyo es chrome Default ./get_transcript_chrome.sh K08TM4OVLyo es chrome "Profile 1" ``` ### Paso 2: Resultado El script generará: - `VIDEO_ID.LANG.vtt` - Archivo de subtítulos - `VIDEO_ID_transcript.txt` - Texto plano del transcript --- ## 🔧 Opción 2: Comando manual de yt-dlp ### Comando básico ```bash yt-dlp --cookies-from-browser chrome \ --skip-download --write-auto-sub \ --sub-lang es --sub-format vtt \ -o "%(id)s.%(ext)s" \ "https://www.youtube.com/watch?v=VIDEO_ID" ``` ### Con perfil específico ```bash yt-dlp --cookies-from-browser "chrome:Profile 1" \ --skip-download --write-auto-sub \ --sub-lang es --sub-format vtt \ -o "%(id)s.%(ext)s" \ "https://www.youtube.com/watch?v=VIDEO_ID" ``` --- ## 📂 Encontrar tus perfiles de Chrome ### macOS: ```bash ls -la ~/Library/Application\ Support/Google/Chrome/ ``` ### Linux: ```bash ls -la ~/.config/google-chrome/ ``` ### Windows: ```cmd dir "%LOCALAPPDATA%\Google\Chrome\User Data" ``` Los perfiles típicos son: - `Default` - Perfil por defecto - `Profile 1`, `Profile 2`, etc. - Perfiles adicionales --- ## 🔍 Ver qué perfil estás usando en Chrome 1. Abre Chrome 2. Haz clic en tu avatar (esquina superior derecha) 3. El nombre del perfil aparece en el menú 4. O ve a `chrome://version/` y busca "Profile Path" --- ## ⚠️ Solución de Problemas ### Problema 1: "ERROR: Unable to extract cookies" **Solución**: Cierra Chrome completamente antes de ejecutar el comando. ```bash # macOS: Cerrar Chrome por completo killall "Google Chrome" # Luego ejecuta el comando ./get_transcript_chrome.sh VIDEO_ID ``` ### Problema 2: "HTTP Error 429" Significa que YouTube está bloqueando tu IP. **Soluciones**: 1. **Usa Tor/VPN** (más efectivo): ```bash # Instalar y arrancar Tor brew install tor && tor & # Usar con proxy yt-dlp --cookies-from-browser chrome \ --proxy "socks5h://127.0.0.1:9050" \ --skip-download --write-auto-sub \ --sub-lang es --sub-format vtt \ -o "%(id)s.%(ext)s" \ "https://www.youtube.com/watch?v=VIDEO_ID" ``` 2. **Espera unas horas** y vuelve a intentar 3. **Usa otra red** (móvil 4G/5G, otra WiFi) ### Problema 3: No se generan archivos Verifica que: - Estés logueado en YouTube en ese navegador - El video tenga subtítulos (prueba con otro video) - Tengas la última versión de yt-dlp: `pip install -U yt-dlp` --- ## 📖 Ejemplos Prácticos ### Obtener transcript de un video en vivo ```bash ./get_transcript_chrome.sh VIDEO_ID_EN_VIVO es chrome ``` ### Obtener en múltiples idiomas ```bash # Español ./get_transcript_chrome.sh VIDEO_ID es chrome # Inglés ./get_transcript_chrome.sh VIDEO_ID en chrome # Español (variantes latinoamericanas) yt-dlp --cookies-from-browser chrome \ --skip-download --write-auto-sub \ --sub-lang "es,es-419,es-MX" --sub-format vtt \ -o "%(id)s.%(ext)s" \ "https://www.youtube.com/watch?v=VIDEO_ID" ``` ### Convertir VTT a texto plano ```bash # Usando grep (rápido) grep -v "WEBVTT" VIDEO_ID.es.vtt | grep -v "^$" | grep -v "^[0-9][0-9]:" > transcript.txt # Usando el script de Python del proyecto python3 << 'EOF' from main import parse_subtitle_format with open('VIDEO_ID.es.vtt', 'r') as f: vtt = f.read() segments = parse_subtitle_format(vtt, 'vtt') text = '\n'.join([s['text'] for s in segments]) print(text) EOF ``` --- ## 🔗 Integración con la API Una vez que obtengas el archivo VTT, puedes subirlo al API: ```bash curl -X POST "http://127.0.0.1:8000/upload_vtt/VIDEO_ID" \ -F "file=@VIDEO_ID.es.vtt" | jq . ``` La API te devolverá: - `segments`: Array de segmentos parseados con timestamps - `text`: Texto concatenado completo - `count`: Número de segmentos --- ## 🎯 Resumen: ¿Qué método usar? | Situación | Método Recomendado | |-----------|-------------------| | **Uso diario, varios videos** | Script `get_transcript_chrome.sh` | | **Comando rápido, un video** | `yt-dlp --cookies-from-browser chrome ...` | | **Tienes HTTP 429** | Usar Tor/VPN + cookies desde Chrome | | **No puedes ejecutar comandos** | Subir VTT manualmente al API | --- ## 📞 Ayuda Adicional Ver documentación completa: `SOLUCION_HTTP_429_TRANSCRIPT.md` **Comando de ayuda del script:** ```bash ./get_transcript_chrome.sh ``` --- **Última actualización**: 2025-02-22