54 lines
1.5 KiB
Markdown
54 lines
1.5 KiB
Markdown
# Étape 16.1 - HD directe vidéo + audio séparés
|
|
|
|
Le log précédent confirme deux choses importantes :
|
|
|
|
1. NewPipeExtractor arrive bien à voir les qualités HD :
|
|
2160p60, 1440p60, 1080p60, 720p60, etc.
|
|
2. Le manifest HLS ne devient jamais prêt dans media_kit Android au bout
|
|
de 9 secondes, donc le code retourne automatiquement au 360p.
|
|
|
|
Cette étape n'utilise donc plus HLS comme source principale.
|
|
|
|
Nouvelle stratégie :
|
|
|
|
- NewPipeExtractor choisit un flux vidéo-only direct ;
|
|
- priorité AVC/H.264 ;
|
|
- plafond volontaire à 1080p pour ce premier test ;
|
|
- choix d'un flux audio direct séparé ;
|
|
- priorité AAC/mp4a ;
|
|
- media_kit ouvre la vidéo et charge l'audio via `AudioTrack.uri(...)` ;
|
|
- le Player vérifie ensuite la vraie hauteur décodée ;
|
|
- si la HD échoue, fallback automatique vers le 360p stable.
|
|
|
|
Le lecteur écran verrouillé reste sur le flux progressif 360p stable.
|
|
|
|
## Test
|
|
|
|
Après extraction à la racine du projet :
|
|
|
|
```powershell
|
|
cd "D:\07-Logiciels\23-youtube_personal"
|
|
flutter clean
|
|
flutter run -d f10778d8
|
|
```
|
|
|
|
Pas besoin de modifier Gradle et ne relance pas les scripts Gradle précédents.
|
|
|
|
## Logs recherchés
|
|
|
|
Succès attendu :
|
|
|
|
```text
|
|
[HD] paire directe sélectionnée: 1080p60 ...
|
|
[HD] lecture confirmée: 1920x1080 ...
|
|
```
|
|
|
|
Si la paire directe échoue :
|
|
|
|
```text
|
|
[HD] paire directe non lisible, retour 360p: ...
|
|
```
|
|
|
|
L'interface affiche aussi maintenant la qualité réellement confirmée
|
|
par media_kit, et pas seulement la qualité annoncée par l'extracteur.
|