Volver a proyectosCaso destacado

Video Download App

Aplicación de escritorio en PyQt5 que hace más accesibles las descargas con yt-dlp y la conversión con FFmpeg sin depender de la terminal.

Contexto

Se construyó para volver accesible desde escritorio un stack de descarga de medios muy potente pero demasiado centrado en terminal, sobre todo en descargas repetidas y casos límite por plataforma.

Problema

yt-dlp es potente, pero recordar flags y pasos de postprocesado agrega fricción cuando solo quieres una descarga rápida o una conversión.

Solución

Se creó una interfaz gráfica alrededor de yt-dlp con postprocesado en FFmpeg para ofrecer un flujo explícito, repetible y fácil de usar.

Decisiones clave

  • -Se expusieron dentro de la app los flujos de instalación y actualización de FFmpeg, yt-dlp y aria2c en lugar de asumir un entorno ya configurado.
  • -Se añadieron pausa/reanudación, logs y entrada por lotes porque las descargas reales fallan, se estancan o crecen más allá de una sola URL.
  • -Se incluyó manejo específico para Twitch, playlists, cookies del navegador y client fallback para mejorar la tasa de éxito en fuentes más difíciles.

Capturas

Video Download App main window showing format and quality selectors
Download view
Settings pane for the Video Download App with output and post-processing options
Settings dialog

Características clave

  • -Descarga video o audio con yt-dlp
  • -Permite elegir formato y calidad entre las opciones disponibles
  • -Aplica postprocesado con FFmpeg para conversión o remux
  • -Ofrece un flujo de escritorio para descargas repetibles
  • -Incluye configuración simple y selección de salida

Resultados

  • -Convierte un flujo de medios centrado en CLI en un producto de escritorio más completo, con configuración, descarga y troubleshooting en un solo lugar.
  • -Muestra ingeniería práctica alrededor de tooling de terceros, casos límite y feedback al usuario.
  • -Hace que el proyecto sea más fuerte que un wrapper delgado de yt-dlp al cubrir instalación, reintentos y particularidades por plataforma.

Stack

PythonPyQt5yt-dlpFFmpeg

Enlaces