Un script en Python para descargar videos de YouTube de forma fácil y rápida usando yt-dlp
. Descarga automáticamente en calidad 720p (si está disponible) y guarda los videos en una carpeta organizada.
- ✅ Descarga en calidad 720p (o la mejor disponible)
- ✅ Soporte para videos individuales y playlists completas
- ✅ Vista previa del video antes de descargar (título, canal, duración)
- ✅ Descarga de subtítulos automática en español e inglés
- ✅ Interfaz interactiva con menú fácil de usar
- ✅ Uso desde línea de comandos para automatización
- ✅ Manejo de errores robusto
- ✅ Organización automática en carpeta
downloaded-videos
- Python 3.6 o superior
- Conexión a internet
# Navegar a la carpeta del proyecto
cd video-downloader
# Instalar dependencias
pip install -r requirements.txt
# Ejecutar el script para ver si funciona
python video_youtube_downloader.py
Ejecuta el script sin argumentos para acceder al menú interactivo:
python video_youtube_downloader.py
Opciones del menú:
- Descargar video individual - Pega una URL de un video
- Descargar playlist - Pega una URL de una playlist completa
- Salir - Termina el programa
Para uso rápido o automatización:
# Descargar un video individual
python video_youtube_downloader.py "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
# Descargar una playlist
python video_youtube_downloader.py "https://www.youtube.com/playlist?list=PLplaylistID"
python video_youtube_downloader.py
# Seleccionar opción 1
# Pegar: https://www.youtube.com/watch?v=dQw4w9WgXcQ
Salida esperada:
🔍 Obteniendo información del video...
📹 Título: Rick Astley - Never Gonna Give You Up
👤 Canal: Rick Astley
⏱️ Duración: 3:33
¿Descargar este video? (s/n): s
⬇️ Descargando 'Rick Astley - Never Gonna Give You Up'...
✅ Descarga completada: Rick Astley - Never Gonna Give You Up
python video_youtube_downloader.py
# Seleccionar opción 2
# Pegar URL de playlist
Salida esperada:
🔍 Obteniendo información de la playlist...
📂 Playlist: Mi Playlist Favorita
📹 Videos encontrados: 25
¿Descargar toda la playlist? (s/n): s
⬇️ Descargando playlist 'Mi Playlist Favorita'...
✅ Playlist descargada completamente
video-downloader/
├── video_youtube_downloader.py # Script principal
├── requirements.txt # Dependencias
├── README.md # Este archivo
└── downloaded-videos/ # Carpeta de descargas (se crea automáticamente)
├── Video 1.mp4
├── Video 2.mp4
├── Video 1.es.vtt # Subtítulos en español
├── Video 1.en.vtt # Subtítulos en inglés
└── ...
El script está configurado para descargar en 720p por defecto. Si quieres cambiar esto, edita la línea en get_download_options()
:
'format': 'best[height<=720]/best', # Actual: 720p máximo
'format': 'best[height<=1080]/best', # Para 1080p máximo
'format': 'worst', # Para la menor calidad
'format': 'best', # Para la mejor calidad disponible
- Video: MP4, WebM, MKV, etc.
- Audio: MP3, M4A, WebM, etc.
- Subtítulos: VTT, SRT
Por defecto descarga subtítulos en español e inglés. Para cambiar:
'subtitleslangs': ['es', 'en'], # Actual
'subtitleslangs': ['es', 'en', 'fr'], # Agregar francés
'subtitleslangs': ['all'], # Todos los idiomas disponibles
- Descarga un video individual
- Muestra información previa
- Pide confirmación antes de descargar
- Descarga todos los videos de una playlist
- Muestra cantidad de videos
- Pide confirmación antes de descargar
- Crea la carpeta
downloaded-videos
automáticamente - No da error si ya existe
- Configura todas las opciones de descarga
- Define calidad, formato, subtítulos, etc.
pip install yt-dlp
- Ejecuta como administrador en Windows
- Usa
sudo
en Linux/Mac
- Verifica que la URL sea correcta
- Algunos videos pueden estar geo-bloqueados
- Videos privados no se pueden descargar
- Verifica tu conexión a internet
- YouTube puede limitar la velocidad de descarga
- El script intentará automáticamente con diferentes formatos
- Algunos videos muy antiguos pueden no tener 720p
# Ver videos descargados
ls downloaded-videos/
# Ver espacio usado
du -sh downloaded-videos/
# Limpiar descargas
rm -rf downloaded-videos/*
# Actualizar yt-dlp
pip install --upgrade yt-dlp
- Videos individuales:
https://www.youtube.com/watch?v=VIDEO_ID
- Playlists:
https://www.youtube.com/playlist?list=PLAYLIST_ID
- Canales:
https://www.youtube.com/channel/CHANNEL_ID
- Videos cortos:
https://www.youtube.com/shorts/SHORT_ID
- URLs abreviadas:
https://youtu.be/VIDEO_ID
- Solo descarga contenido que tengas derecho a descargar
- Respeta los términos de servicio de YouTube
- No redistribuyas contenido con derechos de autor
- Uso personal y educativo recomendado
Si encuentras errores o quieres mejorar el script:
- Reporta errores con detalles específicos
- Sugiere nuevas funcionalidades
- Comparte casos de uso interesantes
Este script es de uso libre para propósitos educativos y personales.
¡Disfruta descargando tus videos favoritos! 🎉