#¿Cómo instalo yt-dlp-gui en Ubuntu?

¡Compañeros!

El cómputo sigue mas o menos las mismas premisas que la Política: no debemos perder el backend, ya que el front-end responde a las necesidades tácticas. Los principios han de ser inconmovibles, en tanto que el método con el cual llegamos a la acción puede variar fluidamente de acuerdo a la fluidez de la situación imperante.

Esto, que lo hemos reconocido y con lo cual operamos, también cuenta con un raciocinio que puede portarse a los sistemas similares a UNIX. Vean señores, muchas de las herramientas más útiles cuentan con una sencillez espartana, pero donde la complejidad de la tarea lo requiera, contaremos con herramientas mucho más complejas, y ello las hará difíciles de dominar.

yt-dlp es una de ellas. Sin duda este programa para terminal es excelso para bajar videos de YouTube desde la terminal (así como otros sitios de contenidos agregados). Y si bien su uso  es simple, una vez que demandamos extracciones de streams de audio por separado, diferentes codificaciones y demás, deja de ser moco de pavo.

Afortunadamente, podremos contar con un front-end gráfico que puede atemperar el problema al neófito. Tal es la tarea de yt-dlp-gui, una interfaz gráfica de usuario escrita en Python 3.9 que opera junto al yt-dlp y permite facilitar las operaciones de descargas de video.

Abrimos una terminal con Ctrl+Alt+t e ingresamos el siguiente bloque de comandos de organización para instalar todo lo necesario:

sudo apt update ;
sudo apt install ffmpeg -y
sudo wget https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -O /usr/local/bin/yt-dlp ;
sudo chmod a+rx /usr/local/bin/yt-dlp ;
sudo yt-dlp --update
cd ~ ;
git clone https://github.com/dsymbol/yt-dlp-gui ;
cd yt-dlp-gui ;
pip install -r requirements.txt ;
cd app ;
pyinstaller --name=yt-dlp-gui --clean -y app.py
cd ~/yt-dlp-gui/app/dist/
cp -r yt-dlp-gui/ ~/.local/bin/
Una vez instalada la interfaz, por comodidad deberíamos crear un lanzador. Para ello vamos a Sistema / Preferencias / Aspecto y comportamiento / Menú principal. En la ventana Menú Principal, podremos seleccionar la categoría de menú Aplicaciones / Internet, y a continuación presionar el botón "+Nuevo ítem". Este abrirá el cuadro de diálogo Crear Lanzador. En el campo Nombre de dicho cuadro asignar le al lanzador "yt-dlp-gui", mientras que en el campo Comando o Órden debemos asignar la ruta /home/usuario/.local/bin/yt-dlp-gui/yt-dlp-gui.

Ahora podremos lanzar yt-dlp-gui desde Aplicaciones / Internet / yt-dlp-gui, con lo cual se abrirá su ventana.

El uso del programa es bastante sencillo. Debemos pegar el link (URL) del video que queremos descargar en el campo Link. Asimismo, en el campo Path debemos indicar la carpeta donde irán a parar los ficheros descargados (por ejemplo, /home/usuario). 

Opcionalmente, el indicador Format nos desplegará un menú que nos permite escoger un formato preferido de descarga. La opción por defecto best elige el mejor, mp4 utiliza tal formato de video. Para audio y extracción de audio de un video contempla el formato mp3 (compresión con pérdida), wav (sin compresión), o flac (compresión sin pérdida).

En el campo filename podremos escoger un nombre de archivo a descargar (por ejemplo, video.mp4), o bien por defecto se indicaría una estructura de renombrado "%(title)s.(ext)s", que simplemente asigna el nombre o título de la pista de audio y la extensión escogida.

Una vez que incluimos la URL, ruta y nombre de archivo, podremos agregar el link  a la cola de descarga presionando el botón "+" ("agregar"). Para iniciar la carga de los links ingresados en la lista, presionamos el botón Descargar.

El yt-dlp-gui usará el programa yt-dlp para ir descargando secuencialmente los elementos según su posición están en la cola. Los archivos descargados quedarán en la carpeta que le solicitamos.

Es importante destacar que el módulo de descarga es siempre yt-dlp, y como tal este debe actualizarse manualmente para poder afrontar los desafíos que pudiesen surgir en los distintos agregadores de contenidos. Normalmente la actualización de dicho módulo no es automática, sino que debe realizarse manualmente en la terminal con el siguiente comando:

sudo yt-dlp --update

Una vez que esté instalado el programa, opcionalmente podríamos eliminar el clon local del repositorio con:

rm -r yt-dlp-gui/