Comment télécharger des vidéos en ligne à partir de la ligne de commande Linux à l'aide de YouTube-DL

Comment télécharger des vidéos en ligne à partir de la ligne de commande Linux à l'aide de YouTube-DL

De nos jours, beaucoup de plateformes de partage de vidéos existent en ligne. Certains sont vraiment populaires, comme YouTube, et d'autres sont un peu plus «obscurs». Différents types de contenu peuvent être trouvés sur ces plateformes, mais il n'est pas toujours possible de les télécharger via l'interface Web native. Dans ce tutoriel, nous verrons comment utiliser un petit utilitaire de ligne de commande: youtube-dl. Cet utilitaire de ligne de commande est en mesure de télécharger lesdites vidéos pour nous en utilisant une syntaxe très simple. Le tutoriel suivant vise à démontrer les capacités du programme, mais il ne doit être utilisé que le cas échéant, afin de respecter les lois sur le droit d'auteur.

Dans ce tutoriel, vous apprendrez:

  • Comment installer youtube-dl
  • Comment télécharger des vidéos à l'aide de YouTube-DL
  • Comment répertorier les formats disponibles pour une vidéo
  • Comment télécharger un format spécifique
  • Comment diffuser une vidéo directement sur un lecteur multimédia
  • Comment enregistrer des fichiers téléchargés à l'aide de modèles de modèle
  • Comment spécifier des options dans le fichier de configuration YouTube-DL
Comment télécharger des vidéos en ligne à partir de la ligne de commande à l'aide de YouTube-DL

Exigences et conventions logicielles utilisées

Exigences logicielles et conventions de ligne de commande Linux
Catégorie Exigences, conventions ou version logicielle utilisée
Système Distribution indépendante
Logiciel youtube-dl
Autre Aucun
Conventions # - nécessite que les commandes Linux sont exécutées avec des privilèges racine soit directement en tant qu'utilisateur racine, soit par l'utilisation de Sudo commande
$ - Exige que les commandes Linux sont exécutées en tant qu'utilisateur non privilégié régulier

Installation

YouTube-DL est un petit utilitaire de ligne de commande écrite en python. Le logiciel prend en charge de nombreuses plateformes de partage de vidéos en ligne (voici la liste complète des sites pris en charge) et est disponible dans le référentiel des distributions Linux les plus utilisées telles que Fedora, Debian (et ses dérivés) et Archlinux. L'installer est juste une question d'invoquer le gestionnaire de packages de notre distribution préférée. Sur Fedora, par exemple, nous courions:

$ sudo dnf installer youtube-dl 

Sur Debian, nous exécuterions plutôt la commande suivante:

$ sudo apt-get update && sudo apt-get install youtube-dl 

Sur Archlinux, le package est contenu dans le communauté dépôt. Pour l'installer via Pac-Man Nous courions:

$ sudo pacman -sy youtube-dl 

Être un logiciel développé à Python est également possible pour l'obtenir via le gestionnaire de package de langage de programmation, pépin. Pour installer l'application uniquement pour l'utilisateur actuel, par exemple, nous pourrions exécuter la commande suivante (aucun privilège administratif nécessaire):

$ pip install youtube-dl --User 

Utilisation de base

L'utilisation de YouTube-DL est très simple. Sa syntaxe de base est la suivante:

URL YouTube-Dl [Options] 


Dites par exemple que nous voulons télécharger une vidéo à partir du Air Mozilla plateforme. Tout ce que nous avons à faire est d'invoquer le programme et de passer l'URL vidéo comme argument:

$ youtube-dl https: // mozilla.hébergé.panopto.com / panopto / pages / visionneuse.aspx?ID = EF87C31E-B5B9-45A7-99AD-ACA801514379 [Générique] Visionneuse: Demander un avertissement d'en-tête: Retour sur l'extracteur d'informations génériques. [générique] Visionneuse: téléchargement de la page Web [générique] Visionneuse: Extraction d'informations [Télécharger] Destination: / Home / Egdoc / Videos / The Joy of Coding - Episode 237 - 13 janvier 2021.mp4 [téléchargement] 100% de 1.84gib en 06:08 

Après avoir lancé la commande ci-dessus, nous devrions trouver le fichier vidéo dans notre répertoire de travail.

Listing des formats vidéo disponibles

Par défaut YouTube-DL, essaie de télécharger le meilleur format disponible pour la vidéo spécifiée. Dans certains cas, cependant, nous voulons peut-être obtenir la liste de toutes les disponibles. Tout ce que nous avons à faire pour accomplir cette tâche est d'invoquer la demande avec le -F Option, (abréviation pour --formats de liste). Voyons un exemple à l'aide d'une URL YouTube (la vidéo
provient du linuxconfig.canal de l'organisation):

