Ceci est une ancienne révision du document !
YouTube-dl
youtube-dl est un programme en ligne de commande très puissant pour télécharger des vidéos provenant de YouTube ou de tout un tas d'autres plateformes ou sites. Python est nécessaire pour son execution.
Il fonctionnera sur votre Unix Box ou bien macOS ou Windows. Il est entièrement Open Source, il peut donc être modifié, redistribué à souhait.
youtube-dl [OPTIONS] URL [URL...]
Voir la liste des options.
Installation
Pour installer youtube-dl sur un système UNIX, entrer dans le Terminal :
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
Vous pouvez aussi 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
Sur macOS, il est aussi possible d'utiliser brew :
brew install youtube-dl
Les utilisateurs Windows devront télécharger sur le site du programme un fichier .EXE et le placer quelque part.
Sans oublier de spécifier son PATH, à l'exception de %SYSTEMROOT%\System32.
Utilisation
Options à connaître
-F, –list-formats : Lister tous les formats des flux audio et vidéo disponibles pour une URL
-r, –limit-rate : Limiter le débit du téléchargement (500K ou 3.5M par exemple)
-a, –batch-file : Fournir une liste d’URLs à télécharger via un fichier (une URL par ligne)
-i, –ignore-errors : Continuer si une erreur se produit lors d’un téléchargement, surtout utile quand on fournit une liste d’URLs à télécharger (–batch-file)
-o, –output : Nommer le fichier de sortie à partir de template, voir les exemples et la documentation
-x, –extract-audio : Extraire le flux audio
–audio-format : Spécifier le format audio de sortie (« best », « aac », « flac », « mp3 », « m4a », « opus », « vorbis », « wav », « best » par défaut)
–audio-quality : Spécifier la qualité audio de sortie (valeur entre 0 la meilleure et 9 la pire)
-f best : Télécharger le meilleur format mp4 disponible ou le meilleur format disponible si le mp4 n’est pas disponible, voir les exemples et la documentation.
-f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best' : idem (mais plus safe).
Processus
Pour faire simple avec un lien YouTube (par exemple), commencer par lister tous les formats possibles à télécharger :
youtube-dl -F https://[URL...]
Un tableau se génère comme ceci :
format code extension resolution note 249 webm audio only DASH audio 54k , opus @ 50k, 1.37MiB 250 webm audio only DASH audio 71k , opus @ 70k, 1.79MiB 171 webm audio only DASH audio 120k , vorbis@128k, 3.31MiB 140 m4a audio only DASH audio 128k , m4a_dash container, mp4a.40.2@128k, 3.73MiB 251 webm audio only DASH audio 140k , opus @160k, 3.61MiB 278 webm 256x144 144p 99k , webm container, vp9, 24fps, video only, 2.71MiB 160 mp4 256x144 144p 110k , avc1.4d400c, 24fps, video only, 3.01MiB 242 webm 426x240 240p 220k , vp9, 24fps, video only, 5.46MiB 133 mp4 426x240 240p 382k , avc1.4d4015, 24fps, video only, 8.05MiB 243 webm 640x360 360p 420k , vp9, 24fps, video only, 10.26MiB 244 webm 854x480 480p 753k , vp9, 24fps, video only, 18.11MiB 134 mp4 640x360 360p 762k , avc1.4d401e, 24fps, video only, 17.86MiB 135 mp4 854x480 480p 1302k , avc1.4d401e, 24fps, video only, 30.78MiB 247 webm 1280x720 720p 1535k , vp9, 24fps, video only, 36.72MiB 136 mp4 1280x720 720p 2326k , avc1.4d401f, 24fps, video only, 52.41MiB 248 webm 1920x1080 1080p 2700k , vp9, 24fps, video only, 62.83MiB 137 mp4 1920x1080 1080p 4390k , avc1.640028, 24fps, video only, 93.12MiB 18 mp4 640x360 medium 727k , avc1.42001E, mp4a.40.2@ 96k (44100Hz), 21.34MiB (best)
- Pour télécharger la vidéo en 1080p et en mp4, reporter le format code (ici) 137, précédé du drapeau
-f:
youtube-dl -f 137 https://[URL...]
- La méthode sera la même pour télécharger l'Audio seulement, exemple ici pour un fichier .m4a 128k :
youtube-dl -f 140 https://[URL...]
- Pour obtenir un fichier contenant Audio+Video, il faut reporter les deux codes des formats voulus, séparés par un signe
+. En reprenant les formats des deux exemples précédents :
youtube-dl -f 137+140 https://[URL...]
- On peut aller plus loin pour être certain d'avoir le mieux du meilleur :
youtube-dl -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best' https://[URL...]
Attention pour ces deux dernières méthodes, il est nécessaire d'installer au préalable FFMPEG ou bien avconv puisqu'il faudra convertir les deux fichiers pour les fusionner. Sur certains sites, notamment YouTube, les vidéos peuvent être récupérées dans un format de qualité supérieure sans son. youtube-dl détectera si avconv / ffmpeg est présent et choisira automatiquement la meilleure option.