| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente |
| logiciels:youtube-dl [31/07/2019 13:03] – [INSTALLATION] Martin | logiciels:youtube-dl [16/06/2020 11:37] (Version actuelle) – [Récupérer une liste de vidéos] Martin |
|---|
| ====== YouTube-dl ====== | ====== 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.\\ | 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. | Il fonctionnera sur votre Unix Box ou bien macOS ou Windows. Il est entièrement Open Source, il peut donc être modifié, redistribué à souhait. |
| |
| <code>youtube-dl [OPTIONS] URL [URL...]</code> | <code bash>youtube-dl [OPTIONS] URL [URL...]</code> |
| |
| Voir la liste des [[https://github.com/ytdl-org/youtube-dl/blob/master/README.md#options|options]]. | Voir la liste des [[https://github.com/ytdl-org/youtube-dl/blob/master/README.md#options|options]]. |
| \\ | |
| \\ | ===== Installation ===== |
| ==== INSTALLATION ==== | |
| |
| Pour installer **youtube-dl** sur un système UNIX, entrer dans le **Terminal** : | Pour installer **youtube-dl** sur un système UNIX, entrer dans le **Terminal** : |
| \\ | \\ |
| \\ | \\ |
| ==== UTILISATION ==== | ===== 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 : | Pour faire simple avec un lien YouTube (par exemple), commencer par lister tous les formats possibles à télécharger : |
| |
| <code>youtube-dl -F https://[URL...]</code> | <code bash>youtube-dl -F https://[URL...]</code> |
| |
| Un tableau se génère comme ceci : | Un tableau se génère comme ceci : |
| <code>format code extension resolution note | <code bash>format code extension resolution note |
| 249 webm audio only DASH audio 54k , opus @ 50k, 1.37MiB | 249 webm audio only DASH audio 54k , opus @ 50k, 1.37MiB |
| 250 webm audio only DASH audio 71k , opus @ 70k, 1.79MiB | 250 webm audio only DASH audio 71k , opus @ 70k, 1.79MiB |
| </code> | </code> |
| |
| * Pour télécharger la vidéo en 1080p et en mp4, reporter le **format code** (ici) //137//, précédé du drapeau ''-f'' : | * 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'' : |
| <code>youtube-dl -f 137 https://[URL...]</code> | <code bash>youtube-dl -f 137 https://[URL...]</code> |
| | |
| | * La méthode sera la même pour télécharger l'audio seulement, exemple ici pour un fichier .m4a 128k : |
| | <code bash>youtube-dl -f 140 https://[URL...]</code> |
| | |
| | * 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 : |
| | <code bash>youtube-dl -f 137+140 https://[URL...]</code> |
| | |
| | * On peut aller plus loin pour être certain d'avoir le mieux du meilleur : |
| | <code bash>youtube-dl -f best https://[URL...]</code> |
| | <code bash>youtube-dl -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best' https://[URL...]</code> |
| | |
| | :!: 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 ==== |
| | |
| | <code bash>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'</code> |
| | |
| | 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 ==== |
| | <code bash>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)"</code> |
| |
| * La méthode sera la même pour télécharger l'Audio seulement, exemple ici pour un fichier .m4a 128k : | ==== Récupérer des vidéos BLOB (Tweeter) ==== |
| <code>youtube-dl -f 140 https://[URL...]</code> | |
| |
| * 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 : | |
| <code>youtube-dl -f 137+140 https://[URL...]</code> | |
| |
| * On peut aller plus loin pour être certain d'avoir le mieux du meilleur : | |
| <code>youtube-dl -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best' https://[URL...]</code> | |
| |
| :!: Attention pour ces deux 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. | |