2.2 KiB
Étape 17.14 - Priorité web_embedded Windows
Le test manuel avec le yt-dlp nightly 2026.08.18.122307 est décisif.
Pour la vidéo de validation, web_embedded expose :
251 webm audio only opus
299 mp4 1920x1080 60 AVC
308 webm 2560x1440 60 VP9
315 webm 3840x2160 60 VP9
Et surtout le test utilisateur a téléchargé intégralement le format audio 251 :
[download] 100% of 10.88MiB
Architecture 17.14
Le chemin prioritaire Windows devient :
yt-dlp nightly
↓
client web_embedded
↓
URL vidéo adaptative + URL audio adaptative
↓
headers exacts yt-dlp
↓
media_kit / libmpv
Aucun PO Token n'est utilisé sur ce chemin.
Le format audio 251 Opus est préféré explicitement car c'est celui qui a été validé intégralement en ligne de commande.
Vidéo :
- <=1080p : AVC/H.264 prioritaire, donc typiquement format 299 en 1080p60 ;
- 1440p/2160p : VP9 prioritaire, donc typiquement 308/315.
Fallback
Si la vidéo n'est pas embeddable ou si libmpv refuse les URLs directes :
- tentative HLS web_safari pour <=1080p ;
- ancien pipeline mweb + PO Token/relais ;
- fallback stable 360p existant.
Android n'est pas modifié.
Test
Extraire le ZIP à la racine puis :
cd "D:\07-Logiciels\23-youtube_personal"
flutter clean
flutter run -d windows
Tester 1080p d'abord.
Logs attendus :
[HD-WINDOWS][17.14] priorité web_embedded directe ...
[HD-WINDOWS][17.14] paire embedded: 1920x1080 60fps video=299/... audio=251/opus
[HD-WINDOWS][17.14] vidéo embedded confirmée: 1920x1080
[HD-WINDOWS][17.14] audio embedded attaché: format=251 codec=opus
[HD-WINDOWS][17.14] lecture AV embedded confirmée: 1920x1080
Ensuite seulement, tester 2160p :
video=315/vp9
...
lecture AV embedded confirmée: 3840x2160
PREPARER_HD_WINDOWS.ps1 mis à jour
Le script de préparation est inclus dans cette étape afin d'éviter de réinstaller accidentellement l'ancien yt-dlp stable 2026.07.04.
Il télécharge toujours ce stable comme bootstrap vérifié par SHA-256 puis exécute automatiquement :
yt-dlp.exe --update-to nightly
Ainsi les futures préparations Windows conservent le canal nightly requis par
ce chemin web_embedded.