5 ms·
Would this hypothetically be able to download arbitrary videos from youtube without the constant yt-dlp arms race?
by defen 7mo ago
Would this hypothetically be able to download arbitrary videos from youtube without the constant yt-dlp arms race?
- dataviz1000 7mo ago> yt-dlp arms race I don't know anything about yt-dlp. It would probably help people who want to go to a concert and have a chance to beat the scalpers cornering the market on an event in 30 seconds hitting the marketplace services with 20,000 requests. I can try to see if can bypass yt-dlp. But that is always a cat and mouse game.
- defen 7mo agoTo clarify - yt-dlp is a command line tool for downloading youtube videos, but it's in a constant arms race with the youtube website because they are constantly changing things in a way that blocks yt-dlp.
- dexterdog 7mo agoI wouldn't call it an arms race. I don't update my client that often and I rarely have problems downloading any video with it.
- dawnerd 7mo agoDon’t know how this could be more stable than ytdlp. When issues come up they’re fixed really quickly.
- varenc 7mo agoyt-dlp was very recently broken for ~2 days for any Youtube videos that required cookies: https://github.com/yt-dlp/yt-dlp/issues/16212 https://github.com/yt-dlp/yt-dlp/issues/16212 Here is what actually fixed it: https://github.com/yt-dlp/ejs/pull/53/changes https://github.com/yt-dlp/ejs/pull/53/changes yt-dlp is relatively stable, but still occasionally breaks for long periods. I get the sense YouTube is becoming increasingly adversarial to yt-dlp as well. I don't know the details, but it doesn't seem like yt-dlp is running the entire YouTube JS+DOM environment. Something like a real headless browser seems like it would break less often, but be much heavier weight. And Youtube might have all sorts of other mitigations against this approach.
- toomuchtodo 7mo agoI think having a hook to an LLM endpoint to enable yt-dlp to attempt to self resolve until an official fix is available would be a useful enhancement.
- coro_1 7mo ago> I get the sense YouTube is becoming increasingly adversarial to yt-dlp as well. I rarely use yt-dlp anymore. Before I just updated. Now when I do that, it usually becomes complex and full of questions.
- 22c 7mo ago> yt-dlp is running the entire YouTube JS+DOM environment IIRC they maintain a minimal execution environment that is able to run just the JS needed to pass a few checks but this breaks too often enough that they're planning to make Node.js or another JS interpreter a hard requirement (possibly already happened).
- defrost 7mo agoPretty much - yt-dlp currently requires Deno to "solve" youtube challenges. * https://deno.com/ https://deno.com/ * there may well be other JS interpreters that are accepted, can be used - but solving JS challenges is required for much, if not all, YT content.
- zipping1549 7mo ago> const url = (${generate(expression)})("https://youtube.com/watch?v=yt-dlp-wins https://youtube.com/watch?v=yt-dlp-wins", "s", sig); I'm pretty sure yt-dlp is filled with these kinds of gold.
- phantomathkg 7mo agoIf it can save all the video/audio fragment and call ffmpeg to join them together. Maybe?