Aller au contenu
Korben, roi d’internet, logo bébé avec des lunettes en mode thug life

Comment utiliser et maitriser Youtube-dl pour télécharger des vidéos et des MP3 comme un champion ?

Hier, je vous parlais de l’outil Youtube-dl qui permet de télécharger des vidéos YouTube, mais pas uniquement !

Alors aujourd’hui, je vais plutôt vous apprendre à vous en servir.

Comment installer Youtube-dl

Alors déjà pour l’installation, si vous êtes sous Windows, vous allez devoir installer le Microsoft Visual C++ 2010 Redistributable Package (x86) puis vous procurer le binaire de Youtube-dl ici. Python est packagé dans le .exe donc pas la peine de l’installer.

Si vous êtes sous Linux ou macOS, vous pouvez installer Youtube-dl de différentes manières. Notez que vous devrez disposer de Python installé sur votre machine.

Capture d'écran de l'interface de Youtube-dl pour télécharger des vidéos

Première méthode avec curl :

sudo curl -L https://yt-dl.org/downloads/latest/youtube-dl -o /usr/local/bin/youtube-dlsudo chmod a+rx /usr/local/bin/youtube-dl

Si vous n’avez pas curl, vous pouvez utiliser wget :

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

Comment installer youtube-dl sur mac et Linux ?

Vous pouvez aussi utiliser pip si vous le souhaitez :

sudo pip install youtube_dl

Ou encore Homebrew pour ceux qui l’ont :

brew install youtube-dl

Et si vous biberonnez à Ubuntu :

sudo apt-get install youtube-dl

Comment mettre à jour youtube-dl sur Ubuntu ou n’importe quel autre Linux / macOS ?

Notez que lorsque vous aurez Youtube-dl installé, celui-ci évolue très vite, donc pensez bien à faire des mises à jour. Pour Windows, retournez télécharger le dernier .exe sur le lien que j’ai donné plus haut. Et pour les autres, utilisez la fonction de mise à jour comme ceci :

youtube-dl -U

Bon, maintenant comment est-ce qu’on se sert de ce petit truc ? Et bien je n’en sais rien du tout, débrouillez-vous !

Naaan, je déconne. On ne laisse pas les potes dans la galère. Alors j’ai envie de vous dire que pour utiliser Youtube-dl, et bien ça dépend de ce que vous voulez faire exactement. Mais je vais essayer de vous décrire les cas d’usages les plus fréquents, et ensuite, pour le reste, il faudra vous palucher la documentation.

Tout d’abord, un truc à vous mettre dans la tête : YOUTUBE-DL SUPPORTE PLEIN DE SITES DONT VOICI LA LISTE. C’est important de le préciser, car beaucoup pensent que ça ne fonctionne qu’avec Youtube et se galèrent avec d’autres outils ou d’autres services spécifiques à Vimeo, Dailymotion ou que sais-je.

Vous allez voir, y’a de quoi faire !

Comprendre comment fonctionne Youtube-DL et comment utiliser youtube-dl sous Windows / Linux / macOS ?

Télécharger une vidéo ou une playlist

C’est le plus simple. Il suffit d’entrer la commande en remplaçant URL_DE_LA_VIDEO par le lien de votre vidéo :

youtube-dl URL_DE_LA_VIDEO_OU_DE_LA_PLAYLIST

Si votre terminal vous renvoie une erreur de type

zsh: no matches found: URL_DE_LA_VIDEO

Mettez des guillemets atour de URL_DE_LA_VIDEO pour que ça passe.

Télécharger une vidéo ou une playlist au format MP4

C’est simple, il suffit de préciser le format mp4 comme ceci :

youtube-dl -f mp4 URL_DE_LA_VIDEO

Télécharger plusieurs vidéos

Pour cela, il suffit de mettre plusieurs URL à la suite.

youtube-dl URL_DE_LA_VIDEO URL_DE_LA_VIDEO2 URL_DE_LA_VIDEO3

Sinon, vous pouvez aussi mettre toutes les URLs dans un fichier texte et lancer le téléchargement de toutes les vidéos comme ceci :

 youtube-dl -a url.txt

