[3/5] Youtube-DL, un outil efficace
C’est régulier, environ 3-4 fois par semaine; je télécharge des vidéos Youtube. Soit pour la vidéo ou bien le son, car c’est bien souvent un podcast. L’outil est en ligne de commande et est d’une grande puissance. Il n’est pas, contrairement à ce que ce nom indique, limité à la plateforme Youtube. Passons le en revue.
Comment l’installer ?
Sous Debian/Ubuntu :
sudo apt-get install youtube-dl
Simple. Pour Windows, Mac ou autres ditributions, c’est directement sur le site web.
Comment l’utiliser (en bash/ligne de commande) ?
En simple et rapide : youtube-dl url-de-la-vidéo
. Basique. Mais tout est personnalisable ! On peut aller bien plus loin.
Choisir ses formats
L’option youtube-dl -F
permet de voir tout les formats disponible pour une url donnée. Après avoir trouvé le(s) bon(s) format(s) audio et vidéo, on télécharge comme ceci :
youtube-dl -f id_du_format_video+id_du_format_audio
Pour ne télécharger que l’audio, on retire l’identifiant vidéo et on ajoute l’option -x
.
Exemple avec une vidéo
$ youtube-dl -F https://www.youtube.com/watch?v=DLzxrzFCyOs
qui renvoie
[youtube] DLzxrzFCyOs: Downloading webpage
[youtube] DLzxrzFCyOs: Downloading video info webpage
[youtube] DLzxrzFCyOs: Downloading js player vflVKnssA
[info] Available formats for DLzxrzFCyOs:
format code extension resolution note
249 webm audio only DASH audio 50k , opus @ 50k, 1.21MiB
250 webm audio only DASH audio 67k , opus @ 70k, 1.61MiB
140 m4a audio only DASH audio 128k , m4a_dash container, mp4a.40.2@128k, 3.22MiB
251 webm audio only DASH audio 133k , opus @160k, 3.23MiB
171 webm audio only DASH audio 147k , vorbis@128k, 3.48MiB
278 webm 192x144 144p 74k , webm container, vp9, 30fps, video only, 1.73MiB
160 mp4 192x144 144p 84k , avc1.4d400c, 30fps, video only, 1.84MiB
242 webm 320x240 240p 171k , vp9, 30fps, video only, 3.90MiB
133 mp4 320x240 240p 184k , avc1.4d400d, 30fps, video only, 3.37MiB
243 webm 480x360 360p 308k , vp9, 30fps, video only, 7.00MiB
134 mp4 480x360 360p 465k , avc1.4d401e, 30fps, video only, 8.17MiB
244 webm 640x480 480p 564k , vp9, 30fps, video only, 11.94MiB
135 mp4 640x480 480p 888k , avc1.4d401e, 30fps, video only, 15.12MiB
247 webm 960x720 720p 1128k , vp9, 30fps, video only, 23.19MiB
136 mp4 960x720 720p 1541k , avc1.4d401f, 30fps, video only, 27.92MiB
248 webm 1440x1080 1080p 1977k , vp9, 30fps, video only, 40.53MiB
137 mp4 1440x1080 1080p 2576k , avc1.640028, 30fps, video only, 48.18MiB
271 webm 1920x1440 1440p 4368k , vp9, 30fps, video only, 83.94MiB
17 3gp 176x144 small , mp4v.20.3, mp4a.40.2@ 24k, 2.03MiB
36 3gp 320x240 small , mp4v.20.3, mp4a.40.2, 5.56MiB
18 mp4 480x360 medium , avc1.42001E, mp4a.40.2@ 96k, 14.65MiB (best)
Seul la musique m’intéresse ;)
youtube-dl -f 140 -x https://www.youtube.com/watch?v=DLzxrzFCyOs
Finalement, ma soeur veut avoir la vidéo pour la regarder avant de s’endormir.
youtube-dl -f 271+140 https://www.youtube.com/watch?v=DLzxrzFCyOs
Et en haute qualité en plus !
Des sous-titres !
C’est quand même cool de regarder des vidéos dans d’autres langues, avec les sous-ttres que l’on souhaite. --list-subs
indique les sous-titres possibles. On chosit celui ou ceux que l’on veut avec leur identifiant (en, fr, de…). Hop, ajout de l’option --sub-lang id_du_sous_titre
à la commande, avec le format si souhaité (selon disponibilité) --sub-formats nom_du_format
.
On a du choix : soit c’est incrusté dans la vidéo avec --embed-subs
, soit un fichier sous-titre est crée --write-subs
dans le même répertoire que la vidéo téléchargé. Fonctionnalité assez sympa pour le format matroshka (.mkv), qui permet d’avoir les sous-titres dans le fichier vidéo.
Télécharger des playlists
Une vidéo n’est pas assez suffisante ? Les playlists le seront. Par défaut, une vidéo de playlist (contenant dans l’url un paramètre &list=id_random
), téléchargera la playlist.
On peut forcer le téléchargement de toutes les vidéos avec l’option --yes-playlist
ou au contraire, l’empêcher avec no-playlist
.
La sélection de vidéo se fait avec leur index dans la playlist avec --playlist-start number
et --playlist-end number
. Ou bien sélectionner les vidéos avec --playlist-items number1, number2...
.
Les trucs cools
- Le nommage des vidéos téléchargés peut se faire selon un template avec l’option :
-o template
- Réencoder la vidéo après l’avoir téléchagé :
--recode-video format
- Limitation du débit lors du téléchargement (parce que ma soeur regarde des vidéos youtube):
--limit-rate rate
Et plus encore
Il y a encore beaucoup d’options possibles. Mais à ce point, RTFM avec le manuel en ligne de commande ou l’aide en ligne.