fix(transcript): pipeline URLs signees yt-dlp + fetch durci anti-429
CI / build-and-test (push) Successful in 14m1s

Les URLs timedtext InnerTube repondent 200-vide (throttle YouTube) :
sonde rapide max 2 sans retry, puis dump yt-dlp -> URLs signees en
direct (max 4), puis --write-sub. 200-vide traite comme 429
(retryAfterSec), fmt= plus jamais duplique (signature), cookies
YT_COOKIES_FILE reutilises par le fetch direct. Tests 26/26.
This commit is contained in:
2026-09-27 20:47:28 -04:00
parent 148a00e60f
commit a79831f406
7 changed files with 214 additions and 62 deletions
+5 -1
View File
@@ -1121,8 +1121,12 @@ export class WatchComponent implements OnDestroy, AfterViewInit {
};
}
if (reason === 'temporarily_unavailable' || code === 'transcript_temporarily_unavailable') {
const wait = Number((data as any)?.retryAfterSec || 0);
const hint = Number.isFinite(wait) && wait > 0 && wait <= 600
? ` Réessayez dans ~${Math.round(wait)} s.`
: ' Réessayez dans quelques instants.';
return {
message: 'Sous-titres temporairement indisponibles (limite YouTube). Réessayez dans quelques instants.',
message: `Sous-titres temporairement indisponibles (limite YouTube).${hint}`,
retryable: true,
reason: reason || 'temporarily_unavailable',
};