# É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 : ```powershell 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 : ```text [HD] demande native pour ... [HD] HLS disponible (...) ``` Fallback : ```text [HD] extraction indisponible, fallback 360p: ... ``` ou : ```text [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.