Youtube-dl : Télécharger les vidéos YouTube

Youtube-dl est un logiciel en ligne de commande qui vous permet de télécharger des vidéos YouTube et autres services.

Youtube-dl : téléharger les vidéos YouTube et autres services.

Installation

Fedora

# yum install youtube-dl

Ubuntu

$ sudo apt-get install youtube-dl

Téléchargement simple d’une vidéo

L’utilisation la plus basique de youtube-dl est la suivante :

youtube-dl url-de-la-video

Remplacer url-de-la-video par le lien de la vidéo visible dans le navigateur quand vous regarder la vidéo. Peu importe comment il est, s’il comporte beaucoup de paramètre ou pas. Il faut quand même qu’il y est un watch?v=xxxxxxxx ou un playlist?list=xxxxxxxx

Par exemple :

youtube-dl https://www.youtube.com/watch?v=QG6EWqhaydI

Le résultat sera un fichier nommé QG6EWqhaydI.webm, suivant l’identifiant dans l’URL.
Pour avoir un fichier avec le nom réel de la vidéo poursuivez la lecture.

 

 

Utilisation avancé

Ce n’est pas réellement une utilisation avancé, mais ça permet d’avoir plus d’options et de contrôle sur le téléchargement.

Nommé le fichier avec le nom de la vidéo

On vas utilisé le paramètre -o comme suit :

youtube-dl -o "%(stitle)s.%(ext)s" url-de-la-video

Ou bien on peut on peu faire plus facile; utiliser l’un des paramètre -t ou -l. -l pour avoir le nom littérale de la vidéo et -t pour avoir un nom simplifié avec seulement des caractères alphanumérique. Le fichier enregistré aura la forme : nom_de_la_video-XXXXXX.ext ou bien nom de la video.ext.

Extraire le son seulement

youtube-dl --extract-audio url-de-la-video

Youtube-dl télécharge d’abord la vidéo et extrait le son après et fini par supprimé la vidéo, ne gardant ainsi que le fichier audio. Si vous préférez garder le fichier vidéo, ajouter le paramètre -k.

Télécharger plusieurs vidéos d’un coup

À partir d’une playlist

Pour télécharger toute une playlist, il faut indiquer l’URL de la playlist et non une URL vers une simple vidéo. Un lien de playlist est de la forme https://www.youtube.com/playlist?list=PLC24E7FE05C04C4B6

youtube-dl https://www.youtube.com/playlist?list=xxxxxxxx

À partir d’un fichier de URLs

Il faut utiliser le paramètre -a et indiquer après le nom d’un fichier contenant une liste d’URL vers les vidéos.

youtube-dl -a /fichier/contenat/les/liens

 

Téléchargement sélectif

Je vais simplement vous présenter les paramètres et leurs effets du moment qu’ils sont simple d’utilisation, comme tout ce qui précède d’ailleurs. Ils n’ont de sens que quand on télécharge plusieurs vidéos.

--playlist-start NUMERO  commencer à télécharger à partir de de cette vidéo (1 par défaut)
--playlist-end NUMERO    finir le téléchargement à cette vidéo (jusqu’à la fin par défaut)
--match-title REGEX      télécharger seulement les vidéos qui correspondent à ce titre (expression régulière ou texte simple)
--reject-title REGEX     ne PAS télécharger les vidéos correspondant à ce titre. (expression régulière ou texte simple)
--max-downloads NUMERO   nombre maximal de vidéos à télécharger.
-A                       numérote les fichier automatiquement

Autre paramètres utiles

-g, --get-url            Retourne l'URL
-e, --get-title          Retourne le titre
--get-thumbnail          retourne l'URL vers la miniature de la vidéo
--get-description        affiche la description de la vidéo
--get-filename           retourne le nom du fichier a enregistré
--get-format             retourne le format enregistré
-w, --no-overwrites      ne pas écraser les fichiers.

Site web de youtube-dl [en]

7 réponses

  1. petite question: tu fais comment pour mettre des urls dans un fichier??
    j’imagine que tu les copie-colle dans un format comme odt, et lui tu le met dans un fichier? mais maintenant, lequel marche?

    1. Ça reste flou pour moi aussi en ce qui concerne le fichier listant plusieurs urls. La documentation dit seulement :
       » -a F, –batch-file=F
      Specify the name of a file containing URLs of videos to download
      from youtube in batch mode. The file must contain one URL per line.  »

      Sous Windows, il semblerait que les fichiers batch aient pour extension .cmd, .bat ou .btm.
      Pour un système Unix/Linux, j’imagine que cela revient à créer un fichier en bash (.sh).

      Du coup, est-ce que ce code conviendrait ou faut-il ajouter un fichier de configuration particulier?

      #!/bin/bash
      youtube-dl -a /chemin/vers/fichier/contenant/les/liens

      Et dans le fichier de liens :

      #!/bin/bash
      http://urlverslavideo
      http://urlversunedeuxiemevideo

      Et si ce code est valide, fonctionne-t-il également si les urls sont des url de playlists?

      Merci d’avance.

      1. Non, il te faut juste un simple fichier texte avec les liens dedans.
        liste.txt:

        https://www.youtube.com/watch?v=wwxcsdcsd
        https://www.youtube.com/watch?v=fdfgfdkuk
        https://www.youtube.com/watch?v=fjfgfsdfd

        Batch mode veut simplement dire, télécharger plusieurs fichier en une passe. Ça n’a rien a voir avec les fichier batch ou bash.

        1. D’accord! ^^
          Bon, depuis mon dernier post, j’ai un peu avancé et testé youtube-dl en tâche cron. Ca fonctionnait parfaitement … jusqu’à ce que je veuille utiliser le paramètre -a dans la commande…
          J’écris les adresses dans un fichier url.txt via un formulaire php avec la fonction file_put_content() seulement cette fonction insère un saut de ligne avant d’écrire la première url. Et je crois bien que youtube-dl n’aime pas ça… car aucun téléchargement ne se lance. :/

          En tout cas merci, Dragnucs, pour ton p’tit tuto et ton aide. (Ça leur apprendra, à ces bandes de rapaces, de vouloir faire du pognon avec du contenu qui ne leur appartient pas! :X)

Répondre à nico Annuler la réponse

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.