Files
youtube_personal/ETAPE17_15_WEB_EMBEDDED_GROWING_CACHE.md
T

92 lines
2.1 KiB
Markdown

# Étape 17.15 - Cache progressif yt-dlp web_embedded
## Diagnostic confirmé
Le test manuel complet a réussi :
```text
format 299
361.06 MiB
100 %
24 secondes
```
Le format audio 251 avait déjà réussi intégralement :
```text
10.88 MiB
100 %
```
Cela prouve que le téléchargement `web_embedded` fonctionne réellement pour
les deux pistes avec yt-dlp nightly.
En revanche, le log 17.14 montre que libmpv échoue dès qu'on lui donne
directement l'URL googlevideo.
## Architecture 17.15
On ne donne donc plus aucune URL googlevideo `web_embedded` à libmpv.
```text
yt-dlp nightly web_embedded
↓
fichier vidéo temporaire qui grandit
fichier audio temporaire qui grandit
↓
serveur 127.0.0.1 intégré
↓
media_kit / libmpv
```
Les deux téléchargements yt-dlp démarrent en parallèle.
Le lecteur n'attend pas forcément le téléchargement complet :
le serveur local lit les fichiers pendant qu'ils grandissent.
Si mpv demande une zone située plus loin lors d'un seek, le serveur attend
simplement que yt-dlp ait téléchargé cette zone.
## Formats
Pour la vidéo de validation :
```text
1080p60 : vidéo 299 AVC + audio 251 Opus
1440p60 : vidéo 308 VP9 + audio 251 Opus
2160p60 : vidéo 315 VP9 + audio 251 Opus
```
## Test
Extraire le ZIP à la racine puis :
```powershell
cd "D:\07-Logiciels\23-youtube_personal"
flutter clean
flutter run -d windows
```
Tester 1080p + son.
Logs attendus :
```text
[HD-WINDOWS][17.15] priorité web_embedded via cache yt-dlp progressif
[HD-CACHE][17.15] lancement yt-dlp video format=299
[HD-CACHE][17.15] lancement yt-dlp audio format=251
[HD-CACHE][17.15] actif sur 127.0.0.1:...
[HD-WINDOWS][17.15] vidéo cache confirmée: 1920x1080
[HD-WINDOWS][17.15] audio cache attaché: format=251 codec=opus
[HD-WINDOWS][17.15] lecture AV cache confirmée: 1920x1080
```
Le téléchargement peut démarrer avec quelques secondes d'attente imposées par
YouTube/yt-dlp, comme dans le test manuel où yt-dlp a affiché :
```text
Sleeping 6.00 seconds as required by the site...
```
Une fois le 1080p + son validé, tester le 2160p.