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 | ||
youtube-dl [Le 21/12/2015, 19:53] cafecho [Via les dépôts officiels] Ajout avertissement version obsolète des dépôts |
youtube-dl [Le 26/12/2023, 13:02] (Version actuelle) 92.184.108.139 ancienne révision (Le 12/09/2023, 10:08) restaurée |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | {{tag>Precise,Trusty multimédia capture}} | + | {{tag>Focal Bionic multimédia capture}} |
+ | |||
+ | ---- | ||
====== Youtube-dl, capture de vidéo internet en ligne de commande ====== | ====== Youtube-dl, capture de vidéo internet en ligne de commande ====== | ||
- | **Youtube-dl** est un utilitaire de capture de vidéos en ligne qui supporte [[https://www.youtube.com|Youtube]] mais aussi de [[http://rg3.github.io/youtube-dl/supportedsites.html|nombreuses autres plate-formes]]. \\ | + | <note warning>Le développement du logiciel n'est plus actif depuis décembre 2021. Vous pourriez lui préférer [[:yt-dlp]]</note> |
- | Bien que son utilisation s’effectue depuis un [[:terminal]] uniquement, son fonctionnement basique est à la portée d'un débutant. Il suffit tout simplement de copier et coller l'adresse %%URL%% de la vidéo précédée de la [[:commande_shell|commande]] **''youtube-dl''** séparé d'un espace puis de valider. \\ | + | |
- | Sans autres options, **Youtube-dl** se chargera de télécharger la vidéo, la convertir au format Mp4 et l’enregistrer dans votre dossier personnel. À vous ensuite de la regarder avec votre lecteur vidéo préféré. | + | |
+ | **Youtube-dl** est un utilitaire de capture de vidéos en ligne qui supporte [[https://www.youtube.com|Youtube]] mais aussi de [[https://rg3.github.io/youtube-dl/supportedsites.html|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 [[wpfr>Copier-coller|copier et coller]] l'adresse %%URL%% de la page de la vidéo précédée de la [[:commande_shell|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... | ||
- | ===== Pré-requis ===== | + | Pour utiliser **Youtube-dl** avec une interface graphique en français et aisément paramétrable, voir **[[:Youtube-dlg|Youtube-DL-GUI]]** //(Paquet **youtube-dlg**, à ne pas confondre avec le paquet [[:youtube-dl-gui]])// . |
- | * Disposer des [[:sudo|droits d'administration]]. | + | La copie d’œuvre 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. |
- | * Disposer d'une connexion à Internet configurée et activée. | + | |
===== Installation ===== | ===== Installation ===== | ||
+ | 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|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 [[#via le site officiel|site officiel]] (donc appliquer la méthode 1.2 ci-dessous). | ||
+ | |||
====Via les dépôts officiels==== | ====Via les dépôts officiels==== | ||
- | **Youtube-dl** est dans les [[:depots|dépôts Ubuntu]]. Il suffit d'[[:tutoriel:comment_installer_un_paquet|installer le paquet]] **[[apt>youtube-dl]]** | + | **Youtube-dl** est dans les [[:depots|dépôts Ubuntu]]. Il suffit d'[[:tutoriel:comment_installer_un_paquet|installer le paquet]] **[[apt>youtube-dl]]** ou une version plus récente via [[:SNAP]]. |
- | <note important>La version des [[:dépôts|dépôts officiels]] devient rapidement inutilisable car Google modifie fréquemment ses codes. Si vous avez un message d'erreur, essayez avec une version plus récente disponible depuis le PPA ci-dessous ou depuis le site officiel.</note> | + | |
- | ====Via un dépôt PPA==== | ||
- | <note important>Les [[:PPA|dépôts PPA]] sont des dépôts non-officiels. Installer un paquet hors des [[:dépôts]] officiels peut présenter un risque d'instabilité pour votre système. </note> | ||
- | Une version plus récente de **Youtube-dl** peut être installée à partir d'un [[:ppa|dépôt PPA]]. Pour cela il suffit: | + | ==== Via le site officiel ==== |
- | - d'[[:ppa|ajouter le PPA]] **ppa:rvm/smplayer**((https://launchpad.net/~rvm/+archive/ubuntu/smplayer)) à vos sources de logiciels; | + | Commencez par [[:tutoriel:comment_installer_un_paquet|installez le paquet]] **[[apt>python-is-python3]]**. Puis pour obtenir la dernière version : |
- | - [[:tutoriel:comment_modifier_sources_maj#recharger_la_liste_des_paquets|recharger la liste de vos paquets]]; | + | - télécharger les sources depuis [[http://youtube-dl.org/|le site officiel]] à l'aide de la [[:commande_shell|commande]] suivante lancée depuis un [[terminal]] :<code>sudo wget https://yt-dl.org/latest/youtube-dl -O /usr/local/bin/youtube-dl</code> |
- | - puis [[:tutoriel:comment_installer_un_paquet|installer le paquet]] **[[apt>youtube-dl]]**. | + | - [[:permissions#modifier_les_permissions|Rendre le fichier binaire exécutable]] : <code>sudo chmod a+x /usr/local/bin/youtube-dl</code> |
- | - :!: __Attention__: Ce [[:PPA]] contient aussi d'autres paquets de versions supérieures . Si vous ne souhaitez pas de mise à jour vers des versions supérieures de ces paquets lors de la prochaine mise à jour de votre système, [[:ppa#suppression_d_un_ppa|retirer ce PPA]] de vos sources de logiciels. | + | - Puis <code>hash -r</code> |
- | Ou dans un [[:terminal]], saisir les [[:commande_shell|commandes]] suivantes: <code>sudo add-apt-repository ppa:rvm/smplayer | + | Pour mettre à jour **youtube-dl** (les changements sont fréquents), il suffira d'entrer régulièrement la [[:commande_shell|commande]] suivante :<code>sudo youtube-dl -U</code> |
- | sudo apt-get update | + | |
- | sudo apt-get install youtube-dl</code> Puis pour retirer le [[:PPA]] de vos sources de logiciels: <code>sudo add-apt-repository ppa:rvm/smplayer --remove </code> | + | |
- | ==== Via les sources ==== | + | <note tip>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.</note> |
- | Les télécharger depuis [[http://youtube-dl.org/|le site officiel]]. Pour obtenir la dernière version : | + | Ceci peut se faire en créant une alternative ( au sens Debian[[ https://bidouilledebian.wordpress.com/2019/08/11/gestion-des-alternatives-dans-debian/]]) |
- | <code>sudo wget https://yt-dl.org/latest/youtube-dl -O /usr/local/bin/youtube-dl</code> | + | $ update-alternatives --display python |
- | Rendre le binaire exécutable | + | python - mode automatique |
- | <code>sudo chmod a+x /usr/local/bin/youtube-dl</code> | + | link best version is /usr/bin/python3 |
- | Puis | + | le lien pointe actuellement sur /usr/bin/python3 |
- | <code>hash -r</code> | + | link python is /usr/bin/python |
+ | /usr/bin/python2 - priorité 1 | ||
+ | /usr/bin/python3 - priorité 2 | ||
- | Pour mettre à jour par la suite, il suffit d'entrer la commande suivante : | + | Ce qui par exemple se vérifie: |
- | <code>sudo youtube-dl -U</code> | + | |
- | ==== Installation d'un package youtube-dl compilé ==== | + | $ 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 | ||
- | Taper les commandes suivantes pour compiler son propre package youtube-dl et l'installer : | + | =====Configuration==== |
- | <code> | + | Vous pouvez modifier la configuration par défaut de **Youtube-dl**. Il suffit alors de [[:tutoriel/comment_modifier_un_fichier|créer un fichier]] de configuration **~/.config/youtube-dl/config** en y indiquant vos propres options : |
- | sudo apt install -y python-sphinx pandoc | + | - Ouvrir votre dossier personnel |
- | mkdir -p src && cd src && git clone https://github.com/rg3/youtube-dl | + | - [[:fichier_cache#afficher_les_elements_caches|Afficher les dossiers cachés]] avec la combinaison de touches <Ctrl>+<H> |
- | cd youtube-dl*/ | + | - Ouvrir le dossier **.config** |
- | make && sudo checkinstall --pkgname youtube-dl --pkgversion $(awk -F"'" '/__version__/{print$2}' ./youtube_dl/version.py) --requires "python-pkg-resources, python, python" | + | - Dans ce dernier, créer un dossier **youtube-dl** puis à l'intérieur : |
- | </code> | + | - [[:tutoriel/comment_modifier_un_fichier|créer le fichier]] de configuration **config** |
+ | - 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 :<file - ~/.config/youtube-dl/config>--extract-audio | ||
+ | --audio-format mp3</file> | ||
+ | À peu près toutes les options du chapitre [[#Utilisation]] ci-dessous sont possibles. (Pour encore plus d'options, voir le [[man>youtube-dl| (en) manuel]]). | ||
- | Pour faire une MAJ de ce package compile, taper les commandes suivantes : | + | __À 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** |
- | <code> | + | |
- | cd youtube-dl*/ && git pull | + | |
- | make && sudo checkinstall --pkgname youtube-dl --pkgversion $(awk -F"'" '/__version__/{print$2}' ./youtube_dl/version.py) --requires "python-pkg-resources, python, python" | + | |
- | </code> | + | |
===== Utilisation ===== | ===== Utilisation ===== | ||
- | - Ouvrir un [[:terminal]] | + | - 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 ; |
- | - Se rendre sur un des sites compatible et rechercher la vidéo que vous voulez télécharger. | + | - Ouvrir un [[:terminal]], saisir **''youtube-dl''** suivie d'un espace et coller l'adresse %%URL%% de la vidéo à sa suite <code>youtube-dl url_de_la_vidéo</code> |
- | - Copier et coller l'adresse %%URL%% de la vidéo dans le [[:terminal]] à la suite de **''youtube-dl''** séparée d'un espace:<code>youtube-dl <url_de_la_vidéo></code> | + | - Appuyer sur "Enter" ou "Entrée" pour exécuter la [[:commande_shell|commande]]. |
- | - 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 **[[:console#cd|cd]]**. |
- | + | ||
- | La vidéo sera enregistrée dans votre dossier personnel. Pour l’enregistrer dans un autre dossier, avant tout, il suffit dans le [[:terminal]] de se positionner dans le dossier voulu à l'aide de la commande **[[:console#cd|cd]]**. | + | |
==== Obtenir uniquement l'audio ==== | ==== 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 : | + | |
- | <code>youtube-dl -x <url_de_la_vidéo></code> | + | Si vous souhaitez n'obtenir que la bande son de la vidéo il suffit d'utiliser l'option ''-x'' soit la [[:commande_shell|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_shell|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 ==== | ==== Choisir la qualité et le format ==== | ||
- | Lister les formats et qualités disponibles avec l'option -F : | + | - Lister les formats et qualités disponibles avec l'option **-F** :<code>youtube-dl -F url_de_la_vidéo</code>Peut donner quelques chose comme :<code>format code extension resolution note |
- | <code>youtube-dl -F <url_de_la_vidéo></code> | + | |
- | Peut donner quelques chose comme : | + | |
- | <code>format code extension resolution note | + | |
171 webm audio only DASH webm audio , audio@ 48k (worst) | 171 webm audio only DASH webm audio , audio@ 48k (worst) | ||
140 m4a audio only DASH audio , audio@128k | 140 m4a audio only DASH audio , audio@128k | ||
Ligne 83: | Ligne 100: | ||
136 mp4 720p DASH video , video only | 136 mp4 720p DASH video , video only | ||
137 mp4 1080p DASH video , video only | 137 mp4 1080p DASH video , video only | ||
- | 17 3gp 176x144 | + | 17 3gp 176x144 |
- | 36 3gp 320x240 | + | 36 3gp 320x240 |
- | 5 flv 400x240 | + | 5 flv 400x240 |
- | 43 webm 640x360 | + | 43 webm 640x360 |
- | 18 mp4 640x360 | + | 18 mp4 640x360 |
22 mp4 1280x720 (best)</code> | 22 mp4 1280x720 (best)</code> | ||
- | + | - Ensuite avec l'option **-f**, choisir les formats vidéo et audio souhaités //(Le premier format doit contenir la vidéo)// :<code>youtube-dl -f 137+140 url_de_la_vidéo</code> Ou encore un format complet (par exemple le format videoflash) :<code>youtube-dl -f 5 url_de_la_vidéo</code> | |
- | Ensuite avec l'option -f choisir le où les formats voulus : | + | * On trouve également des retours de ce type :<code>ld mp4 320x240 (worst) |
- | <code>youtube-dl -f 140+137 <url_de_la_vidéo></code> | + | |
- | On trouve également des retours de ce type : | + | |
- | <code>ld mp4 320x240 (worst) | + | |
standard mp4 512x384 | standard mp4 512x384 | ||
- | hq mp4 848x480 (best)</code> | + | hq mp4 848x480 (best)</code>Dans ce cas on utilisera par exemple :<code>youtube-dl -f standard url_de_la_vidéo </code> |
- | Dans ce cas on utilisera par exemple : | + | |
- | <code>youtube-dl -f standard <url_de_la_vidéo> </code> | + | |
==== Enregistrement de sous-titres ==== | ==== Enregistrement de sous-titres ==== | ||
- | Avant de télécharger la vidéo, dans un terminal : | + | - Avant de télécharger la vidéo, dans un [[:terminal]], saisir la [[:commande_shell|commande]]:<code>youtube-dl --list-subs url_de_la_vidéo</code> Une liste des langues disponibles est affichée :<code>[youtube] 'référence de la vidéo': Available subtitles for video: en</code> |
- | <code>youtube-dl --list-subs <url_de_la_vidéo></code> | + | - Télécharger la vidéo avec les sous-titres (exemple avec l'anglais) avec cette [[:commande_shell|commande]]:<code>youtube-dl --write-sub --sub-lang 'en' url_de_la_vidéo</code> |
- | Une liste des langues disponibles est affichée : | + | ==== Problème de SME: proxy TOR ==== |
- | <code>[youtube] 'référence de la vidéo': Available subtitles for video: en</code> | + | 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 : | ||
+ | <note important>obfs4proxy n'est plus disponible dans les dépôts officiels depuis [[Focal|Ubuntu 20.04]]((https://packages.ubuntu.com/search?suite=default§ion=all&arch=any&searchon=names&keywords=obfsproxy)) </note> | ||
+ | - [[:tutoriel:comment_installer_un_paquet|installer]] **[[apt>proxychains,tor|proxychains, tor]]** et **[[apt>obfs4proxy]]** | ||
+ | - pour télécharger la vidéo, utiliser ''proxychains'': <code>proxychains yt-dlp url_de_la_video</code> | ||
- | Télécharger la vidéo avec les sous-titres (exemple avec l'anglais) : | ||
- | <code>youtube-dl --write-sub --sub-lang 'en' <url_de_la_vidéo></code> | ||
- | =====Problèmes connus===== | + | =====Convertir un fichier webm en .mp4===== |
- | ====Trusty 14.04 et Avconv==== | + | Le format vidéo le plus utilisé sur Internet, et sur youtube en particulier, est le [[webm|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** : |
- | **Youtube-dl** peut rencontrer des problèmes de conversion avec version 9 de l'[[:avconv|encodeur vidéo Avconv]] disponible dans les [[:depots|dépôts officiels]] pour [[:trusty|Ubuntu Trusty 14.04]]. Si tel était le cas, il suffit de [[:avconv#via_un_ppa_pour_trusty_1404_uniquement|mettre à jour Avconv depuis un PPA]]. | + | |
+ | <code>ffmpeg -i ma-video.webm ma-video.mp4</code> | ||
+ | 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** | ||
+ | |||
+ | <code>ffmpeg -i ma-video.webm -c copy ma-video.mp4</code> | ||
+ | |||
+ | ===== Rechercher des vidéos et les regarder directement ===== | ||
+ | Après avoir [[:tutoriel:comment_installer_un_paquet|installé le paquet]] **[[apt>mpv]]**, tapez dans un terminal((Nécessite d'avoir une version de Youtube-dl à jour)) : | ||
+ | * Par exemple | ||
+ | - Pour **Installer Ubuntu 18.04** la commande sera : | ||
+ | <code>mpv ytdl://ytsearch:installer_ubuntu_18.04</code> | ||
+ | |||
+ | ===== Désinstallation ===== | ||
+ | Pour supprimer cette application, il suffit de [[:tutoriel:comment_supprimer_un_paquet|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==== | ||
+ | [[:tutoriel:comment_supprimer_un_fichier|Supprimer le fichier]] /usr/local/bin/**youtube-dl** | ||
+ | |||
=====Voir aussi ===== | =====Voir aussi ===== | ||
- | * **(en)** Site officiel [[http://rg3.github.io/youtube-dl/|ici]] | + | * **(en)** [[https://rg3.github.io/youtube-dl/|Site officiel]] |
- | * **(en** Plus d'options [[https://github.com/rg3/youtube-dl|ici]] | + | * **(en)** [[https://github.com/rg3/youtube-dl|Plus d'options]] |
- | * ** (fr)** Aide [[http://la-vache-libre.org/youtube-dl-telechargez-des-videos-en-ligne-de-commande-sur-diverses-plateformes-vimeo-youtube-google-arte-tv-etc/|ici]] | + | |
* [[man>youtube-dl|Le manuel]] | * [[man>youtube-dl|Le manuel]] | ||
+ | * [[:yt-dlp]] | ||
+ | |||
+ | 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: [[:utilisateurs:gp974|Gp974]], [[:utilisateurs:mydjey|mydjey]] | + | //Contributeurs: [[:utilisateurs:gp974|Gp974]], [[:utilisateurs:mydjey|mydjey]].// |