1.8 KiB
Étape 17.11 - Son + stabilité du relais Range Windows
Diagnostic du log 17.10
La vidéo fonctionne réellement en 1920x1080 :
1920 1080
[HD-WINDOWS] vidéo relayée confirmée: 1920x1080
Le son manque parce que la toute première requête audio reçoit :
googlevideo HTTP 403 pour bytes=0-10485759
La vidéo finit elle aussi par recevoir un 403 exactement sur des requêtes de 10 MiB.
Cause importante
Notre relais 17.10 envoyait systématiquement des chunks de :
10485760 octets = 10 MiB
Le downloader HTTP officiel de yt-dlp ne fait pas cela. Lorsqu'un
http_chunk_size est configuré, il randomise chaque nouvelle requête entre
95 % et 100 % de la taille cible.
La FAQ yt-dlp avertit également que YouTube peut throttler/refuser des requêtes dont la taille dépasse 10 MB.
Correctif 17.11
Le relais :
- plafonne maintenant les requêtes à 9 900 000 octets ;
- randomise chaque Range entre 95 % et 100 % ;
- force une nouvelle connexion logique par Range ;
- en cas de 403/429, retente jusqu'à 4 fois en divisant progressivement le chunk ;
- flush le downstream après chaque Range pour éviter le gros buffering lors d'un seek ;
- journalise séparément le client et la présence du
pot=pour vidéo/audio.
Test
Extraire le ZIP à la racine puis :
cd "D:\07-Logiciels\23-youtube_personal"
flutter clean
flutter run -d windows
Tester uniquement le 1080p avec le son.
Logs importants :
[HD-WINDOWS][17.11] GVS: videoClient=MWEB videoPOT=true audioClient=MWEB audioPOT=true
[HD-RELAY][17.11] upstream OK ...
Puis :
[HD-WINDOWS] vidéo relayée confirmée: 1920x1080
[HD-WINDOWS] lecture confirmée: 1920x1080
Si un 403 survient encore, la 17.11 affichera désormais les retries et la taille exacte du chunk qui a été refusé.