====== 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 [[https://github.com/ytdl-org/youtube-dl/blob/master/README.md#options|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 seulement 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 ''+''. Par exemple, 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 best https://[URL...] youtube-dl -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best' https://[URL...] :!: Attention pour ces dernières méthodes, il est nécessaire d'installer au préalable [[https://www.ffmpeg.org/|FFMPEG]] ou bien [[https://libav.org/|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. ===== Exemples d'utilisation ===== ==== Récupérer une liste de vidéos ==== youtube-dl -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best' --output "~/Downloads/%(title)s.%(ext)s" --ignore-errors --batch-file '~/Desktop/liste.txt' Un simple fichier .txt regroupant l'ensemble des liens à télécharger selon les conditions demandées, grâce à l'option ''--batch-file''. Attention par contre à la moindre erreur (lien brisé, vidéo absente, ...), youtube-dl stoppera le téléchargement, il est peut-être du coup nécéssaire d'ajouter l'option ''-i'' pour ignorer les erreurs et continuer les téléchargements. ==== Récupérer des vidéos AZURE STREAM ==== youtube-dl --merge-output-format mp4 "https://eus-streaming-video-rt-microsoft-com.akamaized.net/bba2a59a-8e1b-4ccf-88c2-b2e82d55e58e/243487f7-44d0-45b0-bf14-f711b775.ism/manifest(format=mpd-time-csf)" ==== Récupérer des vidéos BLOB (Tweeter) ====