Télécharger les vidéos d’une certaine taille

Si dans une playlist, vous ne voulez que les vidéos supérieures ou inférieures à XX Mo, voici quels paramètres utiliser. Remplacez le chiffre 100 par la taille désirée.

youtube-dl --min-filesize 100M URL_DE_LA_PLAYLIST
youtube-dl --max-filesize 100M URL_DE_LA_PLAYLIST

Personnaliser le nom de la vidéo que vous téléchargez

Alors pour ça, il faut savoir que youtube-dl transmet pas mal de critères en variables que vous pouvez utiliser dans vos commandes. Voici quelques-unes de ces variables :

  • id (string): Video identifier
  • title (string): Video title
  • url (string): Video URL
  • ext (string): Video filename extension
  • alt_title (string): A secondary title of the video
  • display_id (string): An alternative identifier for the video
  • uploader (string): Full name of the video uploader
  • license (string): License name the video is licensed under
  • creator (string): The creator of the video
  • release_date (string): The date (YYYYMMDD) when the video was released
  • timestamp (numeric): UNIX timestamp of the moment the video became available
  • upload_date (string): Video upload date (YYYYMMDD)
  • uploader_id (string): Nickname or id of the video uploader
  • channel (string): Full name of the channel the video is uploaded on
  • channel_id (string): Id of the channel

Il y en a beaucoup d’autres que vous pouvez trouver dans la documentation. Mais cela couplé au paramètre -o (pour output), va vous permettre de nommer automatiquement les fichiers récupérés.

Voici un exemple :

youtube-dl -o '%(title)s.%(ext)s' URL_DE_LA_VIDEO --restrict-filenames

Cela va télécharger la vidéo et la renommer avec le titre et son extension. Le paramètre « restrict-filenames » est important, car il permet d’éliminer les caractères exotiques.

Exemple de commande pour télécharger des MP3 avec Youtube-dl

Télécharger toutes les vidéos d’une playlist dans un dossier et les numéroter

youtube-dl -o '%(playlist)s/%(playlist_index)s - %(title)s.%(ext)s' https://www.youtube.com/playlist?list=ID_DE_LA_PLAYLIST 

Bref, vous comprenez le délire…

Télécharger certaines vidéos d’une playlist

Pour récupérer la vidéo n°XX d’une playlist, faites comme ceci :

youtube-dl --playlist-items XX URL_DE_LA_PLAYLIST

Vous pouvez aussi indiquer plusieurs numéros de vidéos dans la playlist

youtube-dl --playlist-items XX, YY, ZZ, AA, BB URL_DE_LA_PLAYLIST

Pour télécharger les vidéos d’une playlist en commençant à la XXème :

youtube-dl --playlist-start XX URL_DE_LA_PLAYLIST

Pour télécharger les vidéos d’une playlist en précisant un début et une fin de numéro de vidéos :

youtube-dl --playlist-start XX --playlist-end YY URL_DE_LA_PLAYLIST

Télécharger une vidéo et les informations liées (vignette, description…etc.)

Pour télécharger la vidéo ainsi qu’en annexe, l’ensemble des informations qui lui sont liées, comme la description (fichier texte), les annotations (format JSON), les sous-titres, la vignette (JPG), voici comment faire :

youtube-dl --write-description --write-info-json --write-annotations --write-sub --write-thumbnail URL_DE_LA_VIDEO

Télécharger des vidéos sorties avant, après ou à une certaine date

Pour récupérer les vidéos sorties à une date précise en remplaçant YYYYMMDD par la date. Par exemple 20191201:

youtube-dl --date YYYYMMDD URL_DE_LA_PLAYLIST

Vous pouvez télécharger des vidéos postées avant une certaine date :

youtube-dl --datebefore YYYYMMDD URL_DE_LA_PLAYLIST

Ou après une certaine date :

youtube-dl --dateafter YYYYMMDD URL_DE_LA_PLAYLIST

Ou alors toutes les vidéos uploadées depuis les 6 derniers mois.

youtube-dl --dateafter now-6months URL_DE_LA_PLAYLIST

Ces dates relatives (now-6months) peuvent être structurées en suivant ce pattern : (now|today)[+-][0-9](day|week|month|year)(s)?

