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 Prochaine révision Les deux révisions suivantes | ||
youtube-dl [Le 16/12/2018, 10:04] christophe c [Convertir un fichier webm en .mp4] précision |
youtube-dl [Le 10/10/2021, 11:19] 86.215.34.61 |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | {{tag>Bionic 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 ====== | ||
+ | <note>Youtube-dl étant actuellement en [[https://github.com/ytdl-org/youtube-dl/releases/tag/2021.06.06|arrêt de développement]], si le téléchargement ne fonctionne pas, utilisez [[https://github.com/yt-dlp/yt-dlp|yt-dlp]]. </note> | ||
**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]]. \\ | **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]]. \\ | ||
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. \\ | 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. \\ | ||
Ligne 11: | Ligne 11: | ||
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]])// . | 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]])// . | ||
- | 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 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. |
- | + | ||
- | ===== Pré-requis ===== | + | |
- | + | ||
- | * Disposer des [[:sudo|droits d'administration]]. | + | |
- | * Disposer d'une connexion à Internet configurée et activée. | + | |
- | * Avoir installé l'encodeur vidéo [[:FFmpeg]] (ou [[:avconv|Libav-tools]] pour [[:trusty|Ubuntu Trusty 14.04]]). Dans le cas contraire, la version de l'encodeur vidéo disponible depuis les [[:depôts|dépôts officiels]] sera installée automatiquement. | + | |
===== 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). Préférez alors une solution facile à mettre à jour disponible depuis le [[#via un PPA|PPA ci-dessous]] ou bien la dernière version depuis le [[#via le site officiel|site officiel]] ou encore l'[[#installation d'un package youtube-dl compilé]]. | + | 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). |
- | + | ||
- | Pour [[:trusty|Ubuntu Trusty 14.04]], il est nécessaire d'utiliser la [[:avconv#via_un_ppa_pour_trusty_1404_uniquement|version 11 de l'encodeur audio/vidéo Avconv]], la version 9 par défaut ne fonctionnant pas avec Youtube-dl. Une autre solution consiste à utiliser à la place l'[[:ffmpeg#via_un_ppa_pour_trusty_1404_uniquement|encodeur FFmpeg]] tout aussi bien pris en charge. | + | |
====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]]. |
- | ====Via un dépôt PPA==== | ||
- | |||
- | Ce [[:PPA|dépôt PPA]] est fréquemment mis à jour et permet ainsi de bénéficier d'une version très récente de **Youtube-dl** ainsi que de sa tenue à jour. Pour cela il suffit: | ||
- | - d'[[:ppa|ajouter le PPA]] **ppa:rvm/smplayer**((https://launchpad.net/~rvm/+archive/ubuntu/smplayer/)) à vos sources de logiciels; | ||
- | - [[:tutoriel:comment_modifier_sources_maj#recharger_la_liste_des_paquets|recharger la liste de vos paquets]]; | ||
- | - puis [[:tutoriel:comment_installer_un_paquet|installer le paquet]] **[[apt>youtube-dl]]**. | ||
==== Via le site officiel ==== | ==== Via le site officiel ==== | ||
- | <note important>Installer un paquet hors des [[:dépôts]] officiels peut présenter un risque d'instabilité pour votre système. </note> | + | <note important>Installer un logiciel hors des paquets des [[:dépôts]] officiels peut présenter un risque d'instabilité pour votre système. </note> |
- | Pour obtenir la dernière version: | + | Pour obtenir la dernière version : |
- | - 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> | + | - 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> |
- | - [[:permissions#modifier_les_permissions|Rendre le fichier binaire exécutable]]: <code>sudo chmod a+x /usr/local/bin/youtube-dl</code> | + | - [[:permissions#modifier_les_permissions|Rendre le fichier binaire exécutable]] : <code>sudo chmod a+x /usr/local/bin/youtube-dl</code> |
- Puis <code>hash -r</code> | - Puis <code>hash -r</code> | ||
- | Pour mettre à jour par la suite **youtube-dl**, il suffira d'entrer la [[:commande_shell|commande]] suivante:<code>sudo youtube-dl -U</code> | + | 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> |
+ | |||
+ | Si vous avez un message d'erreur **/usr/bin/env: «python»: Aucun fichier ou dossier de ce type**, faire un **sudo apt install python-is-python3** solutionne le problème. | ||
+ | |||
+ | <note tip>Précisions:</note> | ||
+ | |||
+ | 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 Debian[[ https://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 | ||
+ | |||
=====Configuration==== | =====Configuration==== | ||
- | 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: | + | 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 : |
- Ouvrir votre dossier personnel | - Ouvrir votre dossier personnel | ||
- [[:fichier_cache#afficher_les_elements_caches|Afficher les dossiers cachés]] avec la combinaison de touches <Ctrl>+<H> | - [[:fichier_cache#afficher_les_elements_caches|Afficher les dossiers cachés]] avec la combinaison de touches <Ctrl>+<H> | ||
- Ouvrir le dossier **.config** | - Ouvrir le dossier **.config** | ||
- | - Dans ce dernier, créer un dossier **youtube-dl** puis à l'intérieur: | + | - Dans ce dernier, créer un dossier **youtube-dl** puis à l'intérieur : |
- [[:tutoriel/comment_modifier_un_fichier|créer le fichier]] de configuration **config** | - [[:tutoriel/comment_modifier_un_fichier|créer le fichier]] de configuration **config** | ||
- | - Ajouter dans ce fichier les options souhaités chacune sur une ligne différente puis enregistrer et fermer ce fichier. | + | - 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 | + | 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> | --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]]). | À 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]]). | ||
- | __À 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** | + | __À 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** |
===== Utilisation ===== | ===== Utilisation ===== | ||
- | - Se rendre sur un des sites compatible et rechercher la vidéo que vous voulez télécharger et copier l'adresse de sa page; | + | - 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 ; |
- | - 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> | + | - 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> |
- Appuyer sur "Enter" ou "Entrée" pour exécuter la [[:commande_shell|commande]]. | - Appuyer sur "Enter" ou "Entrée" pour exécuter la [[:commande_shell|commande]]. | ||
- | La vidéo sera enregistrée en qualité la meilleure 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 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]]**. |
==== 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 la [[:commande_shell|commande]]: | + | |
- | <code>youtube-dl -x url_de_la_vidéo</code> Le fichier audio extrait sera au meilleur format. | + | 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]] : |
- | ===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". \\ | + | youtube-dl -x url_de_la_vidéo |
- | Exemple de [[:commande_shell|commande]] pour obtenir un format Mp3: <code>youtube-dl -x --audio-format mp3 url_de_la_vidéo</code> | + | |
+ | 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 ==== | ||
Ligne 87: | Ligne 123: | ||
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 voulus //(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 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> |
* On trouve également des retours de ce type :<code>ld mp4 320x240 (worst) | * On trouve également des retours de ce type :<code>ld mp4 320x240 (worst) | ||
standard mp4 512x384 | standard mp4 512x384 | ||
Ligne 111: | Ligne 147: | ||
La qualité de sortie est alors d'une qualité moyenne. | La qualité de sortie est alors d'une qualité moyenne. | ||
- | Vous pouvez spécifier une autre qualité de sortie avec l'option **-crf**. "0" donne la meilleur qualité (et le plus gros fichier), "51" donne la moins bonne qualité (et le plus petit fichier). Pour une qualité maximum (mais le fichier peut-être 10 fois plus gros que le webm initial !) : | + | 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 -crf 0 ma-video.mp4</code> | + | <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 ===== | ||
Ligne 120: | Ligne 169: | ||
* ** (fr)** [[http://la-vache-libre.org/youtube-dl-telechargez-des-videos-en-ligne-de-commande-sur-diverses-plateformes-vimeo-youtube-google-arte-tv-etc/|Aide]] | * ** (fr)** [[http://la-vache-libre.org/youtube-dl-telechargez-des-videos-en-ligne-de-commande-sur-diverses-plateformes-vimeo-youtube-google-arte-tv-etc/|Aide]] | ||
* [[man>youtube-dl|Le manuel]] | * [[man>youtube-dl|Le manuel]] | ||
+ | * [[https://github.com/yt-dlp/yt-dlp|yt-dlp]] | ||
- | ===== Désinstallation ===== | ||
- | Les journaux du système, et les fichiers de préférence des utilisateurs dans leurs dossiers personnels sont toujours conservés. | ||
- | ====Installé depuis les dépôts officiels ou depuis le PPA==== | ||
- | 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. | ||
- | |||
- | ====Installé depuis le site officiel==== | ||
- | [[:tutoriel:comment_supprimer_un_fichier|Supprimer le fichier]] /usr/local/bin/**youtube-dl** | ||