Exile on Keyboard St. - Blog sur Linux et Debian

Aller au contenu | Aller au menu | Aller à la recherche

lundi 8 mai 2017

Télécharger des vidéos avec la commande ligne youtube-dl

Pour regarder tranquillement des vidéos, rien de tel que d'être façe à son téléviseur avec la vidéo déjà enregistrée. De cette façon, on évite d'utiliser les applications pénibles de Free avec le clavier virtuel et aussi les éventuels problèmes réseau. Si c'est une vdéo de musique et que le téléviseur est branché sur l'ampli, c'est encore plus fun ! Enfin, l'écran 15 pouces de l'odinateur portable, des fois ça va bien !

Sous Linux, il existe une commande ligne très simple à utiliser, c'est youtube-dl, comprendre un "Downloader" pour YouTube.

On peut soir l'installer depuis le dépot de son système Linux, soit aller sur la page d'installation de youtube-dl. En deux commandes, c'est fait.

Voyons maintenant l'utilisation de youtube-dl.

Pour télécharger la vidéo " Ask Keith Richards: Open G Tuning":

youtube-dl https://youtu.be/6S9AJAQ8PLA?list=PLATxmOOSq8eKufX6xVjiTLj9M-dfuIsmi

On obtient alors le fichier: Ask Keith Richards - Open G Tuning-6S9AJAQ8PLA.webm

Par défaut, il semble que youtube-dl télécharge la vidéo dans un format libre: .mkv, .ogv, .webm, ce qui n'est pas toujours pour plaire au player de la Freebox.

Mais on peut obliger la ligne de commande à récupérer la vidéo dans un autre format, par exemple .mp4 comme suit:

youtube-dl --format mp4 https://youtu.be/6S9AJAQ8PLA?list=PLATxmOOSq8eKufX6xVjiTLj9M-dfuIsmi

Pour voir les format possibles sans rien télécharger:

youtube-dl --list-formats https://youtu.be/6S9AJAQ8PLA?list=PLATxmOOSq8eKufX6xVjiTLj9M-dfuIsmi

qui affiche entre autres:

[info] Available formats for 6S9AJAQ8PLA:
format code  extension  resolution note
249          webm       audio only DASH audio   54k , opus @ 50k, 588.49KiB
250          webm       audio only DASH audio   72k , opus @ 70k, 787.90KiB
171          webm       audio only DASH audio  119k , vorbis@128k, 1.20MiB
140          m4a        audio only DASH audio  127k , m4a_dash container, mp4a.40.2@128k (44100Hz), 1.42MiB
251          webm       audio only DASH audio  142k , opus @160k, 1.51MiB
160          mp4        256x144    DASH video   68k , avc1.4d400c, 30fps, video only, 602.81KiB
278          webm       256x144    144p  102k , webm container, vp9, 30fps, video only, 1.01MiB
133          mp4        426x240    DASH video  210k , avc1.4d4015, 30fps, video only, 1.76MiB
242          webm       426x240    240p  223k , vp9, 30fps, video only, 1.80MiB
134          mp4        640x360    DASH video  286k , avc1.4d401e, 30fps, video only, 2.41MiB
243          webm       640x360    360p  401k , vp9, 30fps, video only, 3.24MiB
135          mp4        854x480    DASH video  521k , avc1.4d401f, 30fps, video only, 4.43MiB
244          webm       854x480    480p  643k , vp9, 30fps, video only, 5.21MiB
136          mp4        1280x720   DASH video  923k , avc1.4d401f, 30fps, video only, 7.93MiB
247          webm       1280x720   720p 1390k , vp9, 30fps, video only, 11.49MiB
137          mp4        1920x1080  DASH video 2082k , avc1.640028, 30fps, video only, 19.71MiB
248          webm       1920x1080  1080p 2780k , vp9, 30fps, video only, 25.71MiB
17           3gp        176x144    small , mp4v.20.3, mp4a.40.2@ 24k
36           3gp        320x180    small , mp4v.20.3, mp4a.40.2
43           webm       640x360    medium , vp8.0, vorbis@128k
18           mp4        640x360    medium , avc1.42001E, mp4a.40.2@ 96k
22           mp4        1280x720   hd720 , avc1.64001F, mp4a.40.2@192k (best)

On voit notamment le dernier format, mp4, pour lequel est précisé le mot best, c'est le format pour avoir la meilleure qualité audio et vidéo. De manière générale utiliser ce format devrait vous donner une vidéo exploitable. Le format .mkv n'est par exemple apparemment pas compris par la Freebox.

youtube-dl peut aussi télécharger toute une playlist. Par exemple, j'ai utilisé la commande suivante pour la Playlist "Ask Keith":

youtube-dl --ignore-errors --format mp4 https://www.youtube.com/playlist?list=PLATxmOOSq8eKufX6xVjiTLj9M-dfuIsmi

l'option --ignore-errors étant présente à cause d'une erreur de signature qui entraine l'arrêt du téléchargement après la première vidéo.

youtube-dl dispose de nombreuses options permettant par exemple de continuer un téléchargerment commencé (--continue), d'extraire la piste audio de la vidéo (--extract-audio), et aussi des options pour obtenir des informations sur la vidéo: options commençant par --get-.

A vous de découvrir les options qui correspondent à vos besoins !

samedi 22 février 2014

Obtenir les URL des playlists et chaines YouTube avec umph

Tant que Free bridera le débit en provenance de YouTube, ses abonnés (ceux qui ne sont pas encore passés à la fibre optique chez Numéricable) seront amenés à trouver des solutions de contournement pour visionner des vidéos qui ne passent pas en pause toutes les 5 secondes.

youtube-dl et clive sont des utilitaires en ligne de commande qui permettent de télécharger une vidéo YouTube (entre autres parce qu'énormément de sites de vidéos sont supportés) pour la visionner ensuite.

Cela permet de regarder la vidéo tranquillement, sans publicité et sans pause incessante.

youtube-dl est un script Python qui permet de télécharger les vidéos dans les différents formats vidéos proposés, d'en extraire les pistes audio, etc ...

Par contre, si youtube-dl permet de télécharger une playlist entière ou de télécharger en mode batch l'ensemble des URL présentes dans un fichier, rien n'est prévu pour obtenir la liste des URL de la playlist.

Pour cela il faut installer umph qui est disponible sur Google Code (umph).

Ce script Perl permet lui d'obtenir:

  • Les URL d'une playlist
  • Les URL des vidéos d'un utilisateur donné
  • Les URL des vidéos d'une liste de favoris

Seul défaut, umph n'est pas dans le repository Debian et il faut suivre les instructions d'installation données sur Google Code et installer manuellement les librairies Perl qui pourraient vous manquer. Il faut au moins celles-ci:

  • libgetopt-argvfile-perl
  • libxml-dom-perl