76 lines
1.9 KiB
Markdown
76 lines
1.9 KiB
Markdown
# Étape 17.7 - Correction exacte des headers mpv Windows
|
|
|
|
L'autre analyse a mis le doigt sur un point important, et la vérification du
|
|
code/documentation mpv/media_kit confirme deux choses :
|
|
|
|
1. `Media(..., httpHeaders: ...)` couvre bien le média principal.
|
|
2. `AudioTrack.uri(...)` ne prend pas de `httpHeaders`.
|
|
|
|
Il faut donc aussi appliquer les headers globalement à l'instance libmpv avant
|
|
`open()`, pour que la piste audio externe les hérite.
|
|
|
|
## Bug dans notre étape 17.6
|
|
|
|
Notre code utilisait :
|
|
|
|
```text
|
|
options/user-agent
|
|
options/http-header-fields
|
|
```
|
|
|
|
pour `NativePlayer.setProperty`.
|
|
|
|
C'était le mauvais niveau de propriété pour cette API runtime.
|
|
|
|
La 17.7 utilise maintenant directement :
|
|
|
|
```text
|
|
user-agent
|
|
http-header-fields
|
|
```
|
|
|
|
## Autre correction
|
|
|
|
La 17.6 n'envoyait globalement que quelques headers.
|
|
|
|
La 17.7 transmet maintenant TOUS les headers renvoyés par yt-dlp, sauf
|
|
`User-Agent` qui utilise la propriété mpv dédiée.
|
|
|
|
Les virgules à l'intérieur des valeurs sont échappées avant de construire la
|
|
string-list `http-header-fields`.
|
|
|
|
## Lecture
|
|
|
|
L'ordre reste :
|
|
|
|
1. yt-dlp extrait vidéo + audio + headers
|
|
2. headers globaux mpv
|
|
3. `Media(videoUrl, httpHeaders: headers)`
|
|
4. démarrage et validation de la vidéo HD
|
|
5. réapplication des headers globaux
|
|
6. `AudioTrack.uri(audioUrl)`
|
|
7. confirmation finale de la résolution
|
|
|
|
## Test
|
|
|
|
Extraire à la racine puis :
|
|
|
|
```powershell
|
|
cd "D:\07-Logiciels\23-youtube_personal"
|
|
flutter clean
|
|
flutter run -d windows
|
|
```
|
|
|
|
Pas besoin de relancer `PREPARER_HD_WINDOWS.ps1`.
|
|
Pas besoin de `flutter pub get`.
|
|
|
|
Logs attendus :
|
|
|
|
```text
|
|
[HD-WINDOWS][17.7] extraction directe + headers globaux mpv ...
|
|
[HD-WINDOWS][17.7] headers globaux mpv appliqués: UA=true, champs=...
|
|
[HD-WINDOWS][17.7] propriétés mpv posées AVANT open()
|
|
[HD-WINDOWS] vidéo seule confirmée: 1920x1080
|
|
[HD-WINDOWS] lecture confirmée: 1920x1080
|
|
```
|