# Étape 17.19 - Vrai prébuffer HD progressif Windows Oui : c'est désormais exactement l'architecture utilisée. La 17.18 attendait encore les 378 Mo complets du format 299 avant de basculer. La 17.19 ne fait plus cela. ## Fonctionnement ```text clic ↓ 360p muxé démarre immédiatement ↓ yt-dlp démarre 1080p 299 + audio 251 ↓ on surveille la taille réellement téléchargée ↓ dès qu'on a environ le timestamp courant + 20 s de réserve : BASCULE HD ↓ yt-dlp continue à télécharger le reste pendant la lecture ``` Exemple avec une reprise autour de 60 secondes : ```text on ne demande plus 378 Mo on attend seulement assez d'octets pour couvrir environ 0 -> 80 s + une marge de sécurité ``` Avec le débit observé lors du test manuel, cela devrait être beaucoup plus court que le téléchargement intégral. ## Pourquoi pas `--download-sections` `yt-dlp --download-sections` passe par ffmpeg pour les plages temporelles. Pour notre lecteur, on veut au contraire conserver le fichier DASH continu qui grandit pendant la lecture et laisser mpv faire ses Range/seeks. ## Correction du flash au début La 17.18 faisait : ```text open HD au début puis seek vers 94.8 s ``` La 17.19 utilise directement : ```dart Media( hdUrl, start: switchPosition, ) ``` Donc mpv prépare le nouveau média au timestamp courant avant la première frame HD rendue. ## Audio On conserve la paire validée : ```text 1080p60 : 299 AVC audio : 251 Opus ``` L'audio étant petit, la bascule attend qu'il soit entièrement disponible afin de ne pas perdre le son. ## Cache Le cache existant est réutilisé : ```text %LOCALAPPDATA%\YouTubePersonal\media_cache ``` Si 299 + 251 sont déjà complets, la bascule peut être quasi immédiate. ## Test conseillé Après extraction : ```powershell cd "D:\07-Logiciels\23-youtube_personal" flutter run -d windows ``` Pas besoin de `flutter clean`. Pour voir le comportement progressif réel, tester aussi UNE AUTRE vidéo qui n'est pas déjà en cache. Logs attendus : ```text [HD-WINDOWS][17.19] lecture immédiate 360p ... [HD-PROGRESSIVE][17.19] session prête video=STREAM audio=DOWNLOAD [HD-WINDOWS][17.19] buffer suffisant: video=... ≈...s audio=true [HD-WINDOWS][17.19] bascule vers HD bufferisée à ... ms [HD-WINDOWS][17.19] HD progressive confirmée: 1920x1080 audio=251/opus ```