YT-DLP GUI - Interfaz Gráfica para yt-dlp¶
Una interfaz gráfica moderna y fácil de usar para yt-dlp en Linux, desarrollada en Python con Tkinter.
🚀 Características¶
- Búsqueda integrada: Busca videos directamente en YouTube desde la aplicación
- Reproducción temporal: Descarga y reproduce videos sin guardarlos permanentemente
- Descarga permanente: Guarda videos y audio en tu carpeta de descargas
- Visualización de información: Muestra miniaturas, duración, canal, vistas y fecha de subida
- Múltiples formatos: Soporta video, solo audio (MP3) y automático
- Configuración persistente: Guarda tus preferencias entre sesiones
- Consola embebida: Muestra toda la salida de yt-dlp en tiempo real
- Nombres sanitizados: Convierte automáticamente espacios y caracteres especiales en nombres de archivo seguros
- Icono personalizable: Usa tu propio icono de 64x64 píxeles
📋 Requisitos¶
- Python 3.6 o superior
- yt-dlp
- PIL (Pillow) para mostrar miniaturas
- tkinter (incluido en la mayoría de instalaciones de Python)
- Un reproductor multimedia compatible con xdg-open
🔧 Instalación¶
-
Instala yt-dlp:
bash pip install yt-dlp -
Instala Pillow:
bash pip install Pillow -
Descarga el archivo:
bash wget https://raw.githubusercontent.com/tu-usuario/tu-repo/main/yt_dlp_gui.py chmod +x yt_dlp_gui.py -
Ejecuta la aplicación:
bash python3 yt_dlp_gui.py
🎯 Uso¶
Buscar Videos¶
- Escribe términos de búsqueda en el campo de texto
- Haz clic en "🔍 Buscar"
- Selecciona un video de la lista de resultados
Obtener Información¶
- Ingresa una URL o busca un video
- Haz clic en "ℹ️ Info" para ver detalles del video
- Se mostrará una ventana con miniatura, duración, canal, vistas y fecha
Descargar Videos¶
- Ingresa la URL o selecciona un video de la búsqueda
- Elige el formato (Video, Solo Audio, Automático)
- Haz clic en "⬇️ Descargar" para guardar permanentemente
Reproducir Temporalmente¶
- Ingresa la URL del video
- Haz clic en "▶️ Reproducir (temporal)"
- El video se descarga temporalmente y se reproduce automáticamente
- El archivo temporal se elimina después de la reproducción
Reproducir Último Descargado¶
- Haz clic en "🎬 Reproducir Último" para reproducir el último archivo descargado permanentemente
⚙️ Configuración¶
La aplicación crea automáticamente una carpeta de configuración en ~/.config/yt-dlp-gui/ que contiene:
config.json: Configuración de la aplicaciónultimo_descargado.txt: Información del último archivo descargadoicono.png: Icono personalizado (opcional, 64x64 píxeles)
Cambiar Carpeta de Descarga¶
- Haz clic en "📂 Cambiar carpeta"
- Selecciona la nueva carpeta de destino
- La configuración se guarda automáticamente
Icono Personalizado¶
Para usar tu propio icono:
1. Guarda un archivo PNG de 64x64 píxeles como icono.png
2. Colócalo en ~/.config/yt-dlp-gui/icono.png
3. Reinicia la aplicación
🔧 Formatos Disponibles¶
- Video: Descarga la mejor calidad de video disponible
- Solo Audio: Extrae solo el audio en formato MP3
- Automático: Deja que yt-dlp elija el mejor formato
🎨 Personalización Avanzada¶
Configuración del archivo JSON¶
El archivo config.json en ~/.config/yt-dlp-gui/ puede editarse manualmente para personalizar:
{
"carpeta_descarga": "/ruta/a/tu/carpeta",
"formato_predeterminado": "video",
"calidad_maxima": "1080p",
"extraer_subtitulos": true,
"idioma_subtitulos": "es",
"prefijo_nombres": "",
"usar_proxy": false,
"proxy_url": ""
}
Personalización Visual¶
- Icono personalizado: Coloca
icono.png(64x64px) en la carpeta de configuración - Tema de colores: Modifica las variables de color en el código fuente
- Tamaño de ventana: Se recuerda automáticamente entre sesiones
Modificar Comandos de yt-dlp¶
Puedes personalizar los comandos añadiendo parámetros en el código:
# Para mejor calidad de audio
cmd = ["yt-dlp", "-f", "bestaudio", "--audio-quality", "0"]
# Para incluir subtítulos
cmd = ["yt-dlp", "--write-sub", "--sub-lang", "es,en"]
# Para limitar velocidad
cmd = ["yt-dlp", "--limit-rate", "1M"]
Nomenclatura de Archivos¶
La función sanitizar_nombre() puede modificarse para cambiar cómo se renombran los archivos:
- Por defecto:
Video Title.mp4→Video-Title.mp4 - Personalizable: Añadir fechas, números, prefijos, etc.
📊 Información de Uso y Limitaciones¶
Límites y Consideraciones¶
Tamaño de archivos:
- Videos 4K pueden superar varios GB
- Audio en alta calidad: 100-300 MB por hora
- La aplicación no limita tamaños, pero considera el espacio en disco
Velocidad de descarga:
- Depende de tu conexión a internet
- Algunos sitios limitan la velocidad de descarga
- Videos populares suelen descargarse más rápido
Uso de recursos:
- CPU: Mínimo durante descargas, más uso durante conversión de audio
- RAM: 100-500 MB dependiendo del tamaño del video
- Disco: Archivos temporales duplican el espacio necesario durante procesamiento
Formatos y Calidades Específicas¶
Calidades de video disponibles:
- 4K (2160p) - Requiere mucho espacio y ancho de banda
- Full HD (1080p) - Balance ideal calidad/tamaño
- HD (720p) - Menor tamaño, buena calidad
- SD (480p, 360p) - Para conexiones lentas
Formatos de audio:
- MP3: Más compatible, menor calidad
- AAC: Mejor calidad, menor tamaño
- FLAC: Máxima calidad, archivos grandes
- OGG: Código abierto, buena compresión
Casos de Uso Específicos¶
Trabajar con streams en vivo:
- Algunos streams pueden descargarse mientras están activos
- La calidad final depende de la estabilidad del stream
- Archivos pueden cortarse si el stream se interrumpe
Descargar solo audio de videos musicales:
1. Selecciona "Solo Audio"
2. El archivo resultante será MP3
3. Metadatos como título y artista se preservan automáticamente
Gestión de archivos grandes:
- Videos 4K pueden tardar horas en descargarse
- La aplicación muestra progreso en tiempo real
- Puedes cerrar la aplicación; las descargas continúan en segundo plano
Troubleshooting de Uso Común¶
Video no disponible:
- Verifica que la URL sea correcta
- Algunos videos tienen restricciones geográficas
- Contenido privado o eliminado no es accesible
Audio desincronizado:
- Reinicia la descarga
- Prueba con formato "Automático"
- Algunos videos tienen problemas de origen
Descargas muy lentas:
- Cambia a una calidad menor
- Verifica tu conexión a internet
- Algunos sitios limitan la velocidad por IP
Archivos muy grandes:
- Usa "Solo Audio" para música
- Selecciona calidades menores (720p en lugar de 1080p)
- Limpia regularmente los archivos temporales
📁 Estructura de Archivos¶
~/.config/yt-dlp-gui/
├── config.json # Configuración de la aplicación
├── ultimo_descargado.txt # Último archivo descargado
└── icono.png # Icono personalizado (opcional)
🛠️ Solución de Problemas¶
Error: No se encuentra yt-dlp¶
pip install --upgrade yt-dlp
Error: PIL no encontrado¶
pip install Pillow
Error: No se puede reproducir el archivo¶
Instala un reproductor multimedia compatible:
# Ubuntu/Debian
sudo apt install vlc
# Fedora
sudo dnf install vlc
# Arch Linux
sudo pacman -S vlc
Los archivos no se reproducen¶
Verifica que tengas un reproductor multimedia configurado como predeterminado para el tipo de archivo.
🎨 Características Técnicas¶
- Sanitización de nombres: Convierte automáticamente espacios y caracteres especiales en guiones
- Hilos separados: Las operaciones de descarga no bloquean la interfaz
- Gestión de memoria: Las miniaturas se cargan de forma asíncrona
- Archivos temporales: La reproducción temporal limpia automáticamente los archivos
- Configuración JSON: Configuración legible y editable manualmente
📝 Diferencias Clave¶
- Descargar: Guarda el archivo permanentemente en tu carpeta de descargas
- Reproducir: Descarga temporalmente, reproduce y elimina el archivo automáticamente
- Solo las descargas permanentes se registran en "Reproducir Último"
🤝 Contribuciones¶
Las contribuciones son bienvenidas. Por favor:
1. Haz un fork del proyecto
2. Crea una rama para tu función
3. Envía un pull request con una descripción clara
📄 Licencia¶
Este proyecto utiliza las mismas licencias que el software subyacente (yt-dlp, Python, PIL).
🔗 Enlaces Relacionados¶
- yt-dlp - Descargador de videos
- Python - Lenguaje de programación
- Pillow - Biblioteca de imágenes para Python
Versión: 2.1
Compatibilidad: Linux
Requisitos: Python 3.6+, yt-dlp, PIL