Saltar a contenido

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

  1. Instala yt-dlp: bash pip install yt-dlp

  2. Instala Pillow: bash pip install Pillow

  3. Descarga el archivo: bash wget https://raw.githubusercontent.com/tu-usuario/tu-repo/main/yt_dlp_gui.py chmod +x yt_dlp_gui.py

  4. Ejecuta la aplicación: bash python3 yt_dlp_gui.py

🎯 Uso

Buscar Videos

  1. Escribe términos de búsqueda en el campo de texto
  2. Haz clic en "🔍 Buscar"
  3. Selecciona un video de la lista de resultados

Obtener Información

  1. Ingresa una URL o busca un video
  2. Haz clic en "ℹ️ Info" para ver detalles del video
  3. Se mostrará una ventana con miniatura, duración, canal, vistas y fecha

Descargar Videos

  1. Ingresa la URL o selecciona un video de la búsqueda
  2. Elige el formato (Video, Solo Audio, Automático)
  3. Haz clic en "⬇️ Descargar" para guardar permanentemente

Reproducir Temporalmente

  1. Ingresa la URL del video
  2. Haz clic en "▶️ Reproducir (temporal)"
  3. El video se descarga temporalmente y se reproduce automáticamente
  4. 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ón
  • ultimo_descargado.txt: Información del último archivo descargado
  • icono.png: Icono personalizado (opcional, 64x64 píxeles)

Cambiar Carpeta de Descarga

  1. Haz clic en "📂 Cambiar carpeta"
  2. Selecciona la nueva carpeta de destino
  3. 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.mp4Video-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