$ youtube-dl -f https: // www.Youtube.com / watch?v = iyocjk3pa4w [youtube] iyocjk3pa4w: téléchargement webpage [youtube] iyocjk3pa4w: téléchargement MPD manifeste [info] formats disponibles pour iyocjk3pa4w: format de codes de résolution note 251 webm audio uniquement audio 3k, webm_dash Audio uniquement Dash Audio 49K, conteneur M4A_DASH, MP4A.40.5 @ 48K (22050Hz) 140 M4A Audio uniquement Dash Audio 130K, conteneur M4A_DASH, MP4A.40.2 @ 128K (44100Hz) 134 MP4 570X360 DASH VIDEO 15K, MP4_DASH Container, AVC1.4d401e, 30fps, vidéo seulement 136 MP4 1142x720 Dash Video 54K, MP4_DASH Container, AVC1.64001f, 30fps, vidéo uniquement 278 Webm 228x144 Dash Video 95K, webm_dash conteneur, VP9, ​​30fps, vidéo seulement 160 MP4 228x144 Dash Video 108K, MP4_DASH Container, AVC1.4d400b, 30fps, vidéo uniquement 242 Webm 380x240 Dash Video 220K, webm_dash conteneur, VP9, ​​30fps, vidéo seulement 133 MP4 380x240 Dash Video 242K, MP4_DASH Container, AVC1.4d400c, 30fps, vidéo uniquement 243 Webm 570x360 Dash Video 405K, webm_dash contener, vp9, 30fps, vidéo uniquement 244 webm 760x480 Dash Video 752K, webm_dash contenant, video 1155k, mp4_dash contenant AVC1.4d400a, 30fps, vidéo uniquement 247 Webm 1142x720 Dash Video 1505K, webm_dash conteneur, vp9, 30fps, vidéo seulement 18 MP4 570x360 360p 110K, AVC1.42001E, 30fps, MP4A.40.2 @ 96K (44100Hz), 280.25KIB 22 MP4 1142X720 720P 169K, AVC1.64001f, 30fps, MP4A.40.2 @ 192k (44100hz) (le meilleur) 

La sortie de la commande est très bien formatée. Nous pouvons facilement repérer l'extension vidéo, la résolution vidéo, le codage utilisé, ainsi que la taille du fichier.

Comment pouvons-nous spécifier le format que nous souhaitons télécharger? Tout ce que nous avons à faire est d'invoquer youtube-dl encore, mais cette fois nous -F Option (minuscules), qui est le court --format, et référencer le format que nous voulons télécharger code de format rapporté dans la première colonne de la sortie ci-dessus comme argument. Dites par exemple que nous voulons télécharger le 570x360 version de la vidéo, avec le MP4 extension; Nous courions:

$ youtube-dl -f 18 https: // www.Youtube.com / watch?v = iyocjk3pa4w [youtube] iyocjk3pa4w: télécharger la page Web [youtube] iyocjk3pa4w: téléchargement MPD manifeste [téléchargement] Destination: impression à l'écran à l'aide de la pipe nommée et bash - Exemple 01-iyocjk3pa4w.mp4 [téléchargement] 100% de 280.25Kib en 00:00 

Il est également possible de télécharger tous les formats disponibles en invoquant YouTube-Dl avec le --tout-formats options ou demander à l'application de préférer les formats gratuits en utilisant --Préférer des formats libres.

Obtenir uniquement la piste audio

Parfois, nous pouvons vouloir obtenir uniquement la piste audio pour la source vidéo spécifiée. Dans ces cas, nous pouvons faire deux choses: la première consiste à télécharger le format audio uniquement si disponible. En respectant la sortie de l'exemple précédent, pour télécharger le opus piste audio, nous courions:

$ youtube-dl -f 251 https: // www.Youtube.com / watch?v = iyocjk3pa4w 

La deuxième solution plus générale est d'extraire l'audio de la piste vidéo. Pour effectuer cette opération, nous devons invoquer YouTube-Dl avec le -X option (--extraire audio). Pour que l'extraction fonctionne correctement, nous devrions avoir ffmpeg et ffprobe (ou avconv et Avprobe) installé sur notre système. Pour extraire l'audio pour l'URL que nous utilisons comme exemple, nous exécutons:

$ youtube-dl -x https: // www.Youtube.com / watch?v = iyocjk3pa4w 


Et si nous voulons spécifier le format audio pour la piste extraite? Tout ce que nous avons à faire est d'utiliser le --format audio option. Cette option n'a sens que si elle est utilisée avec -X. Nous pouvons choisir le format audio parmi: «Best» (la valeur par défaut), «AAC», «FLAC», «MP3», «M4A», «Opus», «Vorbis», «Wav». Pour obtenir un fichier «flac», par exemple, nous exécutions:

$ youtube-dl -x --audio-format flac https: // www.Youtube.com / watch?v = iyocjk3pa4w 

Lorsque nous utilisons le -X Option, le fichier vidéo est téléchargé, puis la conversion est effectuée pour obtenir la piste audio. Une fois la conversion terminée, le fichier vidéo est automatiquement supprimé. Si nous voulons le garder, nous pouvons utiliser le -k Option (abréviation pour --video).

Diffuser une vidéo directement sur un lecteur multimédia

