Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
|
yt-dlp [Le 10/03/2025, 18:14] piero [Utilisation] améloiration |
yt-dlp [Le 22/10/2025, 10:49] (Version actuelle) krodelabestiole [Installation] typo |
||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | {{tag>console multimédia capture}} | + | {{tag>console multimédia audio vidéo capture internet encodage streaming}} |
| - | ====== yt-dlp, capture de vidéo internet en ligne de commande ====== | + | {{ :icons:yt-dlp.png?120|Icône yt-dlp}} |
| + | ====== yt-dlp ====== | ||
| - | **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. | + | **[[https://github.com/yt-dlp/yt-dlp|yt-dlp]]** est un utilitaire en [[:commande shell|ligne de commande]] de téléchargement multimédia. |
| - | **yt-dlp** est un utilitaire de capture de vidéos en ligne qui supporte [[https://www.youtube.com|YouTube]] mais aussi de nombreuses autres plate-formes. | + | 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. | ||
| + | |||
| + | <note> | ||
| 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]]. | 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]]. | ||
| + | </note> | ||
| ===== Interfaces graphiques ===== | ===== Interfaces graphiques ===== | ||
| - | Il existe des interfaces graphiques permettant d'utiliser **yt-dlp** facilement. | + | Il existe des interfaces graphiques permettant d'utiliser **yt-dlp** facilement, sans passer par un [[:terminal]] : |
| - | + | ||
| - | ==== Video Downloader ==== | + | |
| - | + | ||
| - | [[https://github.com/Unrud/video-downloader|Video Downloader]] est disponible en [[:flatpak]] sur [[https://flathub.org/apps/com.github.unrud.VideoDownloader|flathub]], en [[:snap]] et dans les dépôts [[:APT]]. | + | |
| - | + | ||
| - | ==== Parabolic ==== | + | |
| - | [[https://flathub.org/apps/org.nickvision.tubeconverter|Parabolic]] est disponible en [[:flatpak]] sur [[https://flathub.org/apps/org.nickvision.tubeconverter|flathub]]. | + | * **[[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 ===== | ===== 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. | + | 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 ==== | ==== Installation ==== | ||
| - | === APT (recommandé) === | + | Il existe de nombreuses méthodes, //au choix//, pour installer **yt-dlp** sur Ubuntu : |
| - | **yt-dlp** est disponible dans les dépôts officiels d'Ubuntu depuis la version [[:jammy|jammy 22.04]]. | + | === APT === |
| - | Sur la version LTS précédente [[:focal|focal 20.04]] il est disponible dans les dépôts [[:depots#backports]]. | + | **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]]''. | ||
| <note important>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.</note> | <note important>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.</note> | ||
| Ligne 37: | Ligne 43: | ||
| === Snap === | === Snap === | ||
| - | **yt-dlp** ets également disponible sur [[:snap|Snapcraft]] et donc directement depuis la [[:logithèque]] sur toutes les versions d'Ubuntu. | + | **yt-dlp** est également disponible en [[:snap]] depuis [[https://snapcraft.io/yt-dlp|Snapcraft]]. Cette distribution n'est cependant pas officielle. |
| - | === Via pip === | + | 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 : |
| + | <code>snap install yt-dlp</code> | ||
| - | yt-dlp est disponible dans les dépôts du gestionnaire de paquet **[[:pip]]**. | + | === pip === |
| - | Pour l'installer ou le mettre à jour, saisissez : | + | **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]] : | ||
| <code>python3 -m pip install -U yt-dlp</code> | <code>python3 -m pip install -U yt-dlp</code> | ||
| - | === Via le PPA === | + | === PPA === |
| - | [[: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. | + | 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]]''. | ||
| - | [[:tutoriel:comment_installer_un_paquet|Installez ensuite le paquet]] **[[apt>yt-dlp]]**. | + | === Git === |
| - | + | ||
| - | === Via Git === | + | |
| - | Pour l'installer par [[:Git]], saisissez dans un [[:terminal]] : | + | On peut installer **yt-dlp** simplement en copiant le binaire exécutable depuis [[:Git]], en suivant cette procédure dans un [[:terminal]] : |
| + | - Installer [[:Git]] :<code>sudo apt install git</code> | ||
| + | - Télécharger le binaire :<code>wget https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -O ~/.local/bin/yt-dlp</code> | ||
| + | - Le rendre exécutable :<code>chmod a+rx ~/.local/bin/yt-dlp</code> | ||
| + | |||
| + | 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'' :<file bash .bash_aliases>alias yt-dlp='docker run --rm -it -v $PWD:/downloads jauderho/yt-dlp:latest'</file> | ||
| + | - Relancez votre [[:terminal]]. | ||
| - | <code>sudo apt install git | + | Le programme sera téléchargé lors de la première exécution de la commande ''[[man>yt-dlp]]'', et beaucoup plus rapide ensuite. |
| - | cd /tmp | + | |
| - | git clone https://github.com/ytdl-org/youtube-dl | + | |
| - | cd youtube-dl | + | |
| - | make | + | |
| - | sudo cp youtube-dl /usr/local/bin/</code> | + | |
| ==== Configuration ==== | ==== Configuration ==== | ||
| - | Vous pouvez configurer **yt-dlp** grâce à des fichiers à éditer. | + | 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''. |
| - | //voir [[https://github.com/yt-dlp/yt-dlp/blob/master/README.md#configuration|Configuration yt-dlp]] **(Github)** **(en)**// | + | À ce sujet voir **(//en//)** //[[https://github.com/yt-dlp/yt-dlp/blob/master/README.md#configuration|Configuration yt-dlp]]// sur GitHub. |
| ==== Utilisation ==== | ==== Utilisation ==== | ||
| Ligne 73: | Ligne 91: | ||
| === Télécharger une vidéo === | === 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'URL de la vidéo que vous souhaitez télécharger : <code>yt-dlp [OPTIONS] URL</code> | + | 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 : <code>yt-dlp [OPTIONS] URL</code> |
| - | <note tip>Vous pouvez aussi utiliser l'ID de la vidéo youtube au lieu de l'URL</note> | + | <note tip>Vous pouvez aussi utiliser l'identifiant numérique (//ID//) de la vidéo YouTube au lieu de son [[:web#URL]]</note> |
| - | La vidéo sera téléchargée et sera lisible par votre logiciel de vidéo pré-installé dans votre variante d'Ubuntu. | + | 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 === | === Récupérer la liste des flux disponibles pour une vidéo === | ||
| Ligne 83: | Ligne 101: | ||
| 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. | 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 : | + | L'option ''-F'' permet d'afficher (sans les télécharger) la liste des flux disponibles : |
| <code>yt-dlp -F URL</code> | <code>yt-dlp -F URL</code> | ||
| Ligne 95: | Ligne 113: | ||
| exemple : <code>yt-dlp -x -f bestaudio URL</code> | exemple : <code>yt-dlp -x -f bestaudio URL</code> | ||
| - | 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. | + | 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]] | + | L'extraction de l'audio d'une vidéo requiert [[:ffmpeg]]. |
| === Obtenir les informations sur l'audio et télécharger la miniature === | === Obtenir les informations sur l'audio et télécharger la miniature === | ||
| Ligne 106: | Ligne 124: | ||
| === Sous-titres des vidéos === | === Sous-titres des vidéos === | ||
| - | <note>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 **<URL> has no subtitles**</note> | + | <note>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 ''<URL> has no subtitles''</note> |
| == Lister les langues possibles == | == Lister les langues possibles == | ||
| Ligne 122: | Ligne 140: | ||
| <note>Utiliser l'option ''%%--skip-download%%'' pour télécharger uniquement les sous-titres</note> | <note>Utiliser l'option ''%%--skip-download%%'' pour télécharger uniquement les sous-titres</note> | ||
| - | == Télécharger et choisir le format vidéo, en même temps que les sous-titres == | + | == Télécharger et choisir le format de flux, en même temps que les sous-titres == |
| <code>yt-dlp -f format --write-subs --sub-langs LANG URL</code> | <code>yt-dlp -f format --write-subs --sub-langs LANG URL</code> | ||
| - | Ou, dans le cas d'une vidéo et audio double-flux (vidéo et audio séparés), type ArteTV : | + | Ou, dans le cas d'une vidéo et audio double-flux (vidéo et audio séparés), type arte.tv : |
| <code>yt-dlp -f video-only+audio-only --write-subs --sub-langs LANG URL</code> | <code>yt-dlp -f video-only+audio-only --write-subs --sub-langs LANG URL</code> | ||
| En remplaçant ''video-only'' et ''audio-only'' par les contenus de la colonne ''ID'' vu plus haut | En remplaçant ''video-only'' et ''audio-only'' par les contenus de la colonne ''ID'' vu plus haut | ||
| + | |||
| ==== Erreur "nom trop long" ==== | ==== Erreur "nom trop long" ==== | ||
| + | |||
| Si vous recevez ce message d'erreur : | Si vous recevez ce message d'erreur : | ||
| <code>ERROR: unable to open for writing: [Errno 36] File name too long:</code> | <code>ERROR: unable to open for writing: [Errno 36] File name too long:</code> | ||
| - | ajouter l'option "-o" suivie du nom de renommage… | + | ajouter l'option ''-o'' suivie du nom de renommage... |
| Exemple : <code>yt-dlp -o monfichierrenommé.mp4 URL</code> | Exemple : <code>yt-dlp -o monfichierrenommé.mp4 URL</code> | ||
| Ligne 141: | Ligne 161: | ||
| 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 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 :<code>sudo apt remove yt-dlp</code> | ||
| + | * Pour la version **[[:snap#suppression|snap]]**, vous pouvez passer par le [[:snap store|centre d'applications]], ou en ligne de commande :<code>snap remove yt-dlp</code> | ||
| + | * Pour le binaire isolé, il suffit de supprimer le fichier :<code>rm ~/.local/bin/yt-dlp</code> | ||
| ===== Voir aussi ===== | ===== Voir aussi ===== | ||
| Ligne 147: | Ligne 170: | ||
| ---- | ---- | ||
| - | //Contributeurs : [[:utilisateurs:Amiralgaby]], [[:utilisateurs:krodelabestiole]]// | + | //Contributeurs : [[:utilisateurs:Amiralgaby]], [[:utilisateurs:krodelabestiole]], [[:utilisateurs:piero]]// |