Youtube-dl, capture de vidéo internet en ligne de commande

Le développement du logiciel n'est plus actif depuis décembre 2021. Vous pourriez lui préférer yt-dlp

Youtube-dl est un utilitaire de capture de vidéos en ligne qui supporte Youtube mais aussi de nombreuses autres plate-formes.
Bien que son utilisation s’effectue depuis un terminal, son fonctionnement basique est à la portée d'un débutant. Il suffit tout simplement de copier et coller l'adresse URL de la page de la vidéo précédée de la commande youtube-dl séparée d'un espace.
Sans autres options, Youtube-dl se chargera de capturer la vidéo, la convertir au format Mp4 et l’enregistrer dans votre dossier personnel…

Pour utiliser Youtube-dl avec une interface graphique en français et aisément paramétrable, voir Youtube-DL-GUI (Paquet youtube-dlg, à ne pas confondre avec le paquet youtube-dl-gui) .

La copie d’œuvre est réglementée, pour la France, voir l'article L122-5 sur Légifrance. La SACEM indique que la copie privée à partir d'un site internet (comme youtube) est légale, mais pas sa diffusion publique.

Pour capturer les vidéos de Youtube, il est nécessaire de mettre souvent à jour Youtube-dl car Google, propriétaire de Youtube, modifie fréquemment ses codes. La version des dépôts officiels devient alors rapidement inutilisable (message d'erreur) sauf peut-être avec la version en snap. Sinon vous pouvez utiliser la dernière version depuis le site officiel (donc appliquer la méthode 1.2 ci-dessous).

Via les dépôts officiels

Youtube-dl est dans les dépôts Ubuntu. Il suffit d'installer le paquet youtube-dl ou une version plus récente via SNAP.

Via le site officiel

Commencez par installez le paquet python-is-python3. Puis pour obtenir la dernière version :

  1. télécharger les sources depuis le site officiel à l'aide de la commande suivante lancée depuis un terminal :
    sudo wget https://yt-dl.org/latest/youtube-dl -O /usr/local/bin/youtube-dl
  2. Rendre le fichier binaire exécutable :
    sudo chmod a+x /usr/local/bin/youtube-dl
  3. Puis
    hash -r

Pour mettre à jour youtube-dl (les changements sont fréquents), il suffira d'entrer régulièrement la commande suivante :

sudo youtube-dl -U
Précisions: youtube-dl est codé avec un shebang #!/usr/bin/env python donc il faut un lien symbolique entre le label python et la version de python sur la machine.

Ceci peut se faire en créant une alternative ( au sens Debianhttps://bidouilledebian.wordpress.com/2019/08/11/gestion-des-alternatives-dans-debian/)

$ update-alternatives --display  python
python - mode automatique
link best version is /usr/bin/python3
le lien pointe actuellement sur /usr/bin/python3
link python is /usr/bin/python
/usr/bin/python2 - priorité 1
/usr/bin/python3 - priorité 2

Ce qui par exemple se vérifie:

$ ls -alrt /usr/bin/python*
lrwxrwxrwx 1 root root       9 avril  7 12:43 /usr/bin/python3 -> python3.8
-rwxr-xr-x 1 root root 3672400 avril 20 22:30 /usr/bin/python2.7
-rwxr-xr-x 1 root root    6413 juil. 27 14:29 /usr/bin/python3-wsdump
-rwxr-xr-x 1 root root 5233184 août   2 17:09 /usr/bin/python3.8
lrwxrwxrwx 1 root root       9 août   4 10:22 /usr/bin/python2 -> python2.7
lrwxrwxrwx 1 root root      24 sept. 16 22:08 /usr/bin/python -> /etc/alternatives/python

Vous pouvez modifier la configuration par défaut de Youtube-dl. Il suffit alors de créer un fichier de configuration ~/.config/youtube-dl/config en y indiquant vos propres options :

  1. Ouvrir votre dossier personnel
  2. Afficher les dossiers cachés avec la combinaison de touches <Ctrl>+<H>
  3. Ouvrir le dossier .config
  4. Dans ce dernier, créer un dossier youtube-dl puis à l'intérieur :
  5. créer le fichier de configuration config
  6. Ajouter dans ce fichier les options souhaitées, chacune sur une ligne différente puis enregistrer et fermer ce fichier.

Exemple de fichier config pour obtenir uniquement la bande son dans le format de sortie Mp3 :

~/.config/youtube-dl/config
--extract-audio
--audio-format mp3

À peu près toutes les options du chapitre Utilisation ci-dessous sont possibles. (Pour encore plus d'options, voir le (en) manuel).

À noter : le fichier ainsi créé ne concerne que l'utilisateur actuellement connecté. Pour modifier la configuration de youtube-dl pour l'ensemble du système on créera plutôt le fichier /etc/youtube-dl.conf

  1. Se rendre sur un des sites compatibles et rechercher la vidéo que vous voulez télécharger et copier l'adresse de sa page ;
  2. Ouvrir un terminal, saisir youtube-dl suivie d'un espace et coller l'adresse URL de la vidéo à sa suite
    youtube-dl url_de_la_vidéo
  3. Appuyer sur "Enter" ou "Entrée" pour exécuter la commande.

La vidéo sera enregistrée dans la meilleure qualité dans votre dossier personnel. Pour l’enregistrer dans un autre dossier, avant de saisir la commande, il suffit dans le terminal de se positionner dans le dossier voulu à l'aide de la commande cd.

Obtenir uniquement l'audio

Si vous souhaitez n'obtenir que la bande son de la vidéo il suffit d'utiliser l'option -x soit la commande :

youtube-dl -x url_de_la_vidéo

Le fichier audio extrait sera au meilleur format.

Modifier le format audio

Si vous souhaitez un autre format de sortie, il suffit de le préciser en ajoutant l'option --audio-format suivi du format souhaité. Formats disponibles : aac, vorbis, mp3, m4a, opus, et wav.

Exemple de commande pour obtenir un format MP3 ou ogg :

youtube-dl -x --audio-format mp3 url_de_la_vidéo
youtube-dl -x --audio-format vorbis url_de_la_vidéo

Choisir la qualité et le format

  1. Lister les formats et qualités disponibles avec l'option -F :
    youtube-dl -F url_de_la_vidéo

    Peut donner quelques chose comme :

    format code extension resolution  note 
    171         webm      audio only  DASH webm audio , audio@ 48k (worst)
    140         m4a       audio only  DASH audio , audio@128k
    160         mp4       144p        DASH video , video only
    133         mp4       240p        DASH video , video only
    134         mp4       360p        DASH video , video only
    135         mp4       480p        DASH video , video only
    136         mp4       720p        DASH video , video only
    137         mp4       1080p       DASH video , video only
    17          3gp       176x144
    36          3gp       320x240
    5           flv       400x240
    43          webm      640x360
    18          mp4       640x360
    22          mp4       1280x720    (best)
  2. Ensuite avec l'option -f, choisir les formats vidéo et audio souhaités (Le premier format doit contenir la vidéo) :
    youtube-dl -f 137+140 url_de_la_vidéo

    Ou encore un format complet (par exemple le format videoflash) :

    youtube-dl -f 5 url_de_la_vidéo
    • On trouve également des retours de ce type :
      ld          mp4       320x240     (worst)
      standard    mp4       512x384     
      hq          mp4       848x480     (best)

      Dans ce cas on utilisera par exemple :

      youtube-dl -f standard url_de_la_vidéo 

Enregistrement de sous-titres

  1. Avant de télécharger la vidéo, dans un terminal, saisir la commande:
    youtube-dl --list-subs url_de_la_vidéo

    Une liste des langues disponibles est affichée :

    [youtube] 'référence de la vidéo': Available subtitles for video: en
  2. Télécharger la vidéo avec les sous-titres (exemple avec l'anglais) avec cette commande:
    youtube-dl --write-sub --sub-lang 'en' url_de_la_vidéo

Problème de SME: proxy TOR

Si jamais la vidéo ne peut pas être lue dans votre pays du fait de la propriété intellectuelle, un message de ce type apparaît ERROR: -XXXXX: YouTube said: This video contains content from SME, who has blocked it in your country on copyright grounds. Pour télécharger la vidéo malgré tout, on peut passer par le proxy de TOR :

obfs4proxy n'est plus disponible dans les dépôts officiels depuis Ubuntu 20.041)
  1. pour télécharger la vidéo, utiliser proxychains:
    proxychains yt-dlp url_de_la_video

Le format vidéo le plus utilisé sur Internet, et sur youtube en particulier, est le webm. Ce sera donc sans doute le format de votre vidéo après téléchargement. Pour voir une vidéo webm sur une télévision, il vous faudra sans doute modifier le format (il n'est généralement pas reconnu nativement). Pour passer la vidéo webm en .mp4 :

ffmpeg -i ma-video.webm ma-video.mp4

La qualité de sortie est alors d'une qualité moyenne.

Plus rapide et sans perte d'information, vous pouvez spécifier de copier les flux (audio, vidéo, etc) avec -c copy

ffmpeg -i ma-video.webm -c copy ma-video.mp4

Après avoir installé le paquet mpv, tapez dans un terminal2) :

  • Par exemple
  1. Pour Installer Ubuntu 18.04 la commande sera :
mpv ytdl://ytsearch:installer_ubuntu_18.04

Pour supprimer cette application, il suffit de supprimer son paquet. Selon la méthode choisie, le configuration globale de l'application est conservée ou supprimée. Les journaux du système, et les fichiers de préférence des utilisateurs dans leurs dossiers personnels sont toujours conservés.

Installé depuis le site officiel

Supprimer le fichier /usr/local/bin/youtube-dl

TELECHARGEMENT ACTUELLEMENT IMPOSSIBLE car le site youtube-dl.com a été rendu inaccessible suite à une décision de justice de la cour régionale de Hambourg


Contributeurs: Gp974, mydjey.


  • youtube-dl.txt
  • Dernière modification: Le 26/12/2023, 13:02
  • par 92.184.108.139