Linux Adictos Pablinux  

Vibe Coding, capítulo 3: toma su tiempo, pero a veces sí merece la pena

QtDLP, GUI para yt-dlp con Vobe Coding

El Vibe Coding está de moda, aunque sea sólo para jugar con una IA y el código que pueda generar. La primera vez que lo probé me creé una aplicación para navegar por YouTube, pero al abrir un vídeo, éste se mostraría en la opción nocookie. La segunda la usé para crearle a mi padre una página de efemérides, ya que la que usaba fallaba mucho y es un hobby personal suyo. Y aquí estoy con la tercera, una que me ha gustado de verdad, aunque se ha tomado su tiempo y aún no he podido comprobar que funcione al 100%.

Yo uso yt-dlp para bajar vídeos de YouTube y otras plataformas, e incluso ver vídeos sin descargarlos. No me quejo mucho, sobre todo si sólo quiero descargar un vídeo a su mayor calidad, pero cuando quiero descargar una opción de vídeo junto a otra de audio o vídeo o audio sólo, ahí ya me molesta un poco más. Hay muchas aplicaciones que sirven de interfaz para yt-dlp, como Stacher y decenas más, pero nada me convence. Así que pedí la mía.

Vibe Coding: frontend para yt-dlp

La historia de esta aplicación, el tercer episodio de Pablo y el Vibe Coding, empieza con el mencionado Stacher. La aplicación está muy bien, pero usa Electron, algo que prefiero no usar. Mirando las alternativas, muchas usan GTK y requieren dependencias para que haga más de lo que espero. Yo buscaba algo más sencillo:

  • Basada en Qt.
  • No debe instalar nada más. Yo ya tengo instalado pyqt6 por otras apps y ese era mi tope.
  • Espacio para poner el enlace.
  • Botones para descargar (lo que haría yt-dlp ENLACE), ver formatos y limpiar. El de limpiar no lo pedí, pero me lo añadió DeepSeek al decirle que no podía descargar un segundo vídeo sin cerrar la app.
  • Posibilidad de cancelar. Es algo que no tenía en cuenta en un principio, pero como en el momento de escribir estas líneas yt-dlp falla con error 403, entendí que era necesario por si algo fallaba o sencillamente queríamos detener el proceso.

Y en un principio eso era todo.

Se lo pedí a ChatGPT, y lo que me hizo fue feo, feísimo. Le pedí que añadiera la opción para elegir formatos (lo que haría de -f x+y para descargar vídeo por una parte, audio por otra y unir), y que para cada opción apareciera un botón. Me puso botones de radio y otras cosas y… bueno, me olvidé.

DeepSeek al rescate

Por curiosidad, cuando tenía tiempo, le pedí que arreglara lo que me había hecho ChatGPT a DeepSeek. De entrada, la IA china me mostró mejor diseño, y tras un par de prompts me mostró algo como lo que veis en la cabecera de este artículo.

Quedaron algunos retoques por hacer, en parte por el error 403 que se supone que aparece porque YouTube ha hecho cambios yt-dlp aún no se ha actualizado. De los últimos, el tamaño de los archivos, que en un principio aparecía como «desconocido».

En teoría, cuando una plataforma ofrezca vídeo y audio por separado, como YouTube, deberán aparecer botones para el vídeo y audio, sólo un botón por opción, y nos permitirá descargarlos y unirlos, algo de lo que se encarga yt-dlp.

Para terminar de redondearlo, cuando le dije a DeepSeek que no me gustaba que fuera tema claro, me añadió opción para claro y oscuro en el menú de arriba, y también un apartado con información sobre su funcionamiento. Y para rematar, aparecen ventanas emergentes informando de diferentes situaciones, como si ha habido un error. En la parte inferior se muestra la actividad, por lo que la aplicación es realmente completa.

Si sabes lo que quieres, tienes una app a medida gracias a la IA

Lo más importante de todo es tener claro qué es lo que quieres. Si lo sabes, el Vibe Coding te va a permitir hacer lo que quieras. En la app de YouTube, la que iba a la opción nocookie, sí que tuve que entender que ir atrás debería ser dos saltos en el historial, algo que tuve que arreglar yo. Pero en la segunda y la tercera, básicamente me centré en decir qué me gustaba y qué no, y este fronténd para yt-dlp me encanta.

Leave A Comment

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.