Ya estamos en verano y con el los viajes con amigos y las playlist comunes, si tenemos spotify premium esta tarea es sencilla y entretenida pero si prescindimos de el tenemos otras alternativas como youtube (siempre que no seamos muy exigentes con la calidad de la música…), en este post aprenderemos a descargar la música desde youtube utilizando youtube-dl, evitando tener que usar paginas de terceros.
Youtube-dl
Youtube-dl es un programa de linea de comandos que nos permite descargarnos videos de YouTube mediante el terminal (el software libre es maravilloso).
Lo primero que tenemos que hacer es ir a su pagina de github y descargamos el programa siguiendo los pasos:
https://github.com/ytdl-org/youtube-dl/
Lanzamos el comando de instalación (Antes tenemos que tener instalado HomeBrew):
brew install youtube-dl
También tenemos que descargarnos Ffmpeg para cambiar de formato cuando descarguemos playlist:
brew install FFmpeg
Hecho esto ya tendríamos youtube-dl en nuestro equipo totalmente funcional, veamos algunas funciones:
Descargar videos
Si por ejemplo quisiésemos descargarnos un video usaríamos el siguiente comando:
youtube-dl -f [formato] [URL del video]
youtube-dl -f mp4 https://www.youtube.com/watch?v=dQw4w9WgXcQ
Si todo ha ido bien la descarga se ha completado:
¡Pero no nos vamos a conformar con esto, vamos a ver mas opciones!
Si en lugar de ser video quisiésemos que fuese mp3 pues…
youtube-dl -f mp3
https://www.youtube.com/watch?v=dQw4w9WgXcQ
Fácil, ¿verdad?
Ahora vamos a lo que nos interesa porque no queremos descargarnos canción por canción, queremos una playlist entera. Si no sabemos hacer playlist en youtube es bastante fácil, solamente tenemos que tener una cuenta y cuando estemos en una canción que nos gusta añadirla a una nueva lista de reproducción de la siguiente forma:
Hacemos nuestra propia lista o como en mi caso podemos coger cualquiera que ya exista en youtube, una función muy interesante y poco usada de youtube es el filtro, podemos filtrar directamente por listas de reproducción:
Seleccionamos la que queramos, aunque es importante coger la URL de la PLAYLIST y no de una de las canciones, para que no haya error sabemos que es la url de una playlist porque en la url pone PLAYLIST, por ejemplo:
https://www.youtube.com/playlist?list=PLzj9mnQvkQDjSTU4hBHutJc7TmoJZZ5RL
Pues el paso final seria descargarnos toda la lista usando el siguiente comando:
youtube-dl --extract-audio --audio-format mp3 -o "%(title)s.%(ext)s" https://www.youtube.com/playlist?list=PLzj9mnQvkQDjSTU4hBHutJc7TmoJZZ5RL
¡Y listo! Esta es una forma sencilla y rapida de descargarnos listas de reproducción de youtube.
Si investigamos un poco podemos encontrar otras librerias para NodeJS que nos permiten descargarnos playlist de spotify aunque necesitamos una cuenta premium…
https://www.npmjs.com/package/spotify-playlist-downloader