Yt-dlp

Version datée du 16 juin 2026 à 16:01 par Tom M (discussion | contributions) (Création de la page)
(diff) ← Version précédente | Version actuelle (diff) | Version suivante → (diff)

Introduction

Yt-dlp est un logiciel permettant de télécharger des fichiers audios et vidéos sur des milliers de sites (liste des sites compatibles : https://github.com/yt-dlp/yt-dlp/blob/master/supportedsites.md).

Nous l'utilisons à ReNX principalement pour télécharger des musiques pour le mix sur youtube, soundcloud... mais il peut également être pratique pour le pôle média pour télécharger des vidéos sur youtube.

⚠ Attention ⚠ Les commandes en dessous sont pours windows, adapter la syntaxe pour linux


Installation

  1. Télécharger l'éxécutable yt-dlp depuis le github https://github.com/yt-dlp/yt-dlp et le mettre dans un dossier en amont de nos playlists (c'est plus pratique pour la suite)
  2. Installer ffmpeg (pour la convertion de fichier, voir leur site pour installation, ou faire dans le terminal windows : winget install ffmpeg)
  3. Installer deno (pour des trucs javascript de youtube, voir le site pour installation : https://deno.com/ ou faire dans le terminal windows : irm https://deno.land/install.ps1 | iex)
  4. Récupérer les cookies de son navigateur (à faire que pour des téléchargements avec youtube, pour montrer qu'on est pas un bot à youtube). ⚠ Attention ⚠ Risque de ban donc utiliser un compte youtube pas important ! :
    1. sur naviagteur chrome (brave...) / edge : installer l'extension Get cookies.txt LOCALLY, ou sur navigateur Firefox installer l'extension cookies.txt
    2. Ouvrir une fenêtre de navigation privée
    3. Se connecter à youtube (avec un compte pas utile !)
    4. DANS LE MEME ONGLET aller sur : https://www.youtube.com/robots.txt (on doit avoir qu'un seul onglet actif !)
    5. Cliquer sur l’extension de cookie puis Export cookies
    6. Sauvegarder le fichier dans le même dossier que yt-dlp (ex: youtube_cookies.txt)
    7. Fermer immédiatement la fenêtre privée

Remarque : on fait ça pour avoir des cookies qui n'expirent pas. Cette suite d'étape est tiré de ce lien : https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies


Utilisation

Pour du mp3

Dans le terminal (powershell pour windows), on se place dans le dossier qui contient yt-dlp puis on lance la commande :

.\yt-dlp.exe -x --audio-format mp3 --embed-thumbnail --add-metadata --cookies youtube_cookies.txt --sleep-interval 6 -o "./path/%(title)s --- %(uploader)s.%(ext)s" URL

À CHANGER :

- URL par l'url de la playlist

- ./path/ par le dossier du PC dans lequel on veut mettre notre playlist

- youtube_cookies.txt par le nom du fichier qui contient nos cookies youtube

- Enlever sleep-interval 6 si on télécharge peu de musiques (<300)

Explication :

-x : garde que l'audio

--audio-format mp3 : convertit l'audio en mp3 avec ffmpeg

--embeded-thumbnail : met la miniature comme image de référence du mp3

--add-metadata : ajoute les métadonnées au fichier mp3 (nom de la musique / de l'artiste, image de la musique...)

--cookies youtube_cookies.txt : utilise nos cookies youtube pour lui dire qu'on est pas un bot

-o "./path/%(title)s --- %(uploader)s.%(ext)s : ajoute les fichiers dans le dossier path et les renomme sous la forme : titre de la vidéo --- nom de la chaine qui upload . extension mp3

--sleep-interval 6 : indique d'attendre 6 secondes entre chaque téléchargement pour éviter que youtube nous bloque (pas obligatoire si fait des petit téléchargement (<300 musiques))

URL : l'url de la playlist

Remarque : Si on veut commencer/finir de télécharger la playlist à une musique particulière, on rajoute --playlist-start NUMBER / --playlist-end NUMBER, en remplaçant NUMBER par le numéro de la musique à laquelle commencer / s'arrêter.

Pour du mp4

Pour du mkv (équivalent mp4) :

.\yt-dlp.exe --embed-thumbnail --add-metadata --cookies youtube_cookies.txt -o "./path/%(title)s --- %(uploader)s.%(ext)s" URL

Pour du mp4 :

yt-dlp -f "bv*+ba/b" --merge-output-format mp4 --embed-thumbnail --add-metadata --cookies youtube_cookies.txt -o "./path/%(title)s --- %(uploader)s.%(ext)s" URL

Pour convertir mkv en mp4 (se mettre dans le dossier avec des fichier mkv) : Get-ChildItem *.mkv | ForEach-Object { ffmpeg -i "$_" -c copy "$($_.BaseName).mp4" }

/////