3.0 KiB
Étape 18.7.1 - Fix blocage / rate-limit / overflow
Le log a révélé deux problèmes différents.
1. Rate limit YouTube
Erreur :
RequestLimitExceededException
Failed to perform an HTTP request to YouTube because of rate limiting.
La cause venait de la 18.7 : pour une chaîne de 30 vidéos, elle lançait
videos.get() sur chaque vidéo, par lots. Cela crée une rafale de requêtes
vers les pages watch YouTube.
Correction :
AVANT
liste chaîne
→ videos.get(video1)
→ videos.get(video2)
→ videos.get(video3)
→ ...
→ IP rate-limitée
devient :
MAINTENANT
1 requête catalogue de chaîne
+
1 processus yt-dlp flat-playlist Windows
→ métadonnées groupées
Le chemin par vidéo a été supprimé.
Log attendu :
[CHANNEL-VIDEOS][18.7.1] ... mode=NO_PER_VIDEO_WATCH_REQUESTS
[CHANNEL-CATALOG][18.7.1] bulk start ...
[CHANNEL-CATALOG][18.7.1] bulk ready ... videos=...
2. Le lecteur faisait aussi une requête de trop
À l'ouverture d'une vidéo, la page avait déjà un VideoItem issu du Radar,
de la recherche ou de la chaîne, mais faisait quand même un nouveau
videos.get(videoId) uniquement pour récupérer description/statistiques.
Cette requête supplémentaire est supprimée.
La page utilise maintenant immédiatement widget.video.
3. Tri
En fallback public, changer :
Plus récentes
Plus vues
Plus anciennes
relance maintenant l'ordre natif de la chaîne.
Donc même si certaines métadonnées de vue sont absentes, le tri n'est plus un simple tri local de valeurs nulles/0.
Plus aimées reste un tri local quand des likes sont réellement disponibles.
4. Métadonnées groupées Windows
Un nouveau service utilise le yt-dlp déjà fourni :
--flat-playlist --dump-json
/channel/<id>/videos
Il tente de récupérer en un seul passage :
durée
vues
likes si exposés
commentaires si exposés
date
description si exposée
Puis fusionne ces données avec les cartes déjà visibles.
Si yt-dlp ne fournit pas une valeur, la page ne montre plus un faux
0 vues.
5. Overflow accueil
Erreur :
A RenderFlex overflowed by 5.1 pixels on the bottom
La barre de défilement horizontale prenait quelques pixels sur la hauteur des cartes ordinaires. La hauteur du rail a été augmentée pour laisser la place.
Important
Le rate-limit est imposé côté YouTube. Ce correctif arrête d'en créer de nouveaux, mais un blocage déjà actif peut mettre un peu de temps à disparaître côté YouTube.
Le chemin HD yt-dlp n'a pas été modifié.
Test
Extraire le ZIP puis :
cd "D:\07-Logiciels\23-youtube_personal"
flutter run -d windows
Pas besoin de flutter clean.
Ensuite :
- ouvrir
Chaînes; - ouvrir Gamerawi ;
- vérifier les logs
18.7.1; - changer
Plus récentes→Plus vues→Plus anciennes; - ouvrir ensuite une vidéo et vérifier que le log ne produit plus une rafale
de
RequestLimitExceededException.