Télécharger sa librairie YoutubeMusic avec Youtube-dl

Publié le 11 févr. 2023

J’utilise YoutubeMusic pour ma librairie de musique. C’est la solution la plus pratique que j’ai trouvée, même si elle a quelques côtés un peu bancaux:

Depuis Google Takeout, on a la possibilité d’extraire toutes la plupart des informations qui nous concernent et qu’ils possèdent.

Il suffit de télécharger notre extrait d’acte de présence depuis cette plateforme, pour se retrouver avec un bô fichier .csv, que youtube-dl se fera une plaisir de mâchonner allègrement.

Quelque chose comme ceci:

youtube-dl -x mp3 -a ./music-library-songs.csv

Le paramètre -a s’attend à trouver un fichier batch contenant les URLs. Le truc génial, c’est que même si la ligne est polluée par d’autres métadonnées inutiles, youtube-dl se concentre sur la première information valable.

Et ça marche. Ça se traîne (~50-80kB/s). Mais ça marche.

Pour améliorer un peu ce brol, on peut aussi décorer un peu les fichiers téléchargés, avec les options suivantes:

Et comme YoutubeMusic coupe aléatoirement certains téléchargements, on peut placer ceci dans une petite boucle Bash (en croisant les doigts pour que le copteur soit suffisant 😉) :

#!/bin/bash

counter=0

until [ $counter -gt 400 ]
do
	youtube-dl\
     --extract-audio\
     --audio-format mp3\
     --download-archive downloaded.txt
     -a ./music-library-songs.csv\
     --output "%(uploader)s%(title)s.%(ext)s"\
     --continue
done