Fix the captions downloading

This commit is contained in:
2026-03-02 02:39:33 -06:00
parent 44c87e1e50
commit 29fdf6a2f3
3 changed files with 28 additions and 19 deletions

View File

@@ -1349,7 +1349,7 @@ class TYTD.Downloader {
}
private DownloadCaptions(req)
{
const tracks = req.playerResponse.playerCaptionsTracklistRenderer.captionTracks;
const tracks = req.playerResponse.captions.playerCaptionsTracklistRenderer.captionTracks;
if(TypeIsList(tracks))
{
each(var item : tracks)
@@ -1358,26 +1358,36 @@ class TYTD.Downloader {
if(!TypeIsString(item.baseUrl)) continue;
try {
var path = /"Streams"/id.Substring(0,4) / id.Substring(4) / item.languageCode;
var resp = Net.Http.MakeRequest(url,{FollowRedirects=true});
if(resp.StatusCode >= 200 && resp.StatusCode <= 299)
if(!this.Storage.FileExists(path+".xml"))
{
const strm=this.Storage.OpenFile(path+".xml","wb");
resp.CopyToStream(strm);
strm.Close();
var resp = Net.Http.MakeRequest(url,{FollowRedirects=true});
if(resp.StatusCode >= 200 && resp.StatusCode <= 299)
{
const strm=this.Storage.OpenFile(path+".xml","wb");
resp.CopyToStream(strm);
strm.Close();
}
}
resp = Net.Http.MakeRequest(url.Replace("fmt=srv3","fmt=vtt"),{FollowRedirects=true});
if(resp.StatusCode >= 200 && resp.StatusCode <= 299)
if(!this.Storage.FileExists(path+".vtt"))
{
const strm=this.Storage.OpenFile(path+".vtt","wb");
resp.CopyToStream(strm);
strm.Close();
var resp = Net.Http.MakeRequest(url.Replace("fmt=srv3","fmt=vtt"),{FollowRedirects=true});
if(resp.StatusCode >= 200 && resp.StatusCode <= 299)
{
const strm=this.Storage.OpenFile(path+".vtt","wb");
resp.CopyToStream(strm);
strm.Close();
}
}
resp = Net.Http.MakeRequest(url.Replace("fmt=srv3","fmt=srt"),{FollowRedirects=true});
if(resp.StatusCode >= 200 && resp.StatusCode <= 299)
if(!this.Storage.FileExists(path+".srt"))
{
const strm=this.Storage.OpenFile(path+".srt","wb");
resp.CopyToStream(strm);
strm.Close();
var resp = Net.Http.MakeRequest(url.Replace("fmt=srv3","fmt=srt"),{FollowRedirects=true});
if(resp.StatusCode >= 200 && resp.StatusCode <= 299)
{
const strm=this.Storage.OpenFile(path+".srt","wb");
resp.CopyToStream(strm);
strm.Close();
}
}
} catch(ex) {
@@ -1692,7 +1702,6 @@ class TYTD.Downloader {
};
this.RateLimit();
var response = Net.Http.MakeRequest(url,requestData);
Console.WriteLine(response.StatusCode);
if(response.StatusCode < 200 || response.StatusCode > 299) continue;
const respText = response.ReadAsString();