Outils pour utilisateurs

Outils du site


prog:yt-dlp

https://github.com/yt-dlp/yt-dlp/, Archive 2020.09.20, les Microsoft Visual C++ 2010 Redistributable Package (x86) et la librairie de conversion libav Archive x86_64-w64-mingw32-20170415

Choix de la qualité

Sans spécifier la qualité, il peut arriver que le téléchargement s'effectue en 720p alors que le format en 1080p existe.

Récupérer la liste des formats disponibles d'une vidéo.

yt-dlp -F https://www.youtube.com/watch?v=XXXXXXX

Télécharger le format spécifique d'une vidéo :

yt-dlp -f 22 http://www.youtube.com/watch?v=XXXXXXX

Certains formats ne contiennent que la vidéo (video only) ou que la musique (audio only). Notamment pour les vidéos de qualité supérieure à 720p. Pour les récupérer, il faut sélectionner les deux formats en les séparant par un + et toujours mettre en premier la vidéo.

yt-dlp -f 137+140 http://www.youtube.com/watch?v=XXXXXXX

Les formats désignant la qualité semblent respecter un certain standard :

  • Nombre à deux chiffres : contient la vidéo et la musique,
  • Nombre à trois chiffres : contient uniquement la vidéo ou la musique,
  • Les nombres commençant par 1 sont au format mp3 et/ou mp4,
  • Les nombres commençant par 2 sont au format webm.

Pour ces raisons, il est préférable lors de la sélection des deux formats (audio+video) de choisir deux nombres à trois chiffres commençant tous les deux par le même chiffre. De toute façon, si vous ne le faites pas yt-dlp ne manquera pas de vous le rappeler.

Il est aussi possible de forcer l'utilisation de la meilleure qualité

yt-dlp -f bestvideo+bestaudio http://www.youtube.com/watch?v=XXXXXXX

Options

  • Sous-titre : --all-subs. Télécharge tous les sous-titres.
  • Ignorer les erreurs : --ignore-errors. Peut-être utile pour télécharger une playlist qui contient quelques vidéos privées ou ayant été retirées.
  • Sauter les N premières vidéos : --playlist-start X. Peut-être utile pour reprendre le téléchargement d'une playlist en ignorant les X premiers.
  • Limiter le débit : -r 50K

Playlist

Dans le cas où on souhaite récupérer une longue playlist de Youtube, il va falloir ajouter des arguments

--retries 100 --fragment-retries 100 --playlist-start 1800

--retries 100 --fragment-retries 100 va être nécessaire car Youtube va volontairement faire jusqu'à 10 échecs (valeur par défaut du programme) mais rarement plus.

--playlist-start car il faudra peut-être recommencer après un ban de Youtube avec des messages du genre WARNING: unable to download video info webpage: HTTP Error 429: Too Many Requests

  • Mise à jour d'une playlist Youtube avec sous-titre

Youtube n'aime pas qu'on télécharge trop vite les sous-titres. Il faut donc cumuler l'option –sleep-subtitles 3 (pour mettre une pause entre chaque sous-titre) et l'option -w pour ne pas télécharger un sous-titre déjà récupéré.

How to download your Udemy course videos using youtube-dl Archive du 14/02/2018 le 06/01/2020

  • Installer le plugin cookies.txt pour Chrome.
  • Se connecter à udemy,
  • Enregistre le cookie :
.udemy.com      TRUE    /       TRUE    1234567890      XXXX   YYYY
www.udemy.com   FALSE   /       FALSE   1850531135      ZZZZ   AAAA
  • Télécharger avec la commande yt-dlp --cookies cookies.txt -f best -o '%(playlist)s/%(chapter_number)s - %(chapter)s/%(playlist_index)s. %(title)s.%(ext)s' https://www.udemy.com/cours-complet-ios10-swift-3-creez-15-applications/

Il est aussi possible de se passer de cookie.txt en mettant le nom d'utilisateur et le mot de passe directement dans yt-dlp.

yt-dlp -u <username> -p <password> -f best -o '%(playlist)s/%(chapter_number)s - %(chapter)s/%(playlist_index)s. %(title)s.%(ext)s' https://www.udemy.com/cours-complet-ios10-swift-3-creez-15-applications/

Fusion des sous-titres avec la vidéo

On converti le format vtt en ass :

ffmpeg -i subtitle.en.vtt subtitle.en.ass

On fusionne la vidéo et le sous-titre :

ffmpeg -i input.mkv -f ass -i subtitle.ass -map 0:0 -map 0:1 -map 1:0 -c:v copy -c:a copy -c:s ass -metadata:s:s:0 language=eng output.mkv

Suppression des vidéos en double

Quand on relance le téléchargement d'une playlist, certaines vidéos peuvent être téléchargée à nouveau mais dans un meilleur format.

Attention, yt-dlp va mettre comme date de modification, celle du serveur Youtube. Il n'est donc pas possible d'utiliser la date de modification.

Sous Windows, il faut utiliser la date de création. Pour cela, il est possible d'utiliser l'utilitaire youtube-dl-cleanup.

prog/yt-dlp.txt · Dernière modification : 2022/05/01 10:58 de root