Terminal : youtube-dl et yt-dlp

youtube-dl est un outil d'extraction de contenu de Youtube et d'autres fournisseurs de vidéos - il peux extraire de la vidéo mais aussi de l'audio ! yt-dlp est un fork de youtube-dl et il fait la même chose, avec des améliorations...
Utiliser youtube-dl ou yt-dlp pour télécharger du contenu : vidéos et musiques

Le site Youtube est tellement omniprésent qu'il devient difficile de le contourner. Aucune autre plateforme ne regroupe autant de données et peu d'entre nous peuvent en citer d'autres d'ailleurs.

Je veux simplement présenter des outils qui permettent de télécharger du contenu de cette plateforme. 

Pourquoi télécharger puisqu'il est justement accessible en permanence ?

Pour plusieurs raisons :

  • La première pour échapper à la pub
  • La deuxième pour ne pas avoir besoin de se connecter à internet pour voir ou écouter quelque chose
  • La troisième pour conserver simplement sur son poste (ou plus) quelques éléments qui nous intéressent particulièrement
  • La quatrième pour élaborer de petites playlist à emporter en voyage
  • Etc.

youtube-dl en ligne de commande uniquement

Avec youtube-dl on peut directement télécharger les vidéos du site. Ex : 

youtube-dl url
yt-dlp url

L'URL est celle qui s'affiche dans la fenêtre de votre navigateur lorsque vous regardez une vidéo en ligne

A partir d'ici, youtube-dl et yt-dlp peuvent être utilisées indifféremment !

Si l'on veut ne télécharger que la bande son : 

youtube-dl -x --audio-format mp3 --audio-quality 0 url

-x extraire l'audio

--audio-format "best", "aac", "flac", "mp3", "m4a", "opus", "vorbis", ou "wav"; "best" par défaut

--audio-quality qualité audio,  insérer une valeur entre 0 (la meilleure) and 9 (la pire) pour du VBR ou un bitrate spécifique comme  128k (5 par défaut)

Avec youtube-dl ou yt-dlp, je ne sais pas si la qualité demandée est toujours fournie ! Est-ce que Youtube a vraiment tous les formats de qualité à disposition et donc peut-on se fier à ce que l'on reçoit ? Si on demande du -b 320 est-ce qu'on a vraiment du 320 de bitrate ? Un mp3info ou un exiftool -Audiobitrate nous disent que oui, mais j'ai des doutes, non rationnels je sais bien !

Addendum 23 décembre 2020 ! (youtube-dl uniquement)

Attention, il y a un problème lors de la mise à jour !

J'ai voulu extraire un titre audio comme d'habitude, mais j'ai reçu un message d'erreur du style qu'il n'avait pas les droits de le faire ou quelque chose de proche. J'en ai déduit qu'il fallait le mettre à jour. J'ai donc installé la nouvelle version comme suit :

moi@mamachine:$ sudo wget https://yt-dl.org/downloads/latest/youtube-dl -O /usr/local/bin/youtube-dl
moi@mamachine:$ sudo chmod a+rx /usr/local/bin/youtube-dl

Mais lorsque j'ai essayé d'extraire à nouveau une musique, j'ai reçu le message suivant : youtube-dl /usr/bin/env: «python»: Aucun fichier ou dossier de ce type

Après recherches basé sur le contenu de ce message, j'ai fini par trouver la solution ici : https://mycyberuniverse.com/how-fix-python-no-such-file-or-directory.html

alors j'ai créé le symlink proposé :

moi@mamachine:$ sudo ln -s /usr/bin/python3 /usr/bin/python

... et ca a marché !

Donc attention aux mises à jour !!!

Autres mises à jour

Pour mettre à jour youtube-dl il faut au préalable avoir installé pip3... puis exécuter :

pip3 install --upgrade youtube-dl

Problèmes décembre 2021

J'ai eu quelques problèmes de téléchargement avec youtube-dl, il me répondait ceci :

youtube_dl.utils.ExtractorError: Could not find JS function 'na';

Apparemment il n'y a pas de correctif (voir ici) ! De plus il y a aussi des problèmes de vitesse de téléchargement ! Quelques fois, même pour des petit fichiers, le téléchargement est très lent ! Selon ce que j'ai pu lire sur github.com ce problème de vitesse n'est pas lié à un lien mais peut surgir à n'importe quel moment ! Donc j'ai finalement installé yt-dlp, puisqu'il semble ne pas avoir ces problèmes !

Sur le site docs.yt-dlp.org il y a de la doc pour l'installation : Installation de yt-dlp ici

23.12.2022 : le lien ci-dessus est cassé !

Pour consulter la doc sur l'installation, il faut aller voir ici : https://github.com/yt-dlp/yt-dlp/wiki/Installation