Files
youtube_personal/ETAPE17_8_FORCE_TV_CLIENT.md
T

1.8 KiB

Étape 17.8 - Forcer le client YouTube TV dans yt-dlp

Le log 17.7 a donné une information décisive : l'URL HD sélectionnée contenait :

c=ANDROID_VR

Les headers sont désormais bien appliqués à libmpv, mais l'URL issue de ce client échoue encore à l'ouverture.

Changement 17.8

yt-dlp est maintenant lancé avec :

--extractor-args
youtube:player_client=tv

L'objectif est d'éviter complètement le client ANDROID_VR.

Tous les correctifs 17.7 sont conservés :

  • extraction locale yt-dlp ;
  • Deno ;
  • URLs vidéo/audio séparées ;
  • Media.httpHeaders pour la vidéo ;
  • user-agent global mpv ;
  • http-header-fields global mpv ;
  • réapplication des headers avant AudioTrack.uri.

Diagnostic supplémentaire

Le code lit maintenant le paramètre c= de l'URL sélectionnée sans afficher l'URL signée complète.

Log attendu :

[HD-WINDOWS][17.8] client yt-dlp forcé: tv
[HD-WINDOWS] flux sélectionné: 1920x1080 ... client=TV

La valeur exacte peut être TV ou une variante utilisée par YouTube, mais elle ne doit plus être ANDROID_VR.

Installation

Extraire ce ZIP à la racine du projet puis :

cd "D:\07-Logiciels\23-youtube_personal"
flutter clean
flutter run -d windows

Pas besoin de relancer PREPARER_HD_WINDOWS.ps1. Pas besoin de flutter pub get.

Tester d'abord 1080p.

Succès attendu :

[HD-WINDOWS][17.8] client yt-dlp forcé: tv
[HD-WINDOWS] flux sélectionné: 1920x1080 ... client=TV
[HD-WINDOWS] vidéo seule confirmée: 1920x1080
[HD-WINDOWS] lecture confirmée: 1920x1080

Si le client indiqué reste ANDROID_VR, le paramètre extractor-args n'a pas été pris en compte. Si le client est TV mais l'ouverture échoue encore, le prochain log permettra de séparer clairement un blocage serveur d'un problème libmpv.