Une autre très belle fonctionnalité de YouTube-DL est la possibilité de diffuser une vidéo directement sur un lecteur multimédia spécifié. Tout ce que nous avons à faire pour réaliser les fonctionnalités est de demander à YouTube-DL de diffuser les médias pour stdout (sortie standard) et invoquer un lecteur multimédia capable de lire à partir de stdin (entrée standard). Nous pouvons utiliser un tuyau de coque pour effectuer l'opération. En supposant que nous utilisons vlc, Nous courions:

$ youtube-dl -o - https: // www.Youtube.com / watch?v = iyocjk3pa4w | vlc - 

Si tout se passe comme prévu, le lecteur vidéo sera lancé et la vidéo spécifiée sera diffusée après un petit temps de mise en mémoire tampon.

Enregistrer des vidéos dans un répertoire spécifique

Lorsque nous téléchargeons un fichier, nous avons peut-être besoin de spécifier un répertoire où il doit être téléchargé, ce qui n'est pas notre répertoire de travail actuel. Pour effectuer une telle opération, nous pouvons utiliser le -o option. Par exemple, pour télécharger le fichier dans le ~ / Vidéos Répertoire que nous pourrions gérer:

$ youtube-dl -o '~ / vidéos /% (titre) s.% (ext) s 'https: // mozilla.hébergé.panopto.com / panopto / pages / visionneuse.aspx?ID = EF87C31E-B5B9-45A7-99AD-ACA801514379 

Voyons ce que nous avons fait dans l'exemple ci-dessus. Le -o Option Laissez-nous spécifier une sorte de système «modèle» pour spécifier comment enregistrer un fichier téléchargé. Dans notre exemple, nous avons spécifié que le fichier devait être téléchargé à l'intérieur du ~ / Vidéo Le répertoire et le fichier doivent être nommés d'après le titre vidéo suivi d'un point et de l'extension vidéo. Chaque élément du modèle doit être spécifié par un symbole en pourcentage (%) suivi de l'élément entre parenthèses et par opérations de formatage: dans ce cas, nous avons utilisé un s Nous demandons donc à formater les éléments en tant que chaîne. Dans ce cas, le fichier sera enregistré comme:

'/ home / egdoc / vidéos / La joie du codage - épisode 237 - 13 janvier 2021.MP4 ' 

Il existe différents éléments qui peuvent être utilisés pour construire un nom de fichier. Quelques exemples:

Des noms Signification
identifiant Identifiant de la vidéo
titre Le titre vidéo
ext L'extension de nom de fichier vidéo
téléchargeur Le nom du téléchargeur vidéo
canaliser Le nom de la chaîne hébergeant la vidéo


Utilisation du fichier de configuration

Au lieu de spécifier les options recherchées chaque fois que nous invoquons YouTube-DL, nous pouvons les définir une fois dans son fichier de configuration, de sorte qu'ils sont automatiquement utilisés. YouTube-DL recherche un fichier de configuration à l'échelle du système à / etc / youtube-dl.confli, et pour un fichier par utilisateur à ~ /.config / youtube-dl.confli. Les fichiers peuvent ne pas exister par défaut, nous devrons donc les créer.

À l'intérieur du fichier, les lignes commençant par un # Le symbole est considéré comme des commentaires, et les options souhaitées doivent être spécifiées une par ligne. Par exemple, pour toujours adopter le modèle de téléchargement que nous avons utilisé dans l'exemple précédent, à l'intérieur du fichier de configuration, nous pourrions simplement écrire:

# Télécharger en utilisant le modèle spécifié -o '~ / vidéos /% (titre) s.% (ext) s ' 

Conclusions

Dans ce tutoriel, nous avons appris l'utilisation de base de la ligne de commande YouTube-DL. Le programme peut être utilisé pour télécharger des vidéos à partir de plusieurs plateformes de partage de vidéos. Nous avons vu comment l'installer en utilisant les gestionnaires de packages des distributions Linux les plus utilisées et via pépin. Nous avons vu comment télécharger une vidéo, comment répertorier tous les formats disponibles et comment instruire l'application pour en télécharger une. Nous avons également vu comment diffuser une vidéo directement sur un lecteur multimédia et comment le télécharger et l'enregistrer en utilisant une série d'éléments de modèle. Encore une fois, une chose très importante à retenir est que l'application ne doit être utilisée que pour télécharger des vidéos là où il est autorisé, pour être sûr de ne pas violer aucune loi sur le droit d'auteur.

Tutoriels Linux connexes:

  • Meilleur logiciel d'édition vidéo sur Linux
  • Comment obtenir et modifier les métadonnées vidéo dans Linux
  • Choses à installer sur Ubuntu 20.04
  • yt-dlp vs youtube-dl
  • Meilleur lecteur vidéo pour Linux
  • Commandes Linux: les 20 meilleures commandes les plus importantes que vous devez…
  • Commandes Linux de base
  • Choses à faire après l'installation d'Ubuntu 20.04 Focal Fossa Linux
  • Système linux hung? Comment s'échapper vers la ligne de commande et…
  • Vim Editor Basics in Linux