{{tag>console multimédia audio vidéo capture internet encodage streaming}} {{ :icons:yt-dlp.png?120|Icône yt-dlp}} ====== yt-dlp ====== **[[https://github.com/yt-dlp/yt-dlp|yt-dlp]]** est un utilitaire en [[:commande shell|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 [[wpfr>transcodage|transcoder]] ou les //remuxer// à la volée. Il supporte [[https://www.youtube.com|YouTube]], [[https://www.arte.tv/fr/|arte.tv]], [[https://www.france.tv/|France TV]], [[https://www.twitch.tv/|Twitch]] et littéralement [[https://github.com/yt-dlp/yt-dlp/blob/master/supportedsites.md|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. La copie d’œuvre protégée est réglementée, pour la France, voir [[http://www.legifrance.gouv.fr/affichCodeArticle.do?idArticle=LEGIARTI000025003518&cidTexte=LEGITEXT000006069414|l'article L122-5 sur Légifrance]]. La SACEM indique que la copie privée à partir d'un site internet (comme YouTube) [[https://www.nextinpact.com/news/106174-youtube-dl-comment-recuperer-legalement-flux-audio-et-video-depuis-millier-sites.htm|est légale]], mais pas sa diffusion publique. Plus généralement on peut considérer que la diffusion publique est soumise à condition si la vidéo n'est pas sous [[wpfr>licence libre]]. ===== Interfaces graphiques ===== Il existe des interfaces graphiques permettant d'utiliser **yt-dlp** facilement, sans passer par un [[:terminal]] : * **[[https://github.com/Unrud/video-downloader|Téléchargeur de vidéos]]** (**Video Downloader**) est disponible en [[:flatpak]] sur [[https://flathub.org/fr/apps/com.github.unrud.VideoDownloader|Flathub]], en [[:snap]] sur [[https://snapcraft.io/video-downloader|snapcraft]], et dans les dépôts [[:APT]] ([[:tutoriel:comment_installer_un_paquet|paquet]] ''[[apt>video-downloader]]''). * **[[https://nickvision.org/parabolic.html|Parabolic]]** (**tube-converter**) est disponible en [[:flatpak]] sur [[https://flathub.org/fr/apps/org.nickvision.tubeconverter|Flathub]] et en [[:snap]] sur [[https://snapcraft.io/tube-converter|snapcraft]]. * **[[https://jely2002.github.io/youtube-dl-gui/|Open Video Downloader]]** (**youtube-dl-gui**) est disponible en [[:Appimage]] sur [[https://github.com/jely2002/youtube-dl-gui/releases/latest|GitHub]]. * **[[https://github.com/onionware-github/OnionMedia-X/|OnionMedia X]]** est disponible en [[:flatpak]] sur [[https://flathub.org/fr/apps/io.github.onionware_github.onionmedia|Flathub]]. * **[[https://github.com/JaGoLi/ytdl-gui|youtubedl-gui]]** est disponible en [[:flatpak]] sur [[https://flathub.org/fr/apps/io.github.JaGoLi.ytdl_gui|Flathub]], et dans les dépôts [[:APT]] ([[:tutoriel:comment_installer_un_paquet|paquet]] ''[[apt>youtubedl-gui]]''). * **[[https://mediaharbor.github.io/|MediaHarbor]]** est disponible en [[:snap]] sur [[https://snapcraft.io/mediaharbor|snapcraft]], ou en [[:Appimage]] et en [[:deb]] isolé sur [[https://github.com/MediaHarbor/mediaharbor/releases/latest|GitHub]]. ===== Outil en ligne de commande ===== Bien que **[[https://github.com/yt-dlp/yt-dlp|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 [[:depots#dépôts officiels]] [[:APT]] d'Ubuntu depuis la version [[:jammy|jammy 22.04]] (sur la version LTS précédente [[:focal|focal 20.04]] il est disponible dans les dépôts [[:depots#backports]]). Pour obtenir cette application il suffit donc d'[[:tutoriel:comment_installer_un_paquet|installer le paquet]] ''[[apt>yt-dlp]]''. La version dans les dépôts par défaut n'est pas toujours la plus récente, ce qui peut empêcher le programme de fonctionner. === Snap === **yt-dlp** est également disponible en [[:snap]] sur [[:snap]] depuis [[https://snapcraft.io/yt-dlp|Snapcraft]]. Cette distribution n'est cependant pas officielle. On peut donc l'installer sur Ubuntu simplement en installant ''yt-dlp'' depuis le [[:snap store|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 **[[:python#les_modules|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 [[:depots#dépôts officiels]] est distribuée sur un [[:PPA]]. Cette distribution n'est cependant pas officielle et pas recommandée. - [[:ppa#ajout_d_un_ppa_a_vos_sources_logicielles|Ajoutez le PPA]] ''ppa:tomtomtom/yt-dlp''((https://launchpad.net/~tomtomtom/+archive/ubuntu/yt-dlp)) dans vos sources de logiciels. - [[:tutoriel:comment_modifier_sources_maj#recharger_la_liste_des_paquets|Rechargez la liste des paquets]]. - [[:tutoriel:comment_installer_un_paquet|Installez ensuite le paquet]] ''[[apt>yt-dlp]]''. === 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 shell|commande]] ''[[man>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]]**. - [[:docker#installation|Installez Docker]] (ou [[https://podman.io/|Podman]]). - Créez ensuite un [[:alias]] en [[:tutoriel:comment_sauver_et_restaurer_un_fichier|ajoutant cette ligne]] au fichier ''~/.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 ''[[man>yt-dlp]]'', et beaucoup plus rapide ensuite. ==== Configuration ==== On passe généralement les paramètres nécessaires directement à la [[:commande shell|commande]] ''[[man>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//)** //[[https://github.com/yt-dlp/yt-dlp/blob/master/README.md#configuration|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_shell|commande]] avec comme argument l'[[:web#URL]] de la vidéo que vous souhaitez télécharger : yt-dlp [OPTIONS] URL Vous pouvez aussi utiliser l'identifiant numérique (//ID//) de la vidéo YouTube au lieu de son [[:web#URL]] La vidéo sera téléchargée et sera lisible par votre [[:lecture_et_encodage_de_fichiers_videos#lecture_de_fichier_video|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 === Les sous-titres dépendent de leur disponibilité. Certaines vidéos en sont dépourvues. Si tel est le cas, la dernière phrase écrite au terminal sera '' 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 Utiliser l'option ''%%--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 [[:tutoriel:comment_supprimer_un_paquet|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 [[:snap store|centre d'applications]], ou en ligne de commande :sudo apt remove yt-dlp * Pour la version **[[:snap#suppression|snap]]**, vous pouvez passer par le [[:snap store|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 ===== Voir aussi ===== * **(en)** [[https://github.com/yt-dlp/yt-dlp|Site officiel du logiciel]] ---- //Contributeurs : [[:utilisateurs:Amiralgaby]], [[:utilisateurs:krodelabestiole]], [[:utilisateurs:piero]]//