Closed wasd52030 closed 2 months ago
When I perform a large number of downloads at once, there is a higher probability of occurrences exceeding a certain threshold (greater than 50).
I can definitely see it happening on CI, but I don't have the time to investigate. Any help is welcome.
I think these Youtube videos need age confirmation. That's why the downloads are not accessible.
I think these Youtube videos need age confirmation. That's why the downloads are not accessible.
It displays a similar page I knew from the start that this video was about suicide, but I just want to listen to the music
I had some time to investigate this issue, but unfortunately didn't come up with a solution. However, it seems that the deciphering process did not change and YoutubeExplode still performs that part correctly. My guess is that YouTube added a new form of verification for the TVHTML5
client (that we use for age-restricted videos), but I have not been able to reverse-engineer it yet.
FYI I recently found that if stream URLs have an “n=. . .” query parameter, I have to transform the values or I get 403 responses. The transform function is in the player Java Script. To find the function, look where it is called, just after the .get("n")
method call. For instance it is the yma function in the following.
yma = function(a) {
var b = a.split("")
/* . . . */
return b.join("")
};
/* . . . */
(b = a.get("n"))
&& (b = yRa[0](b),
a.set("n", b),
yRa.length || yma(""))
/* . . . */
var yRa = [yma];
[Edit: discussion of the function from 2021: https://github.com/ytdl-org/youtube-dl/issues/29326#issuecomment-866674128]
Thanks @vadmium.
I remember previously the n
parameter was only responsible for whether the downloads are throttled or not. Is it now required to access the stream altogether?
Another video test case: https://www.youtube.com/watch?v=vcw5THyM7Jo
Version
6.3.16
Platform
.NET 6.0.423/Windows 11
Steps to reproduce
Details
Expected Behavior: Returns valid StreamManifest Actual Behavior: HttpRequestException thrown
Complete error repor
Checklist