Et pour télécharger des vidéos entre 2 dates :

youtube-dl --dateafter YYYYMMDD --datebefore YYYYMMDD URL_DE_LA_PLAYLIST
Image représentant une playlist de vidéos téléchargées avec Youtube-dl

Télécharger une vidéo ou une playlist protégée par mot de passe.

Il arrive parfois que la vidéo soit accessible uniquement lorsque vous êtes connecté à votre compte. Pour passer les identifiants au site, voici comment faire :

youtube-dl -u NOM_UTILISATEUR -p MOT_DE_PASSE -o URL_DE_LA_VIDEO

Télécharger uniquement l’audio

Si vous aimez écouter des audios en voiture ou dans les transports, pourquoi se limiter aux podcasts ? Il y a des tas de vidéos (conférences…etc.) où seul l’audio est important.

Pour récupérer uniquement le format audio, il faut utiliser le paramètre suivant :

youtube-dl -x URL_DE_LA_VIDEO

Parfois le format est un peu exotique (.opus), alors pour le passer en mp3, il suffit de rajouter le paramètre –audio-format

youtube-dl -x --audio-format mp3 URL_DE_LA_VIDEO

Télécharger une vidéo dans une qualité spécifique

Sur la plupart des sites, les vidéos sont proposées en différentes tailles. Par défaut, c’est la qualité maximum qui est téléchargée. Mais si vous voulez choisir, voici comment.

Il faut d’abord lister les formats proposés avec la commande :

youtube-dl -F URL_DE_LA_VIDEO

Vous obtiendrez alors une liste plus ou moins longue des formats disponibles (vidéo bien sûr, mais aussi audio seul) avec une colonne « format code ».

Récupérez le numéro de celle qui vous intéresse et téléchargez ce format spécifique uniquement comme ceci.

youtube-dl -f NUMERO_FORMAT_CODE URL_DE_LA_VIDEO

Vous pouvez aussi utiliser la commande suivante

youtube-dl -f PARAM_DE_QUALITE URL_DE_LA_VIDEO

En remplaçant PARAM_DE_QUALITE par l’un de ces paramètres :

  • best – La meilleure qualité vidéo et audio disponible
  • worst – La pire qualité vidéo et audio disponible
  • bestvideo – La meilleure qualité vidéo disponible
  • worstvideo – La pire qualité vidéo disponible
  • bestaudio – La meilleure qualité audio disponible
  • worstaudio – La pire qualité vidéo disponible

Comment reprendre un téléchargement interrompu

Si vous avez eu une coupure réseau lors de l’un de vos téléchargements, pas de panique. Vous pouvez reprendre un download interrompu avec la commande :

youtube-dl -cwi URL_DE_LA_VIDEO

Comment télécharger les sous-titres

Si la vidéo dispose de sous-titres, vous pouvez tous les télécharger avec la commande :

youtube-dl --all-subs --skip-download URL_DE_LA_VIDEO

Et si vous n’en voulez qu’un, il faut lister les sous-titres disponibles. Pour cela faites un :

youtube-dl --list-subs URL_DE_LA_VIDEO

Vous verrez alors une liste de sous-titres disponibles dans tout un tas de langages et de formats.

Ensuite pour télécharger la vidéo avec ses sous-titres dans la langue de votre choix. Remplacez XX par le code de la langue (en, fr, de…etc.)

youtube-dl --write-sub --sub-lang 'XX' URL_DE_LA_VIDEO
Capture d'écran d'un terminal avec l'affichage des informations de téléchargement de Youtube-dl

Comment avoir une interface graphique à Youtube-dl

Et si la ligne de commande vous gonfle, sachez qu’il existe une interface graphique pour Youtube-dl. Toutes les infos sont ici.

I4oXPWs

Conclusion

Vous l’aurez compris, Youtube-dl est un outil très puissant et je ne peux pas tout détailler. Cela dit si vous avez des lignes de commandes pertinentes à rajouter, contactez-moi et je les ajouterai à cet article. Et pour tout le reste, je vous invite à consulter la documentation de Youtube-dl ici.


Les articles du moment