Files
youtube_personal/ETAPE16_HD_ANDROID.md
T

2.2 KiB

Étape 16 - HD Android expérimentale

Pourquoi cette nouvelle approche

Les essais précédents avec youtube_explode_dart ont réellement atteint le blocage YouTube :

Sign in to confirm you're not a bot

et les flux adaptatifs 720p/1080p ne démarraient pas.

En 2026, YouTube applique de plus en plus SABR et les PO Tokens. NewPipe 0.28.8 a publié un contournement spécifique du problème "seulement MP4 360p", via NewPipeExtractor 0.26.3.

Cette étape teste une voie différente :

  • extraction native Android via NewPipeExtractor 0.26.3 ;
  • récupération du manifest HLS Apple/VisionOS ;
  • un seul Player media_kit, donc pas de synchronisation manuelle audio + vidéo ;
  • fallback automatique vers le 360p stable si HD échoue ;
  • Windows reste volontairement en 360p stable pour cette étape.

Séparation du compte Google

Le code NewPipeDownloader n'injecte :

  • aucun cookie Google ;
  • aucun token OAuth ;
  • aucun identifiant du compte Google connecté.

La connexion Google reste exclusivement utilisée pour YouTube Data API (abonnements). Le chemin de lecture HD reste anonyme.

Lecture écran verrouillé

Même si l'image visible utilise HLS HD, le Player dédié écran verrouillé continue d'utiliser l'URL progressive 360p stable. Cela évite de casser la lecture en arrière-plan déjà validée.

Installation

Après extraction du ZIP à la racine du projet :

cd "D:\07-Logiciels\23-youtube_personal"
powershell -ExecutionPolicy Bypass -File .\APPLIQUER_HD_ANDROID.ps1
flutter clean
flutter pub get
flutter run -d f10778d8

Le script fait une sauvegarde automatique :

  • android/build.gradle.kts.before_hd
  • android/app/build.gradle.kts.before_hd

Logs attendus

Succès :

[HD] demande native pour ...
[HD] HLS disponible (...)

Fallback :

[HD] extraction indisponible, fallback 360p: ...

ou :

[HD] HLS non prêt, retour 360p: ...

En cas de fallback, le lecteur 360p doit continuer à fonctionner.

Licence

NewPipeExtractor est sous GPL-3.0-or-later. Pour un test/personnel cela ne change pas l'installation locale. Si l'application est distribuée plus tard, il faudra traiter correctement les obligations de licence.