Ceci est une ancienne révision du document !
yt-dlp
yt-dlp est un utilitaire en ligne de commande de téléchargement multimédia.
Il permet de sauvegarder des flux Internet vidéo, audio, ou des sous-titres sur un stockage local pour les consulter hors-ligne, mais aussi de les manipuler, les transcoder ou les remuxer à la volée. Il supporte YouTube, arte.tv, France TV, Twitch et littéralement des milliers d'autres services en ligne !
yt-dlp est un fork de youtube-dl basé sur le projet youtube-dlc désormais inactif. L'objectif principal de ce projet est d'ajouter de nouvelles fonctionnalités et des correctifs tout en restant à jour avec le projet original.
Interfaces graphiques
Il existe des interfaces graphiques permettant d'utiliser yt-dlp facilement, sans passer par un terminal :
- Téléchargeur de vidéos (Video Downloader) est disponible en flatpak sur Flathub, en snap sur snapcraft, et dans les dépôts APT (paquet
video-downloader
).
Outil en ligne de commande
Bien que yt-dlp s'utilise nativement depuis un terminal, son fonctionnement basique est à la portée d'un débutant.
Installation
APT
yt-dlp est disponible dans les dépôts officiels APT d'Ubuntu depuis la version jammy 22.04 (sur la version LTS précédente focal 20.04 il est disponible dans les dépôts backports).
Pour obtenir cette application il suffit donc d'installer le paquet yt-dlp
.
Snap
yt-dlp est également disponible en snap sur snap depuis Snapcraft. Cette distribution n'est cependant pas officielle.
On peut donc l'installer sur Ubuntu simplement en installant yt-dlp
depuis le centre d'applications (Snap Store), ou en installant le paquet yt-dlp
en ligne de commande :
snap install yt-dlp
pip
yt-dlp est aussi disponible dans les dépôts du gestionnaire pip.
Pour l'installer ou le mettre à jour, saisissez dans un terminal :
python3 -m pip install -U yt-dlp
PPA
Une version éventuellement plus récente que celle des dépôts officiels est distribuée sur un PPA. Cette distribution n'est cependant pas officielle et pas recommandée.
Git
On peut installer yt-dlp simplement en copiant le binaire exécutable depuis Git, en suivant cette procédure dans un terminal :
- Installer Git :
sudo apt install git
- Télécharger le binaire :
wget https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -O ~/.local/bin/yt-dlp
- Le rendre exécutable :
chmod a+rx ~/.local/bin/yt-dlp
La commande yt-dlp
sera à présent disponible, mais les mises à jour devront être effectuées manuellement.
Docker
Il est aussi possible d'utiliser yt-dlp sans même l'installer grâce à Docker.
- Installez Docker (ou Podman).
- Créez ensuite un alias en ajoutant cette ligne au fichier
~/.bash_aliases
:- .bash_aliases
alias yt-dlp='docker run --rm -it -v $PWD:/downloads jauderho/yt-dlp:latest'
- Relancez votre terminal.
Le programme sera téléchargé lors de la première exécution de la commande yt-dlp
, et beaucoup plus rapide ensuite.
Configuration
On passe généralement les paramètres nécessaires directement à la commande yt-dlp
, mais pour se simplifier ces lignes il peut être utile de configurer yt-dlp de manière permanente. Ceci se fait en éditant un fichier yt-dlp.conf
.
À ce sujet voir (en) Configuration yt-dlp sur GitHub.
Utilisation
Télécharger une vidéo
Lancez l'application ou via le terminal (toutes versions ou variantes d'Ubuntu) avec la commande avec comme argument l'URL de la vidéo que vous souhaitez télécharger :
yt-dlp [OPTIONS] URL
La vidéo sera téléchargée et sera lisible par votre lecteur de vidéo pré-installé dans votre variante d'Ubuntu.
Récupérer la liste des flux disponibles pour une vidéo
Quand plusieurs qualités de flux vidéo (et / ou audio) sont disponibles, yt-dlp télécharge a priori le meilleur par défaut, mais on peut en préférer un autre, ou une autre langue par exemple.
L'option -F
permet d'afficher (sans les télécharger) la liste des flux disponibles :
yt-dlp -F URL
C'est ensuite l'option -f
qui permet de lancer le téléchargement de son choix :
yt-dlp -f format URL
En remplaçant format
par le contenu de la colonne ID
du retour de la commande précédente.
Télécharger l'audio d'une vidéo
Utiliser l'option -x
pour ne garder que la partie audio d'une vidéo. (l'option x
signifie extraction)
exemple :
yt-dlp -x -f bestaudio URL
Vous pouvez enlever l'option bestaudio
s'il n'y a aucun flux audio seul possible. Dans ce cas, yt-dlp va télécharger la vidéo puis en extraire l'audio.
L'extraction de l'audio d'une vidéo requiert ffmpeg.
Obtenir les informations sur l'audio et télécharger la miniature
Pour obtenir la pochette de l'album et les informations concernant le fichier audio, utiliser cette commande
yt-dlp -x -f bestaudio[ext=m4a] --add-metadata --embed-thumbnail URL
Sous-titres des vidéos
<URL> has no subtitles
Lister les langues possibles
yt-dlp --list-subs URL
Télécharger en définissant la langue
yt-dlp --write-sub --sub-lang LANG URL
Télécharger en utilisant les sous-titres générés automatiquement
yt-dlp --write-auto-sub --sub-lang LANG URL
--skip-download
pour télécharger uniquement les sous-titres
Télécharger et choisir le format de flux, en même temps que les sous-titres
yt-dlp -f format --write-subs --sub-langs LANG URL
Ou, dans le cas d'une vidéo et audio double-flux (vidéo et audio séparés), type arte.tv :
yt-dlp -f video-only+audio-only --write-subs --sub-langs LANG URL
En remplaçant video-only
et audio-only
par les contenus de la colonne ID
vu plus haut
Erreur "nom trop long"
Si vous recevez ce message d'erreur :
ERROR: unable to open for writing: [Errno 36] File name too long:
ajouter l'option -o
suivie du nom de renommage…
Exemple :
yt-dlp -o monfichierrenommé.mp4 URL
Désinstallation
Pour supprimer cette application, il suffit de supprimer son paquet. Selon la méthode choisie, la 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.
- Pour la version des dépôts Ubuntu, vous pouvez passer par le centre d'applications, ou en ligne de commande :
sudo apt remove yt-dlp
- Pour la version snap, vous pouvez passer par le centre d'applications, ou en ligne de commande :
snap remove yt-dlp
- Pour le binaire isolé, il suffit de supprimer le fichier :
rm ~/.local/bin/yt-dlp