Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
youtube-dl [Le 17/09/2020, 19:16] – [Installation] ppliquer la méthode 1.2 ci-dessous christophe cyoutube-dl [Le 04/02/2021, 09:12] (Version actuelle) – ancienne révision (Le 17/01/2021, 18:31) restaurée 86.213.93.155
Ligne 1: Ligne 1:
 +{{tag>Bionic multimédia capture}}
  
 +----
 +
 +====== 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]]. \\
 +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. 
 +
 +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 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.
 +
 +===== 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====
 +**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 le site officiel ====
 +<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 :
 +  - 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>
 +  -  Puis <code>hash -r</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** 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====
 +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
 +  - [[:fichier_cache#afficher_les_elements_caches|Afficher les dossiers cachés]] avec la combinaison de touches <Ctrl>+<H>
 +  - Ouvrir le dossier **.config**
 +  - 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**
 +  - 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]]).
 +
 +__À 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 =====
 +
 +  - 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>
 +  - Appuyer sur "Enter" ou "Entrée" pour exécuter la [[:commande_shell|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]]**.
 +
 +==== 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]] :
 +
 +  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 :
 +
 +  youtube-dl -x --audio-format mp3 url_de_la_vidéo
 +
 +==== Choisir la qualité et le format ====
 +  - 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 
 +171         webm      audio only  DASH webm audio , audio@ 48k (worst)
 +140         m4a       audio only  DASH audio , audio@128k
 +160         mp4       144p        DASH video , video only
 +133         mp4       240p        DASH video , video only
 +134         mp4       360p        DASH video , video only
 +135         mp4       480p        DASH video , video only
 +136         mp4       720p        DASH video , video only
 +137         mp4       1080p       DASH video , video only
 +17          3gp       176x144     
 +36          3gp       320x240     
 +5           flv       400x240     
 +43          webm      640x360     
 +18          mp4       640x360     
 +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>
 +    * On trouve également des retours de ce type :<code>ld          mp4       320x240     (worst)
 +standard    mp4       512x384     
 +hq          mp4       848x480     (best)</code>Dans ce cas on utilisera par exemple :<code>youtube-dl -f standard url_de_la_vidéo </code>
 +
 +==== Enregistrement de sous-titres ====
 +
 +  - 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>
 +  - 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>
 +
 +==== Problème de SME: proxy TOR ====
 +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:
 +  - [[:tutoriel:comment_installer_un_paquet|installer]] **[[apt>proxychains,tor,obfsproxy|proxychains tor obfsproxy]]**
 +  - pour télécharger la vidéo, utiliser ''proxychains'': <code>proxychains youtube-dl url_de_la_video</code>
 +
 +
 +=====Convertir un fichier webm en .mp4=====
 +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** :
 +
 +<code>ffmpeg -i ma-video.webm ma-video.mp4</code>
 +La qualité de sortie est alors d'une qualité moyenne.
 +
 +Plus rapide est 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>
 +   
 +
 +=====Voir aussi =====
 +  * **(en)** [[http://rg3.github.io/youtube-dl/|Site officiel]]
 +  * **(en)** [[https://github.com/rg3/youtube-dl|Plus d'options]]
 +  * ** (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]]
 +
 +===== 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 le site officiel====
 +[[:tutoriel:comment_supprimer_un_fichier|Supprimer le fichier]] /usr/local/bin/**youtube-dl**
 +
 +
 +----
 +
 +//Contributeurs:  [[:utilisateurs:gp974|Gp974]], [[:utilisateurs:mydjey|mydjey]].//