Files
youtube_personal/ETAPE17_18_INSTANT_360_BACKGROUND_HD.md

105 lines
2.2 KiB
Markdown

# Étape 17.18 - Lecture immédiate puis bascule HD en arrière-plan
La 17.17 a montré deux choses :
1. Le format AV1 399 réduit bien la taille (environ 180 Mo au lieu de 379 Mo),
mais l'audio externe n'était plus audible sur la machine de test.
2. Même avec un fichier deux fois plus petit, attendre le téléchargement
complet AVANT de démarrer donne encore l'impression d'un lecteur lent.
On change donc l'expérience au lieu de continuer à réduire quelques secondes.
## Nouveau comportement
```text
clic vidéo
↓
360p muxé stable démarre immédiatement (image + son)
↓
en parallèle :
yt-dlp télécharge la HD + l'audio dans le cache
↓
quand la HD est prête :
position actuelle capturée
↓
bascule automatique vers la HD locale
↓
seek à la même position
```
L'utilisateur ne regarde donc plus un écran de chargement pendant les 20-30 s
du premier téléchargement.
## Audio
Pour 1080p Windows, on revient volontairement à la paire déjà VALIDÉE :
```text
vidéo 299 AVC 1080p60
audio 251 Opus
```
C'est exactement la paire qui avait donné du son en 17.16.
L'AV1 399 n'est plus prioritaire en 1080p Windows pour le moment.
## Cache
Le cache persistant 17.17 reste actif.
Première lecture :
```text
360p immédiat
↓
téléchargement HD en arrière-plan
↓
bascule 1080p
```
Deuxième lecture de la même vidéo :
```text
360p immédiat
↓
cache HIT
↓
bascule 1080p presque immédiate
```
## Test
Extraire le ZIP à la racine puis :
```powershell
cd "D:\07-Logiciels\23-youtube_personal"
flutter run -d windows
```
Pas besoin de `flutter clean`.
Logs attendus au premier lancement :
```text
[HD-WINDOWS][17.18] lecture immédiate 360p pendant préparation cible=1080
[HD-WINDOWS][17.18] préparation HD arrière-plan cible=1080
[HD-WINDOWS][17.18] HD arrière-plan: 1920x1080 60fps video=299/... audio=251/opus
```
La vidéo 360p doit déjà jouer avec le son pendant ces lignes.
Quand le téléchargement est terminé :
```text
[HD-WINDOWS][17.18] bascule 360p -> HD à ... ms
[HD-WINDOWS][17.18] bascule HD confirmée: 1920x1080 audio=251/opus
```
Au deuxième lancement :
```text
[HD-CACHE][17.17] video=HIT audio=HIT
```
et la bascule doit être très rapide.