5.1 KiB
5.1 KiB
🎯 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
./get_transcript_chrome.sh VIDEO_ID
Ejemplos:
# 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ítulosVIDEO_ID_transcript.txt- Texto plano del transcript
🔧 Opción 2: Comando manual de yt-dlp
Comando básico
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
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:
ls -la ~/Library/Application\ Support/Google/Chrome/
Linux:
ls -la ~/.config/google-chrome/
Windows:
dir "%LOCALAPPDATA%\Google\Chrome\User Data"
Los perfiles típicos son:
Default- Perfil por defectoProfile 1,Profile 2, etc. - Perfiles adicionales
🔍 Ver qué perfil estás usando en Chrome
- Abre Chrome
- Haz clic en tu avatar (esquina superior derecha)
- El nombre del perfil aparece en el menú
- 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.
# 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:
- Usa Tor/VPN (más efectivo):
# 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"
- Espera unas horas y vuelve a intentar
- 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
./get_transcript_chrome.sh VIDEO_ID_EN_VIVO es chrome
Obtener en múltiples idiomas
# 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
# 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:
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 timestampstext: Texto concatenado completocount: 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:
./get_transcript_chrome.sh
Última actualización: 2025-02-22