Light theme default + yt-dlp search fallback
This commit is contained in:
@@ -0,0 +1,94 @@
|
||||
# Étape 17.10 - Relais HTTP local chunké pour Windows
|
||||
|
||||
## Ce que le test yt-dlp vient de prouver
|
||||
|
||||
Le test direct `yt-dlp -f 299 --test` réussit réellement :
|
||||
|
||||
```text
|
||||
[info] ... Downloading 1 format(s): 299
|
||||
[download] Destination: ...
|
||||
[download] 100% of 10.00KiB
|
||||
```
|
||||
|
||||
Donc :
|
||||
|
||||
- le client `mweb` fonctionne ;
|
||||
- le PO Token est généré ;
|
||||
- le serveur `googlevideo.com` accepte le flux ;
|
||||
- l'IP et les headers sont valides ;
|
||||
- le problème restant est le transport direct libmpv -> googlevideo.
|
||||
|
||||
yt-dlp fournit aussi `downloader_options.http_chunk_size` pour YouTube
|
||||
(typiquement 10 MiB). La documentation yt-dlp signale que YouTube peut
|
||||
throttler les requêtes HTTP dont les chunks dépassent 10 MiB.
|
||||
|
||||
## Nouvelle architecture Windows
|
||||
|
||||
```text
|
||||
yt-dlp
|
||||
|
|
||||
| URL vidéo/audio + PO Token + headers + http_chunk_size
|
||||
v
|
||||
Relais HTTP local Dart (127.0.0.1 uniquement)
|
||||
|
|
||||
| requêtes Range vers googlevideo <= 10 MiB
|
||||
v
|
||||
Googlevideo
|
||||
|
||||
libmpv/media_kit
|
||||
|
|
||||
+----> http://127.0.0.1:<port>/video
|
||||
+----> http://127.0.0.1:<port>/audio
|
||||
```
|
||||
|
||||
libmpv ne contacte donc plus directement Google.
|
||||
|
||||
Le relais :
|
||||
|
||||
- écoute uniquement sur `127.0.0.1` ;
|
||||
- transmet les headers exacts yt-dlp ;
|
||||
- force `Accept-Encoding: identity` ;
|
||||
- respecte les requêtes `Range` de mpv ;
|
||||
- découpe l'upstream en blocs au maximum égaux au chunk yt-dlp ;
|
||||
- permet le seek ;
|
||||
- relaie séparément vidéo et audio.
|
||||
|
||||
Android n'est pas modifié.
|
||||
|
||||
## Installation
|
||||
|
||||
Extraire ce ZIP à la racine du projet.
|
||||
|
||||
Aucune nouvelle dépendance.
|
||||
Aucun nouveau script PowerShell.
|
||||
|
||||
```powershell
|
||||
cd "D:\07-Logiciels\23-youtube_personal"
|
||||
flutter clean
|
||||
flutter run -d windows
|
||||
```
|
||||
|
||||
Tester 1080p d'abord.
|
||||
|
||||
## Logs attendus
|
||||
|
||||
```text
|
||||
[HD-WINDOWS][17.10] yt-dlp -> relais local -> libmpv
|
||||
[HD-WINDOWS][17.9] extraction mweb + PO Token provider local
|
||||
[HD-WINDOWS][17.10] transport yt-dlp: ... chunk=10485760o ...
|
||||
[HD-RELAY][17.10] actif sur 127.0.0.1:...
|
||||
[HD-RELAY] /video GET bytes=...
|
||||
```
|
||||
|
||||
Succès :
|
||||
|
||||
```text
|
||||
[HD-WINDOWS] vidéo relayée confirmée: 1920x1080
|
||||
[HD-WINDOWS] lecture confirmée: 1920x1080 (relais local)
|
||||
```
|
||||
|
||||
Si le relais reçoit un refus upstream, le log affichera directement :
|
||||
|
||||
```text
|
||||
[HD-RELAY] /video échec: googlevideo HTTP 403 ...
|
||||
```
|
||||
Reference in New Issue
Block a user