[[https://github.com/yt-dlp/yt-dlp/]], {{ prog:yt-dlp:youtube-dl-2020.09.20.exe |Archive 2020.09.20}}, les [[https://www.microsoft.com/en-US/download/details.aspx?id=5555|Microsoft Visual C++ 2010 Redistributable Package (x86)]] et la librairie de conversion [[https://libav.org/download/|libav]] {{ prog:yt-dlp:libav-x86_64-w64-mingw32-20170415.7z |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é. ====Authentification par cookie==== [[https://gist.github.com/barbietunnie/8531d9c26cd1c0668e7278c7c4ba5853|How to download your Udemy course videos using youtube-dl]] {{ prog:yt-dlp:downloading_udemy_videos_with_youtube-dl_github_2020-01-06_10_45_04_am_.html |Archive du 14/02/2018 le 06/01/2020}} * Installer le plugin [[https://chrome.google.com/webstore/detail/cookiestxt/njabckikapfpffapmjgojcnbfjonfjfg|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 -p -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 ''[[https://github.com/bansan85/youtube-dl-cleanup|youtube-dl-cleanup]]''.