Live data from Hacker News

Yt-dlp: Upcoming new requirements for YouTube downloads

github.com

71–80 of 635 posts

Re: Yt-dlp: Upcoming new requirements for YouTube downloads

#71

Nsig/sig - Special tokens which must be passed to API calls, generated by code in base.js (player code). This is what has broken for yt-dlp and other third party clients. Instead of extracting the code that generates those tokens (eg using regular expressions) like we used to, we now need to run the whole base.js player code to get these tokens because the code is spread out all over the player code. PoToken - Proof…

> For the web it requires that you run a snippet of javascript code (the challenge) in the browser to prove that you are not a bot.

How does this prove you are not a bot. How does this code not work in a headless Chromimum if it's just client side JS?

Re: Yt-dlp: Upcoming new requirements for YouTube downloads

#72

At some point we’re going to need a better place to put videos than YouTube. The lack of any democratization of bulk storage is beginning to be a real problem on the internet. Yes, we have archive.org. We need more than that, though. I’m sure there’s some distributed solution like IPFS but I haven’t seen any serious attempt to make this accessible to every day people.

If you want to compete with YT you need to basically build AWS S3 in your own data centers. You'd have to find a way to make your service run cheaper than google can if you wanted to survive. You'd have to get very scrappy and risky. I'd start with questions like: how many 9s of durability do we actually need here? Could we risk it until the model is proven? What are the consequences for losing cat videos and any% speed runs of mario64? That first robotic tape library would be a big stepwise capex event. You'd want to make sure the whole thing makes sense before you call IBM or whoever for a quote.

Re: Yt-dlp: Upcoming new requirements for YouTube downloads

#73

Earlier quoted context omitted.

Deno sandboxing is paper thin, last time I looked they had very simple rules. It's a checkbox feature. If you want isolation use WASM.

It doesn’t have granularity in terms of what parts of the code have what permission - everything in the same process has the same permission, but aside from that I’m not sure what you mean about it being paper thin. Certainly WASM is a great option, and I think it can facilitate a more nuanced capabilities model, but for cases like this AFAIK Deno should be secure (to the extent that V8 is secure, which Chrome’s secu…

Last I looked it was just very basic pattern matching allow/deny with no real isolation, and there have been multiple real escapes already. It's better than nothing, and probably good enough for bush league security, but I wouldn't pitch it to my milspec customers.

Re: Yt-dlp: Upcoming new requirements for YouTube downloads

#74
post #8
post #4

Can anyone explain specifically what the YT code does that the existing python interpreter is unusable and apparently quickjs takes 20 minutes to run it? Is it just a lot of CPU-bound code and the modern JIT runtimes are simply that much faster, or is it doing some trickery that deno optimizes well?

From https://github.com/ytdl-org/youtube-dl/issues/33186 > Currently, a new style of player JS is beginning to be sent where the challenge code is no longer modular but is hooked into other code throughout the player JS. So it's no longer a standalone script that can be interpreted but it depends on all the other code on the site? Which could still be interpreted maybe but is a lot more complex and might need DOM etc…

Could something like tree-shaking be used to reduce the player code to just the token generating bit? Or does the whole player js change for each video?

Re: Yt-dlp: Upcoming new requirements for YouTube downloads

#75

What I found much more annoying, and so far have not been able to work around, is that yt-dlp requires you to have a YouTube account, something that I have not had for a decade or so, and am unwilling to create again. What tool can I use to simply store what my browser receives anyway, in a single video file?

> What tool can I use to simply store what my browser receives anyway, in a single video file?

This. I'm interested in such a tool or browser extension.

Re: Yt-dlp: Upcoming new requirements for YouTube downloads

#76
post #60

Earlier quoted context omitted.

There could be valid reasons for fighting downloaders, for example: - AI companies scraping YT without paying YT let alone creators for training data. Imagine how many data YT has. - YT competitors in other countries scraping YT to copy videos, especially in countries where YT is blocked. Some such companies have a function "move all my videos from YT" to promote bloggers migration.

Then they should allow a download API for paying customers.

It's not YT's content though.

Re: Yt-dlp: Upcoming new requirements for YouTube downloads

#78

The writing is on the wall for easy ripping. If there's any YT content you expect you'll want to preserve for a long time, I suggest spinning up https://www.tubearchivist.com/ or something similar and archiving it now while you still can.

They already had the proper-DRM tech for youtube movies for years, why didn't they already turn that on for all content?

Re: Yt-dlp: Upcoming new requirements for YouTube downloads

#79

Can we remove heartdropping mystery from the title? My first thought is that Google makes it more difficult to download from YouTube. "yt-dlp moves to Deno runtime"

Google is making it harder to download from Youtube. Your first thought is correct! Every other website that yt-dlp supports doesn't require this change. Additionally, yt-dlp is still written in python, it has not moved to deno. They are only adding a deno dependency for the javascript challenges added by youtube.
Post reply on HN