Télécharger un mp3 depuis une url YouTube dans le terminal (Ubuntu)

Effectuer une copie privée d’un morceau sur Youtube à l’aide de youtube-dl et du terminal d’Ubuntu

Installer le paquet youtube-dl

  1.  Ouvrir une fenêtre de terminal (CTRL+ALT+T) et entrez
    Sudo apt update

Cela va mettre à jour la liste des paquets depuis les dépôts Ubuntu, c’est pour être sûr d’installer la dernière version lors de l’étape suivante. Les commandes sudo nécessitent d’entrer le mot de passe Admin, c’est normal et dans ce cas ci, c’est plus ou moins fiable car le programme est open source, très utilisé et connu donc les nombreux utilisateurs signaleraient normalement la moindre trace de code malveillant. De plus, il provient des dépôts officiels d’Ubuntu ce qui est normalement un gage de fiabilité.

On peut vérifier ça simplement en allant sur la page GitHub ou est hébergé le code source de youtube-dl.

Le repository compte plus de 63 000 stars (équivalent like facebook) ce qui est assez conséquent !

  1. Pour installer youtube-dl : entrez (toujours de le terminal)
    Sudo apt install youtube-dl

Cela va installer le logiciel qui permet de télécharger des vidéos ou de l’audio depuis de très nombreuses plateformes, dont YouTube.

Pour être certain d’avoir la dernière version à jour  on peut toujours entrer :

    Sudo apt upgrade youtube-dl

Il se peut qu’à un moment donné, youtube-dl nous renvoie le msg : “video not found” alors que la video est disponible en ligne. Executer cette dernière commande pour bénéficier de la dernière version peut alors régler le problème.

Télécharger le mp3 en ligne de commande

Ensuite inscrire cette commande en une ligne (tu peux copier/coller cette ligne pour essayer) c’est un live de somebody to love de Queen, pris comme ça pour le test : 

youtube-dl -f bestaudio --extract-audio --audio-format mp3 --prefer-avconv --add-metadata --output "~/Musique/%(title)s.%(ext)s" https://www.youtube.com/watch?v=c7EukUo_kR4

Si tout se passe bien dans le terminal devrait commencer un processus, il télécharge d’abord la vidéo en mp4 je pense, puis extrait le son en mp3 et supprime ensuite la vidéo, je suppose que c’est pour avoir le meilleur audio possible. La chanson se trouvera dans “~/Musique/” ce qui devrait correspondre, dans ton dossier personnel d’Ubuntu au répertoire Musique avec l’icône de croches musicales. 

Pour télécharger une autre chanson simplement, ouvrir un terminal, (pour rappel, CTRL+ALT+T si tu l’as fermé entre temps). Ensuite remplacer l’adresse web de la commande ci dessus par la tienne. Ensuite, exécuter cette commande en l’entrant dans un terminal.

Script Bash pour télécharger et convertir automatiquement en mp3, une liste de liens YouTube contenus dans un fichier .txt

Le fichier texte doit être nommé “liens_youtube.txt” ou alors il faudra modifier le script ci-dessous en conséquence. Il faut que chaque nouveau lien soit écrit sur une nouvelle ligne. (voir capture).

Créer le fichier Bash qui va boucler à travers le fichier texte et exécuter la commande pour chaque ligne

Ouvrir l’éditeur de texte d’Ubuntu

Coller le code suivant (sous l’image d’illustration) :

#!/bin/bash
input="liens_youtube.txt"
while IFS= read -r line
do
  youtube-dl -f bestaudio --extract-audio --audio-format mp3 --prefer-avconv --add-metadata --output "~/Musique/%(title)s.%(ext)s" $line
done < "$input"

Le script va itérer à travers le fichiers et pour chaque ligne de ce fichier, exécuter la commande youtube-dl contenant les paramètre voulus.

Dans ce script, $line sera remplacé par le contenu de la ligne itérée. En l’occurrence il s’agit d’un lien de vidéo YouTube.

Enregistrer le fichier Bash

Et lui donner le nom que tu souhaites.
J’ai appelé le miens download_youtube_songs.sh

Attention, il faut l’enregistrer dans le dossier où se situe de fichier .txt listant les liens YouTube. Il faut également bien veiller à ne pas enregistrer le script Bash en .txt mais bien en “.sh

Une fois que c’est fait il “suffit” d’ouvrir le terminal et être bien situé dans le bon dossier. Normalement, un clic droit dans la fenêtre du dossier, au niveau de l’interface graphique, affiche un menu contextuel dont un des éléments est “Ouvril dans un terminal”. Cela a normalement pour effet d’ouvrir un terminal au niveau de ce dossier.

Sinon, pour plus de facilité, je te suggère de placer ton fichier texte contenant les liens et le script Bash au niveau du dossier « Musique » d’Ubuntu.

Imaginons que tout soit dans le dossier Musique. Pour exécuter le script, ouvre un terminal (CTRL+ALT+T) puis entre :

Cd ~/Musique

Ensuite tu peux faire un 

ls 

On visualise ainsi la liste des fichiers. Si ton dossier Musique ne contenait rien d’autre, tu devrais voir tes deux fichiers 

liens_youtube.txt
download_youtube_songs.sh

Exécuter le script Bash

C’est simple. En étant toujours situé au niveau du répertoire :

Entrer la commande suivante :

sh ~/download_youtube_songs.sh

Résultat final

Chez moi ça donne ça  dans le terminal (x le nombre de chansons)

Si il y a beaucoup de liens YouTube cela peut prendre un petit peu de temps, il va exécuter le processus décrit en début de ce document et le répéter pour chaque morceau de manière successive.

Quand il a fini, on peut fermer le terminal et aller voir dans le dossier Musique :

J’ai bien mes mp3.

Recommande cet article !

Sois informé en premier
des articles impavides !

Si tu as trouvé cet article utile que tu souhaites me supporter, je t’offre la possibilité de m’offrir un café (je te laisse déterminer le prix du café) via paypal.me/impavide

Auteur : Dan

I'm working as a Developer / IT support agent. I sing, play bass and guitar. I write and aggregate content on impavide.be

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.