2.3 KiB
Étape 17.19 - Vrai prébuffer HD progressif Windows
Oui : c'est désormais exactement l'architecture utilisée.
La 17.18 attendait encore les 378 Mo complets du format 299 avant de basculer. La 17.19 ne fait plus cela.
Fonctionnement
clic
↓
360p muxé démarre immédiatement
↓
yt-dlp démarre 1080p 299 + audio 251
↓
on surveille la taille réellement téléchargée
↓
dès qu'on a environ le timestamp courant + 20 s de réserve :
BASCULE HD
↓
yt-dlp continue à télécharger le reste pendant la lecture
Exemple avec une reprise autour de 60 secondes :
on ne demande plus 378 Mo
on attend seulement assez d'octets pour couvrir environ 0 -> 80 s
+ une marge de sécurité
Avec le débit observé lors du test manuel, cela devrait être beaucoup plus court que le téléchargement intégral.
Pourquoi pas --download-sections
yt-dlp --download-sections passe par ffmpeg pour les plages temporelles.
Pour notre lecteur, on veut au contraire conserver le fichier DASH continu
qui grandit pendant la lecture et laisser mpv faire ses Range/seeks.
Correction du flash au début
La 17.18 faisait :
open HD au début
puis seek vers 94.8 s
La 17.19 utilise directement :
Media(
hdUrl,
start: switchPosition,
)
Donc mpv prépare le nouveau média au timestamp courant avant la première frame HD rendue.
Audio
On conserve la paire validée :
1080p60 : 299 AVC
audio : 251 Opus
L'audio étant petit, la bascule attend qu'il soit entièrement disponible afin de ne pas perdre le son.
Cache
Le cache existant est réutilisé :
%LOCALAPPDATA%\YouTubePersonal\media_cache
Si 299 + 251 sont déjà complets, la bascule peut être quasi immédiate.
Test conseillé
Après extraction :
cd "D:\07-Logiciels\23-youtube_personal"
flutter run -d windows
Pas besoin de flutter clean.
Pour voir le comportement progressif réel, tester aussi UNE AUTRE vidéo qui n'est pas déjà en cache.
Logs attendus :
[HD-WINDOWS][17.19] lecture immédiate 360p ...
[HD-PROGRESSIVE][17.19] session prête video=STREAM audio=DOWNLOAD
[HD-WINDOWS][17.19] buffer suffisant: video=... ≈...s audio=true
[HD-WINDOWS][17.19] bascule vers HD bufferisée à ... ms
[HD-WINDOWS][17.19] HD progressive confirmée: 1920x1080 audio=251/opus