viernes, 23 de febrero de 2018

Descargar videos de Youtube

Cada vez tengo más claro que en Youtube encuentras de todo y, aunque también, para descargas esporádicas, uso amule y qbittorrent, normalmente encuentro lo que necesito buscando en Youtube archivos multimedia.

El paso siguiente es descargarlo, para verlo cuando me apetezca, y no en directo, por streaming. Incluso pasar lo descargado a un pendrive, para verlo en las 32 pulgadas, o similar, de la tele. Y aquí viene el 'leitmotiv' de esta entrada.
Normalmente uso un complemento (extensión) de Firefox que te permite descargar estas cosas, se llama Video DownloadHelper (hay otras que deben ser parecidas, pero seguramente esta es la mejor)… y es sencilla de usar. Pero últimamente (desde que pasé al Firefox Quantum) tiene sus problemillas, no siempre lo hace bien, y se ha vuelto algo más complicada de usar, y además te tienes que descargar e instalar una herramienta externa (en formato *.deb) para poder descargar según qué videos.
Y, como estaba un poco incómodo con el tema, 'husmeando' descubrí el paquete ‘youtube-dl’. 

Youtube-dl es una herramienta ‘por línea de comandos’ basada en Python que te permite descargar el contenido multimedia no solo de Youtube sino también de muchas otras plataformas como Dailymotion, Google Video, Photobucket, Facebook, Yahoo, Metacafe, Depositfiles y algunos sitios similares, sin más que indicar el link (dirección web) del contenido deseado.
Quiero decir que el simple comando (por ejemplo)
youtube-dl https://www.youtube.com/watch?v=I6qWY-ghLvA
te descarga, en la ruta donde has abierto la consola, ese contenido (que, en el ejemplo, es una película de la serie Poirot-Agatha Christie) 

 Lo que pasa es que, puesto así, te descarga la versión de mejor calidad posible, suelen ser dos pasadas, y tarda un poco (o, más bien, e inexplicablemente, bastante).
Pero, para evitar esta lentitud, hay dos ordenes muy interesantes, que permiten convertir youtube-dl en una herramienta muy rápida para descargar videos

La primera es el comando ‘youtube-dl --list-formats linkyoutube'  
Para seguir con el ejemplo, si escribimos
youtube-dl --list-formats https://www.youtube.com/watch?v=I6qWY-ghLvA 

te indica los formatos disponibles para descargar, identificados por un número (el de la primera columna). Algo así... 

Y la segunda, el comando ‘youtube-dl -f códigoformato linkyoutube'
Y es que si escribes (sigo con el ejemplo)...
youtube-dl -f 43 https://www.youtube.com/watch?v=I6qWY-ghLvA
te descarga, en este caso, y muy rápidamente, un video en formato webm, en resolución 640x360 calidad media, y con un bitrate de audio de 128 kbps (que es lo que indica el ‘códigoformato: 43’)
NOTA ACLARATORIA: este formato, 'webm' que es el que ahora ofrece Youtube, junto con el MP4, es un formato libre, desarrollado por Google para usarse con HTML5, con un codec de video VP8 y un codec de audio Vorbis, a 128 kbps. Ofrece una calidad un poco mejor que su equivalente ofertado en MP4, de ahí que es bueno elegirlo.

Pero sobre todo es bueno porque, de esta forma, indicando el formato específico, la descarga del video es rapidísima.
Así que, con un sencillo ‘tipeo’, podemos descargar, muy rápidamente, por consola, y en la ruta donde la abramos, los videos de Youtube (y similar)

Y aún hay un truco mejor
Efectivamente, podemos crear un archivo de texto, que llamaremos, por ejemplo, youtubeLinks.txt copiando las direcciones web de los videos (o sea, los links) que nos queremos descargar. 
En nuestro editor Gedit, o el que sea, pondríamos una cosa como ésta...
#VIDEOS A DESCARGAR CON YOUTUBE-DL
https://www.youtube.com/watch?v=tWuBv4DDQvU
https://www.youtube.com/watch?v=mbqhrKnq1MA
https://www.youtube.com/watch?v=HjYI17RNn8k
# guardar este archivo con el nombre 'youtubeLinks.txt'
# y la orden por consola para descargar esos links sería...
# doc@debian:~$ youtube-dl -f 43 -a youtubeLinks.txt
y, como ahí se dice, lo guardamos como (por ejemplo) ‘youtubeLinks.txt’.
Así que, creado este archivo, si escribimos la orden...
youtube-dl -f 43 -a youtubeLinks.txt
veremos que nos va descargando todos los videos indicados en la ruta donde habíamos abierto la consola.
A hacer notar que, si se pone una lista de enlaces en formato txt  hay que poner delante '-a', cosa que no hay que hacer si pones, directamente, un link. Por ejemplo, para ver los formatos la orden sería...
youtube-dl --list-formats -a youtubeLinks.txt
A lo que voy es que, si vamos manteniendo el mismo archivo de texto, cambiando solamente los links que queramos descargar, como la orden siempre sería la misma… podemos crearnos un script como este
#!/bin/sh
youtube-dl -f 43 -a youtubeLinks.txt
# guardar este archivo con el nombre 'script_descargarVideos'
# crear el archivo 'youtubeLinks.txt con las direcciones web de los videos a descargar
# y esta sería la orden por consola para descargar esos links:
# doc@debian:~$ sh script_descargarVideos
# que se puede indicar en un Lanzador creado en el Escritorio
y, como ahí se dice, se puede crear un Lanzador, en el escritorio, para ejecutar el script con un simple doble clic de ratón.
NOTA IMPORTANTE
Como, al parecer, no siempre existe el ‘formato 43’ quizás convenga ejecutar, previamente, la orden
youtube-dl --list-formats -a youtubeLinks.txt
para saber los formatos disponibles. Porque, por ejemplo, si queremos bajarnos solo el audio de un clip musical, el código sería, seguramente, el 171. También puede crearse script, y un Lanzador en el escritorio, para facilitar esto.

Así que, en el fondo, para descargar, a la vez, varios archivos de video (o de audio) se reduciría a copiar, en ese momento, los links a descargar en un archivo de texto, que conservaremos como 'fijo' con nombre ‘youtubeLink.txt’, y ejecutar los lanzadores correspondientes.
O seguir usando la extensión Video DownloaderHelper, claro.

(NOTA FINAL: existe, según comenta el amigo Carlos Aranda en una entrada de su Blog, una interfaz gráfica para manejar youtube-dl, que se llama youtube-dlg. Desgraciadamente, no está en los repositorios de Debian, aunque se puede instalar su *.deb, como dice ahí. Yo lo he probado, pero no he visto muy claro cómo hay que configurarlo y, además, me da error en muchas descargas, así que la he tenido que desinstalar. Estaré atento a los acontecimientos…
(Y una pega final, que común a cualquier forma de descarga actual desde Youtube: si llevas a tu TV, en un pendrive, los videos descargados en formato WEBM o MP4, seguramente NO los reconoce, y habría que pasarlos, previamente, a AVI (con FFMPEG, o WinFF, o Avidemux…).
Vamos.un pequeño coñazo, ya que al parecer ahora Youtube no ofrece AVI, el tener que recodificar para ver estos videos en la tele… (porque, como es lógico, en el PC se verían perfectamente sin necesidad de convertirlos a AVI)

2 comentarios: