VIVE LA RÉVOLUTION
Accueil du site > Comment publier un article > yt-dlp et DownloadHelper

yt-dlp et DownloadHelper

lundi 13 avril 2026, par anonyme (Date de rédaction antérieure : 13 avril 2026).

Pourquoi quand je télécharge quelque chose sur youtube avec yt-dlp, je n'ai pas la qualité maximale alors qu'avec downloadhelper je l'ai ?

Bonne question — et c’est un cas très courant. La différence vient surtout de la manière dont YouTube distribue ses formats vidéo/audio et de la façon dont yt-dlp et Video DownloadHelper les récupèrent.

�� 1. YouTube ne propose pas toujours une “vidéo complète” en haute qualité

Sur YouTube, les meilleures qualités (1080p+, 4K, etc.) sont souvent :

  • séparées en vidéo seule (sans audio)
  • et audio seul

�� yt-dlp, par défaut, peut télécharger :

  • soit un format “combiné” (audio+vidéo déjà fusionnés) → mais souvent limité (ex : 720p ou moins)
  • soit le “meilleur” format… mais selon ses règles internes

⚙️ 2. yt-dlp nécessite souvent une option explicite

Si tu fais juste :

yt-dlp URL

il ne prend pas forcément la meilleure combinaison possible.

�� Pour forcer la meilleure qualité :

yt-dlp -f "bestvideo+bestaudio" URL

Et encore mieux (avec fusion automatique) :

yt-dlp -f "bv*+ba/best" URL

�� Sans ça, tu peux te retrouver avec une qualité inférieure.


�� 3. DownloadHelper fait le “travail intelligent” automatiquement

Video DownloadHelper :

  • détecte les flux séparés
  • télécharge vidéo + audio
  • fusionne automatiquement sans que tu le voies

�� Résultat : tu obtiens directement la meilleure qualité.


�� 4. Problème de codec / compatibilité

Parfois yt-dlp télécharge :

  • VP9 / AV1 (formats modernes)
  • que ton lecteur lit mal → tu penses que la qualité est moins bonne

DownloadHelper peut :

  • convertir ou proposer un format plus “compatible”

��️ 5. Vérifie les formats disponibles

Pour voir ce que YouTube propose vraiment :

yt-dlp -F URL

Tu verras :

  • toutes les résolutions
  • quels flux sont séparés

✅ Résumé

Si yt-dlp donne une moins bonne qualité, c’est souvent parce que :

  • tu ne combines pas audio + vidéo
  • il choisit un format “simple” par défaut
  • DownloadHelper fait la fusion automatiquement

�� Solution simple

Utilise :

yt-dlp -f "bv*+ba/best" --merge-output-format mp4 URL

Si tu veux, dis-moi exactement la commande que tu utilises et je te l’optimise pour avoir la qualité max à tous les coups ��

Et avec les sous-titres intégrés ?

Pour avoir la meilleure qualité vidéo + audio + sous-titres intégrés avec yt-dlp sur YouTube, il faut activer explicitement le téléchargement des sous-titres et leur fusion.


✅ �� Commande recommandée (qualité max + sous-titres intégrés)

yt-dlp -f "bv*+ba/best" \
--merge-output-format mp4 \
--embed-subs \
--sub-langs "all" \
--write-subs \
--write-auto-subs \
URL

�� Explication rapide

�� Qualité vidéo/audio

  • bv*+ba/best → meilleure vidéo + meilleur audio séparés (puis fusion)

�� Sous-titres

  • --write-subs → sous-titres “officiels” (si disponibles)
  • --write-auto-subs → sous-titres auto YouTube
  • --sub-langs "all" → toutes les langues disponibles
  • --embed-subsintègre les sous-titres dans la vidéo finale

⚠️ Point important

  • --embed-subs marche mieux avec MP4 ou MKV
  • si MP4 pose problème :
--merge-output-format mkv

�� Bonus (souvent utile)

Si tu veux forcer une langue précise :

--sub-langs "fr,en"

�� Résultat final

Tu obtiens :

  • ��️ vidéo en qualité max (4K si dispo)
  • �� audio meilleur bitrate
  • �� sous-titres intégrés directement dans le fichier

Si tu veux, je peux aussi te donner une commande “ultra propre” optimisée pour Windows / Mac / Linux selon ton cas, ou une version pour Plex / VLC ��

version pour Plex / VLC

Voici une version optimisée pour Plex et VLC avec yt-dlp, pensée pour : compatibilité maximale, lecture fluide, et sous-titres intégrés.


�� ✅ Version recommandée (Plex / VLC friendly)

yt-dlp -f "bv*[ext=mp4]+ba[ext=m4a]/b[ext=mp4]/best" \
--merge-output-format mkv \
--embed-subs \
--sub-langs "fr,en,all" \
--write-subs \
--write-auto-subs \
--convert-subs srt \
--no-mtime \
--embed-thumbnail \
--add-metadata \
URL

�� Pourquoi cette version est idéale

�� 1. Compatibilité maximale (très important pour Plex/VLC)

  • --merge-output-format mkv
    �� MKV = format le plus robuste pour :
    • sous-titres intégrés
    • multi-audio
    • codecs variés (VP9, AV1, H.264)

�� Plex préfère MKV pour les fichiers “riches”


�� 2. Audio + vidéo propre

  • bv*[ext=mp4]+ba[ext=m4a]
    �� privilégie les codecs compatibles :
    • vidéo H.264 / MP4 si possible
    • audio AAC

�� 3. Sous-titres compatibles partout

  • --write-subs → sous-titres officiels
  • --write-auto-subs → auto-générés
  • --convert-subs srt → format universel
  • --embed-subs → intégrés dans MKV

�� VLC lit tout ça sans problème
�� Plex les détecte automatiquement


��️ 4. Bonus utiles pour Plex

  • --embed-thumbnail → affiche la jaquette
  • --add-metadata → titre, date, auteur
  • --no-mtime → évite des dates de fichiers bizarres (important pour bibliothèques)

�� Résultat final dans Plex / VLC

Tu obtiens :

  • ��️ vidéo haute qualité (jusqu’à 4K si dispo)
  • �� audio propre compatible TV/serveur
  • �� sous-titres activables dans Plex/VLC
  • ��️ miniature affichée correctement
  • �� métadonnées propres (titre, chaîne)

⚠️ Petit conseil important

Si Plex ne détecte pas les sous-titres automatiquement :

  • assure-toi que le fichier est en .mkv
  • et que les subs sont bien en .srt (convertis)

�� Variante “ultra propre bibliothèque Plex”

Si tu veux encore plus “Netflix-like” :

yt-dlp -f "bv*[height<=1080]+ba/best[height<=1080]" \
--merge-output-format mkv \
--embed-subs \
--sub-langs "fr,en" \
--convert-subs srt \
--embed-thumbnail \
--add-metadata \
--no-mtime \
URL

Si tu veux, je peux te faire une version :

  • �� organisation automatique par dossiers Plex
  • ��️ nommage propre des fichiers
  • ⚙️ preset pour séries / playlists

Dis-moi ��



Il faut bv* , bv tout court ça va pas ?

Oui, bv* est généralement préférable à bv tout court dans yt-dlp — et la différence est importante.


�� Pourquoi bv* et pas bv ?

bv* (recommandé)

�� signifie :

“tous les formats vidéo bestvideo disponibles”

  • inclut VP9, AV1, H.264, etc.
  • inclut différentes résolutions (1080p, 4K…)
  • laisse yt-dlp choisir le meilleur flux vidéo possible

�� C’est flexible et robuste


⚠️ bv (seul)

�� signifie :

“un format vidéo bestvideo précis”

Problèmes possibles :

  • peut ne rien trouver selon les vidéos
  • peut forcer un format moins optimal
  • moins compatible avec certaines vidéos YouTube modernes

�� En pratique (YouTube réel)

Sur YouTube, les vidéos sont souvent séparées en :

  • 1080p VP9
  • 4K VP9
  • 4K AV1
  • parfois H.264 limité

�� bv* permet de couvrir tout ça automatiquement.


�� Exemple concret

✔️ Recommandé

yt-dlp -f "bv*+ba/best" URL

❌ Risqué / trop strict

yt-dlp -f "bv+ba" URL

�� Conclusion simple

  • bv → trop restrictif ❌
  • bv* → flexible et optimal ✅

�� Bonus (niveau avancé Plex/VLC)

Si tu veux encore plus “propre” :

yt-dlp -f "bv*[ext=mp4]+ba[ext=m4a]/b" URL

�� privilégie directement les codecs compatibles Plex/VLC


Si tu veux, je peux t’expliquer comment yt-dlp choisit exactement les flux (et pourquoi parfois il ne prend pas la 4K même si elle existe) — c’est là que ça devient vraiment intéressant ��



Quand j'écris en allant à la ligne à chaque foisyt-dlp -f "bv*[height<=1080]+ba/best[height<=1080]" \ --merge-output-format mkv \ --embed-subs \ --sub-langs "fr,en" \ --convert-subs srt \ --embed-thumbnail \ --add-metadata \ --no-mtime \ URL ça ne fonctionne pas

Le problème vient surtout de la façon dont tu retournes à la ligne et du fait que le \ ne fonctionne pas partout.


⚠️ 1. Le \ ne marche que dans certains environnements

Dans yt-dlp, le \ sert à dire :

“la commande continue sur la ligne suivante”

Mais ça dépend du shell :

�� Linux / macOS (bash, zsh)

✔️ OK avec \

�� Windows (cmd)

\ ne fonctionne pas

�� Windows (PowerShell)

⚠️ il faut plutôt le backtick :

`

✅ 2. Solutions simples

�� Solution universelle (la plus simple)

�� mets tout sur une seule ligne :

yt-dlp -f "bv*[height<=1080]+ba/best[height<=1080]" --merge-output-format mkv --embed-subs --sub-langs "fr,en" --convert-subs srt --embed-thumbnail --add-metadata --no-mtime URL

✔️ marche partout (Windows / Mac / Linux)


�� Solution Linux/macOS propre (multi-lignes)

yt-dlp -f "bv*[height<=1080]+ba/best[height<=1080]" \
--merge-output-format mkv \
--embed-subs \
--sub-langs "fr,en" \
--convert-subs srt \
--embed-thumbnail \
--add-metadata \
--no-mtime \
URL

⚠️ important :

  • le \ DOIT être le dernier caractère de la ligne
  • pas d’espace après

�� Solution PowerShell (Windows recommandé)

yt-dlp -f "bv*[height<=1080]+ba/best[height<=1080]" `
--merge-output-format mkv `
--embed-subs `
--sub-langs "fr,en" `
--convert-subs srt `
--embed-thumbnail `
--add-metadata `
--no-mtime `
URL

�� 3. Erreur fréquente que tu fais probablement

Tu as sûrement :

  • un espace après \
  • ou tu copies/colles dans un terminal qui ne supporte pas les retours ligne

�� et du coup la commande casse


�� Conclusion

  • ✔️ une ligne = marche partout
  • ✔️ \ = Linux/macOS seulement (et sans espace après)
  • ✔️ PowerShell = backtick `

Si tu veux, dis-moi ton système (Windows / Mac / Linux) et je te fais une version parfaitement adaptée + alias pour ne plus taper tout ça ��



Windows meilleure vidéo meilleur son et sous-titre

Sur Windows, pour obtenir meilleure vidéo + meilleur son + sous-titres intégrés avec yt-dlp depuis YouTube, le plus important est d’utiliser une commande compatible PowerShell / CMD et un format adapté à Plex/VLC.


�� ✅ Commande Windows recommandée (qualité max + sous-titres)

�� PowerShell ou CMD (une seule ligne) :

yt-dlp -f "bv*+ba/best" --merge-output-format mkv --embed-subs --sub-langs "fr,en" --write-subs --write-auto-subs --convert-subs srt --embed-thumbnail --add-metadata --no-mtime URL

�� Ce que ça fait exactement

�� Vidéo (meilleure qualité)

  • bv*+ba/best
    �� récupère :
  • meilleure vidéo disponible (4K si existe)
  • meilleur audio séparé
  • puis fusion automatique

�� Son

  • prend automatiquement le meilleur flux audio (souvent AAC ou Opus)

�� Sous-titres

  • --write-subs → sous-titres officiels
  • --write-auto-subs → sous-titres auto YouTube
  • --sub-langs "fr,en" → français + anglais
  • --convert-subs srt → format universel (important pour Plex/VLC)
  • --embed-subs → intégrés dans le fichier MKV

�� Compatibilité Plex / VLC

  • --merge-output-format mkv
    �� indispensable pour :
  • sous-titres multiples
  • multi-audio
  • codecs modernes (VP9 / AV1)

��️ Bonus

  • --embed-thumbnail → affiche la miniature dans Plex
  • --add-metadata → titre, chaîne, date propres
  • --no-mtime → évite dates bizarres

⚠️ Important sur Windows

❌ Ne pas utiliser :

\

✔️ Utiliser :

  • soit une seule ligne
  • soit PowerShell avec backtick `

�� Version PowerShell multi-lignes (si tu préfères propre)

yt-dlp -f "bv*+ba/best" `
--merge-output-format mkv `
--embed-subs `
--sub-langs "fr,en" `
--write-subs `
--write-auto-subs `
--convert-subs srt `
--embed-thumbnail `
--add-metadata `
--no-mtime `
URL

�� Résumé simple

✔ meilleure qualité vidéo → bv*+ba
✔ meilleur son → automatique
✔ sous-titres intégrés → --embed-subs + convert-subs srt
✔ Plex/VLC → MKV obligatoire recommandé


Si tu veux, je peux te faire une version encore plus avancée :

  • �� classement automatique par chaînes
  • �� nommage “Netflix style”
  • �� mode série / playlist automatique

Dis-moi ��

Comment avoir powershell ?

Sur Windows, tu as déjà PowerShell installé dans la plupart des cas — tu n’as souvent rien à télécharger.


�� 1. Ouvrir PowerShell (méthode la plus simple)

✔️ Méthode 1 (rapide)

  • Clique sur Démarrer
  • Tape : PowerShell
  • Clique sur :
    �� Windows PowerShell ou Terminal Windows

✔️ Méthode 2 (très rapide)

  • Appuie sur Win + X
  • Clique sur :
    �� Terminal Windows ou PowerShell

✔️ Méthode 3 (Exécuter)

  • Appuie sur Win + R
  • Tape :
powershell
  • Entrée

�� 2. Windows 11 (recommandé)

Sur Windows 11, Microsoft utilise souvent :

�� Windows Terminal

Il contient :

  • PowerShell
  • CMD
  • parfois WSL

⚙️ 3. Vérifier que PowerShell marche

Dans la fenêtre, tape :

$PSVersionTable

�� si tu vois une version (ex: 5.1 ou 7.x), c’est bon.


�� 4. (Optionnel) Installer la version moderne

Windows peut avoir une ancienne version (5.1).
Tu peux installer PowerShell 7 (plus rapide + moderne) :

�� Télécharger ici :

  • Microsoft Store → “PowerShell”
  • ou site officiel Microsoft

�� 5. Conseil pour yt-dlp

Pour tes commandes yt-dlp :

  • PowerShell = le plus pratique sur Windows
  • supporte les commandes multi-lignes avec `

�� Résumé simple

  • ✔ Tu l’as déjà dans Windows
  • ✔ Cherche “PowerShell” dans le menu démarrer
  • ✔ Ou utilise Windows Terminal (mieux)

Si tu veux, je peux te montrer comment installer yt-dlp + ffmpeg proprement sur Windows + les ajouter au PATH pour que tout marche en 2 clics ��



Comment paramétrer yt-dlp pour télécharger une vidéo youtube avec les sous-titre, en mp4 et avec pour codec vidéo du h264 yuv420p 1920x1080 et du AAC 44100 herz stereo ?

Pour obtenir exactement ce que tu veux avec yt-dlp (vidéo YouTube en MP4, H.264 yuv420p en 1080p + audio AAC 44.1 kHz stéréo + sous-titres), il faut combiner yt-dlp avec FFmpeg et forcer certains paramètres.

Voici une commande complète et fonctionnelle ��

yt-dlp \
-f "bestvideo[height<=1080]+bestaudio/best[height<=1080]" \
--merge-output-format mp4 \
--write-subs --sub-langs all --embed-subs \
--recode-video mp4 \
--postprocessor-args "-c:v libx264 -profile:v high -level 4.0 -pix_fmt yuv420p -vf scale=1920:1080 -c:a aac -ar 44100 -ac 2" \
"URL_DE_LA_VIDEO"

�� Explication des options

�� Vidéo + audio

  • -f "bestvideo[height<=1080]+bestaudio"
    → télécharge la meilleure vidéo ≤1080p + meilleur audio
  • --merge-output-format mp4
    → force le conteneur MP4

�� Encodage (le plus important)

  • --recode-video mp4
    → force un réencodage via FFmpeg
  • --postprocessor-args :
    • -c:v libx264 → codec H.264
    • -pix_fmt yuv420p → compatibilité maximale (important)
    • -vf scale=1920:1080 → force le 1080p
    • -c:a aac → audio AAC
    • -ar 44100 → 44.1 kHz
    • -ac 2 → stéréo

�� Sous-titres

  • --write-subs → télécharge les sous-titres
  • --sub-langs all → toutes les langues (tu peux mettre fr,en par exemple)
  • --embed-subs → les intègre dans le MP4

⚠️ Points importants

  • YouTube fournit souvent :
    • vidéo en VP9 ou AV1 → donc réencodage obligatoire pour H.264
  • Le réencodage peut être :
    • lent ⚠️
    • consommateur de CPU

�� Variante plus rapide (si déjà compatible)

Si tu veux éviter le réencodage complet :

yt-dlp -f "bv*[vcodec^=avc1][height<=1080]+ba[acodec^=mp4a]" \
--merge-output-format mp4 \
--write-subs --embed-subs \
"URL"

�� Ici :

  • avc1 = H.264
  • mp4a = AAC
    → pas de réencodage si dispo

❓ Tu veux aller plus loin ?

Je peux te faire :

  • une version ultra rapide sans perte
  • une version qualité maximale type archivage
  • ou un script automatique (Windows/Linux)

Dis-moi ��

La ligne de commande pour windows

Voici une version adaptée pour Windows (CMD), prête à copier-coller ��


�� Commande complète (CMD)

yt-dlp ^
-f "bestvideo[height<=1080]+bestaudio/best[height<=1080]" ^
--merge-output-format mp4 ^
--write-subs --sub-langs all --embed-subs ^
--recode-video mp4 ^
--postprocessor-args "-c:v libx264 -profile:v high -level 4.0 -pix_fmt yuv420p -vf scale=1920:1080 -c:a aac -ar 44100 -ac 2" ^
"URL_DE_LA_VIDEO"

⚠️ Important sous Windows

1. Le caractère ^

  • C’est le caractère de continuation de ligne dans l’invite de commande (CMD)
  • Tu peux aussi tout mettre sur une seule ligne :
yt-dlp -f "bestvideo[height<=1080]+bestaudio/best[height<=1080]" --merge-output-format mp4 --write-subs --sub-langs all --embed-subs --recode-video mp4 --postprocessor-args "-c:v libx264 -profile:v high -level 4.0 -pix_fmt yuv420p -vf scale=1920:1080 -c:a aac -ar 44100 -ac 2" "URL_DE_LA_VIDEO"

2. FFmpeg obligatoire

�� Assure-toi que ffmpeg.exe est installé et dans le PATH, sinon ça ne marchera pas.


3. Sous-titres

Si tu veux seulement le français :

--sub-langs fr

⚡ Variante PowerShell (si tu l’utilises)

PowerShell utilise le **backtick ** au lieu de ^` :

yt-dlp `
-f "bestvideo[height<=1080]+bestaudio/best[height<=1080]" `
--merge-output-format mp4 `
--write-subs --sub-langs all --embed-subs `
--recode-video mp4 `
--postprocessor-args "-c:v libx264 -pix_fmt yuv420p -vf scale=1920:1080 -c:a aac -ar 44100 -ac 2" `
"URL_DE_LA_VIDEO"

�� Astuce utile

Si tu veux éviter un upscale inutile (ex: vidéo en 720p), remplace :

-vf scale=1920:1080

par :

-vf "scale='min(1920,iw)':'min(1080,ih)'"

Si tu veux, je peux aussi te faire :

  • un .bat prêt à l’emploi
  • une version GPU (NVENC) beaucoup plus rapide ��


Dans yt-dlp que signifie « -vf "scale='min(1920,iw)':'min(1080,ih)'" »

Dans yt-dlp, l’option :

-vf "scale='min(1920,iw)':'min(1080,ih)'"

utilise un filtre vidéo (hérité de FFmpeg**) pour redimensionner la vidéo. Voici ce que ça veut dire en détail :

�� Décomposition

  • -vf = video filter → applique un traitement à la vidéo
  • scale=... = filtre de redimensionnement

�� Les expressions

  • iw = input width (largeur d’origine)
  • ih = input height (hauteur d’origine)
  • min(1920, iw) = prend la plus petite valeur entre 1920 et la largeur d’origine
  • min(1080, ih) = prend la plus petite valeur entre 1080 et la hauteur d’origine

�� Ce que ça fait concrètement

�� La vidéo est redimensionnée pour ne pas dépasser 1920×1080, mais sans jamais être agrandie.

  • Si la vidéo est en 4K (3840×2160) → elle sera réduite en 1920×1080
  • Si elle est en 1280×720 → elle reste 1280×720 (pas d’upscale)
  • Si elle est en 1920×800 → elle devient 1920×800 (hauteur déjà < 1080)

⚠️ Important

  • Ça ne garantit pas le respect du ratio tout seul (FFmpeg peut ajuster selon contexte)
  • Ça agit comme un plafond de résolution, pas une cible stricte

�� Résumé

�� “Réduis la vidéo pour qu’elle tienne dans du 1080p max, sans jamais augmenter sa taille.”

Comme une ligne n’apparaît pas complètement ci-dessus, voici la comande pour windows :

Evidemment, on peut modifier « -vf scale=1920:1080 »
par « -vf scale=1024:576 »
ou par « -vf scale=1280:720 »
ou par « -vf scale=800:450576 »

1 Message

  • yt-dlp et DownloadHelper 14 avril 14:58, par Dominique

    L’upscaling est une connerie. Les lecteurs vidéo ont tous un mode plein écran (accessible sous mplayer et beaucoup d’autres avec la touche f) qui permet de regarder n’importe quelle vidéo sur tout l’écran. Pour cela, le lecteur utilise en interne une bibliothèque (souvent ffmpeg sous linux), laquelle utilise les bibliothèques liées du driver de la carte graphique (opengl ou autre) pour un redimensionnement rapide et propre car adapté à la carte graphique de l’utilisateur.

    Au contraire, le redimensionnement d’un fichier vidéo n’améliore jamais la qualité d’une vidéo car c’est un bidouillage et mathématiquement, un redimensionnement ne sera jamais de meilleure qualité que l’original, en pratique c’est souvent pire. Le pire du pire consiste lors d’un redimensionnement à ajouter des bords noirs à une vidéo. Ces bords ne changent rien à la qualité mais ils obligent le lecteur et le driver graphique à faire du travail supplémentaire et inutile en temps réel (quand un point change entre 2 trames de l’image, le driver recalcule toute la trame - toute l’image, y compris ces bords noirs ajoutés qui ajoutent des données à chaque trame).

    Certains lecteurs permettent de les supprimer en zoomant sur la partie active de l’image (touches E (zoom in) et W (zoom out) avec mplayer).

    Pour publier sur la toile, comme par exemple sur ce site, il peut être nécessaire de redimensionner une vidéo pour réduire sa taille. Dans ce cas, une bonne pratique est de mettre un lien sur la vidéo originale. En règle générale, il faudrait toujours mettre les liens sur les sources car 1) cela apporte de la crédibilité ou peut rendre plus facile de vérifier une info et 2) les liens sont ce qui fait qu’internet fonctionne et peut donc être utile.

    Répondre à ce message

Répondre à cet article

SPIP | squelette | | Plan du site | Suivre la vie du site RSS 2.0