Comment utiliser et maitriser Youtube-dl pour télécharger des vidéos 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.
Première méthode avec curl :
sudo curl -L https://yt-dl.org/downloads/latest/youtube-dl -o /usr/local/bin/
youtube-dl sudo 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-dl sudo chmod a+rx /usr/local/bin/youtube-dl
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
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 !
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 identifiertitle
(string): Video titleurl
(string): Video URLext
(string): Video filename extensionalt_title
(string): A secondary title of the videodisplay_id
(string): An alternative identifier for the videouploader
(string): Full name of the video uploaderlicense
(string): License name the video is licensed undercreator
(string): The creator of the videorelease_date
(string): The date (YYYYMMDD) when the video was releasedtimestamp
(numeric): UNIX timestamp of the moment the video became availableupload_date
(string): Video upload date (YYYYMMDD)uploader_id
(string): Nickname or id of the video uploaderchannel
(string): Full name of the channel the video is uploaded onchannel_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.
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
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
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.
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.