38 ms·
Yt-dlp: External JavaScript runtime now required for full YouTube support
- ojosilva 10mo agoI wish @pg would just add "Replace YouTube" to his Frighteningly Ambitious Startup ideas. https://paulgraham.com/ambitious.html https://paulgraham.com/ambitious.html
- anvuong 10mo agoThis explains why it suddenly failed for me yesterday and the downloads were limited to 360p only. `dnf install deno` and it was back to normal.
- tensegrist 10mo agopreviously: https://news.ycombinator.com/item?id=45358980 https://news.ycombinator.com/item?id=45358980
- xeonmc 10mo agoIn ten years time YouTube will be entirely inaccessible from the browser as the iPad kids generation are used to doomscrolling the tablet app and Google feels confident enough to cut off the aging demographic.
- andy_ppp 10mo agoThe YouTube web app is so full of bugs it's almost unusable on a phone. Comments also disappear regularly on all platforms...
- neuroelectron 10mo agoGoogle is having a hard time conforming to their own javascript standards.
- RGamma 10mo agoDo you also get looping search results? I've also had it happen to the simple "videos" tab of a channel.
- ACCount37 10mo agoAnd the YouTube web interface is full of issues too. For example, livestreams had transient memory leaks for months already, thought to be related to their chat implementation. In the meanwhile, YouTube spends its effort on measures against yt-dlp, which don't actually stop yt-dlp. What the fuck is wrong with Google corporate as of late.
- mring33621 10mo agodumb middle management driven by dumb metrics a very old story...
- hbbio 10mo ago> livestreams had transient memory leaks for months already maybe it's vibe coded nowadays
- sussmannbaka 10mo agoI can only navigate to a video by long-pressing, copying the URL and pasting it into the URL bar, otherwise I get a meaningless "something went wrong" type error message. Mobile Safari, no content blockers, not logged into a Google account. After almost two decades of making the website worse they finally succeeded in breaking "clicking a video". I wonder what the hotshots at Alphabet manage to break next :o)
- Barbing 10mo agoWorks dandily here. Suspicion: they’ve fingerprinted me hard and know I have premium but like to watch occasionally from Safari private (with content blockers) and don’t hassle me. Mainly suspect this given lack of anti-adblocking symptoms.
- dylan604 10mo agoThis was happening to me browsing in FF with uBO. It would work as soon as I disabled uBO. I realized uBO needed an update, and it went back to working with uBO active after the update. For a couple of hours I was ready to never use YT again if it meant suffering their obnoxious interruptions with ads.
- goku12 10mo ago> Comments also disappear regularly on all platforms... I don't believe that that's a bug. The disappearance depends a lot on the topic of those comments. It's very much deliberate censorship.
- kllrnohj 10mo ago> It's very much deliberate censorship. Also known as "moderation"
- goku12 10mo agoThat 'moderation' is in the same spirit as 'Enhanced Interrogation Techniques' at Guantanamo Bay, 'Administrative Segregation' in US prisons or Russia's 'Special military operations' in Ukraine. Tomayto, tomahto. Disclaimer: To anybody getting ready to be offended by these references, don't be selectively blind to the word 'spirit' above. If you still can't make it out, I'm obviously referring to euphemisms here and no additional equivalences are implied. Anything else you attribute to my statement reflects your own views and is your own responsibility. It's such a shame that I have to explain such basic facts with a disclaimer that's longer than the comment itself. But the reality is that some people are so sensitive that they insist on imposing their version political correctness to not just implied speech, but also to unimplied speech, language and even thought, while totally disregarding others' cultural perspectives. I leave this here just in case I have to explain my intentions to someone again.
- Synaesthesia 10mo agoI only use the web app on my phone (via Firefox). It works well enough and I can play videos in the background and block ads.
- wiseowise 10mo agoPffft, and good riddance, comrade! Just think about native application and native performance, great native animations and native experience (and native ads, of course)! We won't have this god-awful Web (that propelled modern tech world in the first place) anymore, we can finally have personal vendetta against awful JS and DOM. No more interoperability, no more leverage against corpos, just glorious proprietary enclaves where local tyrant can do anything they want!
- oblio 10mo agoThink of iOS. You can basically use just 1 programming stack on iOS devices: Swift/Objective-C. You can't have JIT except for the JIT approved by the Apple Gods. The biggest hack to this is React Native, which barged just in due to sheer Javascript and web dominance elsewhere, and even that has a ton of problems. Plus I'm fairly sure that the React Native JS only runs in the JIT approved by the Apple Gods, anyway. Otherwise, we're stuck in the old days of compiled languages: C/C++ (they can't really get rid of these due to games, and they have tried... Apple generally hates/tolerates games but money is money). Rust works decently from what I hear. Microsoft bought Mono/Xamarin and that also sort of works. But basically nothing else is at the level of quality and polish - especially in terms of deployment - as desktops, if you want to build an app in say, Python. Or Java. Or Ruby. Or whatever other language in which people write desktop apps. And we're at a point where mobile computing power is probably 20x that of desktops available in 2007. The only factor that is holding us back is battery life, and that's only because phone manufacturers manufacture demand by pushing for ever slimmer phones. Plus we have tons of very promising battery techs very close to increasing battery capacities by 20-50%.
- goku12 10mo ago> Plus we have tons of very promising battery techs very close to increasing battery capacities by 20-50%. Could you elaborate a bit, please? Any links are appreciated.
- oblio 10mo agohttps://www.androidauthority.com/silicon-carbon-batteries-explained-3534045/ https://www.androidauthority.com/silicon-carbon-batteries-ex... Silicon Carbon batteries. And others, but this tech is already in production.
- BinaryIgor 10mo agoIt's not YouTube though, but downloader :) "yt-dlp is a feature-rich command-line audio/video downloader with support for thousands of sites. The project is a fork of youtube-dl based on the now inactive youtube-dlc."
- nicce 10mo agoI guess the point was that yt-dlp is only possible, because of the mandatory protocols you need in the browser. Moving to native app makes it much easier to prevent downloading and denying access to the unencrypted content.
- easton 10mo agoI think these days yt-dlp is possible because they're relying on the infra YouTube has for their TV apps, which are html5 (ish) browser apps. so they'd also have to dedicate time to building native apps for every TV in existence, even if youtube.com went away.
- freefaler 10mo agoI think that too. When the people refresh their TVs with the newer, more DRM friendly/updated version this channel will meet its end :(
- somat 10mo agoMy understanding is that the original yt-dl used the browser interface. yt-dlp uses the android app interface.
- Thorrez 10mo ago>This impacts yt-dlp as we currently request video data from YouTube as if we were YouTube on TV. https://github.com/yt-dlp/yt-dlp/issues/12563 https://github.com/yt-dlp/yt-dlp/issues/12563
- goku12 10mo ago
- crazygringo 10mo agoThis is obviously not plausible. They're never going to shut off browser access on people's laptops. Watching YT at work is a major thing. I have to assume you're joking, but I honestly can't figure out what point you're even trying to make. Do it think it's surprising that an ad-supported site has anti-scraping/anti-downloading mechanisms? YouTube isn't a charity, it's not Wikipedia.
- astura 10mo ago>Watching YT at work is a major thing. Where are these jobs where I can get paid to watch YouTube?
- JimmyBiscuit 10mo agoIn small shops youtube is quite a handy source of information. I have to prototype and 3D print lots of stuff.
- phantasmish 10mo agoLots of people listen to the audio. It’s like a podcast, or having the radio on, which is fine in lots and lots of jobs. Some people probably also literally watch it, but I know multiple people who basically use it as a radio at work. Plus, never worked anywhere where half of everyone, including management, is more-or-less openly watching sports more than working during major tournaments?
- crazygringo 10mo agoAnd nobody's saying you're getting paid to watch YouTube all day. But video links get sent around, and people check out whatever 3 minute video. They watch during lunch. You know how it is.
- ux266478 10mo agoI think it would give me a life crisis and I'd feel like a failure of a boss if I learned my otherwise productive employees felt they couldn't watch sloptube the clock. A sysadmin that isn't constantly jacked into nethack is hardly a sysadmin at all. You should really demand more humane working conditions if you feel like you have to micro-optimize your work day.
- vachina 10mo agoThey’d need dedicated hardware to enforce any kind of effective DRM. Encrypted bitstream generated on the fly watchable only on L2 attested device.
- fsflover 10mo agoWhich is why Windows 11 requires TPM.
- oblio 10mo agoI guess at that point we could do it the old fashioned way by pointing a camera at the screen. Or, I guess, a more professional approach based on external recording.
- Fokamul 10mo agoI hope they will do that, yes really. Because this will mean major shift to open-source and community solution, where creators will be paid directly by their viewers. I have NO problem, what so ever, to pay content creators directly. But I have HUGE problem to pay big corpos. It's ridiculous that we pay for Netflix same price as US people and for you it's cheaper than coffee and for us, if you compare median-salary, it's 5-10x MORE expensive. (cancelled every streaming platform year before as all of my friends, cloud seedbox here we go) And I don't even wanna mention Netflix's agenda they want to push (eg.: Witcher) That's why piracy is so frequent here in small country in EU :) Also it's legal or in grey-area, because nobody enforce it or copyright companies are unable to enforce it if you don't make money from sharing. (yes, you don't even need to use VPN with torrents)
- latexr 10mo ago> Because this will mean major shift to open-source and community solution, where creators will be paid directly by their viewers. That’s an unrealistic nerd dream. People haven’t moved off of closed social networks such as Facebook and Instagram, and haven’t flocked to creator-owned platforms such as Nebula. The general public, i.e. the majority of people, will eat whatever Google, Meta, et al feed them. No matter how bad things get, too few people abandon those platforms in favour of something more open.
- mbac32768 10mo agoI'm sorry but this sounds hollow. Creators are specifically choosing to upload their content to YouTube. They have elected "big corpos" to handle payment for them. You are not standing up for them by pirating their stuff from YouTube. If you have a problem with it, it is on you to stop using YouTube to view their content. You did not gain a moral right to pirate their stuff just because you don't like the deal.
- notepad0x90 10mo agoi think a lot of millenials and older gen-z use youtube on browsers. It has more and more alternative competitors too, like bilibili in China.
- fragmede 10mo agoOoh thanks. If the 21st century is going to belong to China, then BiliBili, along with v2ex.com, is gonna need to get added to my doomscrolling itinerary.
- butlike 10mo agoThey'll never leave money on the table like that. The older demographic are the only ones that can buy things.
- BenGosub 10mo agoOne constant about Google, they always bet on the web.
- xandrius 10mo agoUntil the profits tells them not to.
- reddalo 10mo agoI wonder why YouTube doesn't implement full DRM, such as Widevine, at this point. Is it because it would break compatibility with some devices? Is it too expensive? (not that I'd like that; I always download videos from YouTube for my personal archive, and I only use 3rd party or modified clients)
- haunter 10mo agoThey are already experimenting with DRM on all videos in certain clients (like the HTML5 TV one) https://github.com/yt-dlp/yt-dlp/issues/12563 https://github.com/yt-dlp/yt-dlp/issues/12563 Sooner or later, in the next couple of years, it will happen.
- dspillett 10mo ago> Is it because it would break compatibility with some devices? This is a significant part of it. There are many smart devices that would not be capable of running that sort of software. As those cycle out of the support windows agreed way-back-when then this sort of limitation will be removed. I'm sure this is not the only consideration, but it is certainly part of the equation.
- trenchpilgrim 10mo agoYeah, it's pretty much to support backwards compatibility with old smart TVs and the like. They already enforce stricter rules on new hi-res content, and once those old devices cycle out of service you can expect the support to go away.
- Mindwipe 10mo agoIt's just an understandable reluctance to insert a bunch of additional dependencies in your playback stack unless you really, really have to. People underestimate how much engineering Netflix have put in over the years to get it to work seamlessly and without much playback start latency, and replicating that over literally millions of existing videos is pretty non-trivial, as is re-transcoding. It's not because of older devices - any TV that has got a YouTube app for a decade was required to support Widevine as part of the agreement to get the app, so the tail end of devices you'd cut off would be tiny, and even if they wanted to keep them in use you could probably use the client certificate to authenticate them and disallow general web access. It wouldn't be 100% fullproof but if any open source project used an extracted key you could revoke it quickly.
- djoldman 10mo agoFrom https://github.com/yt-dlp/yt-dlp/wiki/EJS https://github.com/yt-dlp/yt-dlp/wiki/EJS it looks like deno is recommended for these reasons: > Notes > * Code is run with restricted permissions (e.g, no file system or network access) > * Supports downloading EJS script dependencies from npm (--remote-components ejs:npm).
- arbll 10mo agoIt's fine for this project since google is probably not in the business of triggering exploits in yt-dlp users but please do not use deno sandboxing as a your main security measure to execute untrusted code. Runtime-level sandboxing is always very weak. Relying on OS-level sandboxing or VMs (firecracker & co) is the right way for this.
- jrochkind1 10mo agoi wonder if it would be legal if they did, as an anti-circumvention counter-measure.
- baobabKoodaa 10mo ago> It's fine for this project since google is probably not in the business of triggering exploits in yt-dlp yt-dlp supports a huge list of websites other than youtube
- bilekas 10mo agoMore and more recently with youtube, they seem to be more and more confrontational with their users, from outright blocking adblockers, which has no bearing on youtube's service, to automatically scraping creators content for AI training and now anything API related. They're very much aware that there is no real competition and so they're taking full advantage of it. At the expense of the 'users experience' but these days, large companies simply don't suffer from a bad customer experience anymore.
- Arainach 10mo ago>outright blocking adblockers, which has no bearing on youtube's service The scale of data storage, transcoding compute, and bandwidth to run YouTube is staggering. I'm open to the idea that adblocking doesn't have much effect on a server just providing HTML and a few images, but YouTube's operating costs are (presumably, I haven't looked into it) staggering and absolutely incompatible with adblocking.
- bitmasher9 10mo agoThat’s fine, but YouTube has an obligation to make sure the ads they serve aren’t scams. They are falling short of that obligation.
- ethmarks 10mo agoCould you elaborate on why? It seems to me that YouTube's implicit contract with the user is "these people paid us to show you this advert", not "we vouch for the integrity and veracity of this advert". I obviously agree that it'd be nice if YouTube would put more effort into screening adverts, but I don't see why they're _obligated_ to. I'm happy to be corrected, though.
- unethical_ban 10mo agoThey have the money and the world would be better.
- 10mo ago
- worldsavior 10mo agoyt-dlp feels like a whole army fighting Google. Users reporting and the army performs.
- dewey 10mo agoIf by army you mean underfunded open source volunteers then yes.
- worldsavior 10mo agoThat's the point, they don't have the fund but still give the sense of fight and power of an army.
- Almondsetat 10mo agoIf it's free, can you even talk about underfunding?
- dewey 10mo agoYou can donate to a free project, including yt-dlp (https://github.com/yt-dlp/yt-dlp/blob/master/Maintainers.md#maintainers https://github.com/yt-dlp/yt-dlp/blob/master/Maintainers.md#...)
- Almondsetat 10mo agoThe developers can arbitrarily decide their own goals and always claim underfunding, that's why it's meaningless in this context
- dewey 10mo agoI'm not sure what you are arguing for or against, but the fact that big corporations are built on top of the work of volunteers (curl, ffmpeg) who mostly have to beg for funding is a known fact. Example from yesterday: https://thenewstack.io/ffmpeg-to-google-fund-us-or-stop-sending-bugs/ https://thenewstack.io/ffmpeg-to-google-fund-us-or-stop-send...
- globular-toast 10mo agoIt's quite worrying. A sizeable chunk of cultural and educational material produced in the last decade is in control of greedy bastards who will never have enough. Unfortunately, downloading the video data is only part of it. Even if we shared it all on BitTorrent it's nowhere near as useful without the index and metadata.
- crazygringo 10mo agoWhat are you talking about? It's in control of the creators. YT doesn't get exclusive copyright on user's content. Those creators can upload wherever they want. And YT isn't "greedy bastards". They provide a valuable service, for free, that is extremely expensive to run. Do you think YT ought to be government-funded or a charity or something?
- OGWhales 10mo ago> Do you think YT ought to be government-funded Benn Jordan made a pretty compelling video on this topic, arguing that the existing copyright system and artifacts of it are actually not that great and a potential government system might actually be better: https://www.youtube.com/watch?v=PJSTFzhs1O4 https://www.youtube.com/watch?v=PJSTFzhs1O4 I will say that is something I would not have considered reasonable prior to watching his video.
- anal_reactor 10mo agoFrom the preservation point of view yes. But realistically, it's been the norm throughout human history that irrelevant culture simply gets removed.
- eviks 10mo agoSo is much of relevant culture, it's not like there is a magic preservation wand that sorts by relevance before removal
- anal_reactor 10mo ago
- bdz 10mo agoI use yt-dlp (and back then youtube-dl) all the time to archive my liked videos. Started back in around 2010, now I have tens of thousands of videos saved. Storage is cheap and a huge percent of them are not available anymore on the site. I also save temporary videos removed after a time for example NHK honbasho sumo highlights which are only available for a month or so then they permanently remove them.
- moralestapia 10mo agoSame here and my motivation was that some of my liked videos were randomly removed and it's pretty cool music I wanted to keep forever. I made another script that adds the video thumbnail as album art and somehow tries to put the proper ID3 tags, it works like 90% of the time which is good enough for me. Then I made another script that syncs it to my phone when I connect it. So now I have unlimited music in my phone and I only have to click on "Like" to add more. And yet, none of Google's 900k TOC genius engineers have thought of this as a feature ...
- anamexis 10mo ago> And yet, none of Google's 900k TOC genius engineers have thought of this as a feature ... Isn’t that the YouTube Music app?
- moralestapia 10mo agoNo.
- anamexis 10mo agoHow so? What’s missing?
- deleted 10mo ago[deleted]
- moralestapia 10mo ago
- everdrive 10mo agoPerhaps a stupid question, but is there some reason I can't potentially fall back to recording my screen / audio in realtime and saving videos that way? yt-dlp is obviously far superior to this, but just thinking about what my fallback points are.
- crazygringo 10mo agoYou definitely can, it's just 1) vastly slower, and 2) you have to recompress the decompressed video, which loses quality. It's therefore an option of last resort. Most people want to be able to download 5 hours of video in the background in 5 minutes. Not wait 5 hours while their computer is unusable.
- netsharc 10mo agoI wonder if it has to be a real computer, display, and camera, or if doing it with a "headless display" that is nonetheless being fed to a "video recorder" would work... Funny how it'd be like The Matrix...
- crazygringo 10mo agoIt depends on a lot of factors. But even if it works in a virtual machine, your CPU is going to be pegged at 100% the whole time to handle the re-encoding. Unless you use a hardware h.264 encoder, but then the quality is pretty terrible since it's explicitly optimized for speed over quality and isn't tunable the way software encoders are. It's always doable, it's just an option of last resort. You always just want to access the original compressed bitstream if possible.
- tracker1 10mo agoI think the real key is to only compress enough initially so that you don't blow out your storage in terms of size and throughput... Once you have the stream captured at a higher quality, you can always recompress more optimally. A relatively low compression with hardware h.264 will still take up a lot less space and throughput than mpeg-2 or raw.
- Tabular-Iceberg 10mo agoI remember when QuickTime came out in 1991 and it was obvious to everyone that video should be copied, pasted and saved like any arbitrary data. It's absolutely insane to me how bad the user experience is with video nowadays, even video that's not encumbered by DRM or complex JavaScript clients.
- dev0p 10mo agoYouTube should have been a distributed p2p system with local storage of your favorite videos. A man can dream...
- amelius 10mo agoDidn't work because asymmetric upload/download speeds (which now are a thing of the past; however, it gave youtube an early advantage).
- gbin 10mo agoGuess why it was asymmetrical in the first place ... Telcos wanted to sell the upload bandwidth to streaming companies. Another double dipping Telco monopoly squeeze and customer boxing / enshitification from very early on.
- Tabular-Iceberg 10mo agoI thought it was just trading more download for less upload when last mile bandwidth was limited by re-using old POTS copper. Wasn't dialup largely asymmetric too? I don't think p2p streaming was even on the radar back then.
- dev0p 10mo agoNow largely more feasible. We should try again.
- dsamarin 10mo ago
- LucavagoHellman 10mo ago[dead]
- embedding-shape 10mo agoSeems its already in Arch's repositories, and seems to work, just add another flag to the invocation: yt-dlp --cookies-from-browser firefox --remote-components ejs:github -f "bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best" 'https://www.youtube.com/watch?v=XXX' It is downloading a solver at runtime, took maybe half a second in total, downloads are starting way faster than before it seems to me. [youtube] [jsc:deno] Solving JS challenges using deno [youtube] [jsc:deno] Downloading challenge solver lib script from https://github.com/yt-dlp/ejs/releases/download/0.3.1/yt.solver.lib.min.js It would be great if we could download the solver manually with a separate command, before running the download command, as I'm probably not alone in running yt-dlp in a restricted environment, and being able to package it up together with the solver before runtime would let me avoid lessening the restrictions for that environment. Not a huge issue though, happy in general the start of downloads seems much faster now.
- gamer191 10mo ago> It would be great if we could download the solver manually with a separate command Download a random video and then copy ejs from yt-dlp’s cache directory (I think it’s in /home/username/.cache) > being able to package it up together with the solver `make yt-dlp-extra`
- WD-42 10mo agoGlad to hear it’s faster now! YouTube barely works in a full-on browser these days, props to the team that keeps it accessible via a Python script!
- gilfoy 10mo agoI use YouTube daily in safari and edge, this is complete hyperbole.
- phplovesong 10mo agoYoutube is pretty unusable, as they throttle videos, and links sometimes dont work. It has gone downhill fast in recent years.
- creaktive 10mo agoAh! So, that’s why brew no longer updates yt-dlp on my iMac from 2017 ¯\_(ツ)_/¯
- goku12 10mo agoJust one question. I see all these 3rd party clients solving the problem separately. Isn't it easier for everyone to build a unified decoder backend that exposes a stable and consistent interface for all the frontends? That way, it will get more attention and each modification will have to be done only once. Since JS is the big issue here, the backend itself could be written in JS, TS or something else that compiles to WASM. That way, the decoder doesn't have to be split between two separate codebase. Deno also allows the bundle to be optionally compiled into a native executable that can run without having to install Deno separately.
- pwdisswordfishy 10mo agoIt will also save Google time trying to fingerprint it!
- goku12 10mo agoHow so?
- tracker1 10mo agoAlternatively, I'm not sure if this might be an impetus to move the bulk of the codebase itself to TS/JS and just use Deno/Node/Bun or otherwise to move to Rust with rusty_v8 or deno_core directly.
- zahlman 10mo agoYou mean, like the yt-dlp-ejs package?
- goku12 10mo agoHmm! Close enough, I guess. I didn't notice that. But I hope that it has a flexible interface and that all projects adopt it.
- zahlman 10mo agoFrom what I can tell, it basically includes the JavaScript to run, and then the main program tells it which engine to feed it to. From some issue tracker discussion, it does the latter in the common way of "look up an executable on $PATH or use a user-provided path, and shell out to it". I didn't check where the logic is located for building the command line needed for each supported engine.
- jrochkind1 10mo agoI am impressed at their resourcefulness. Knock on wood not to jinx it, but I wonder why this manages to stay up on github when eg paywall-busting chrome extensions get banned from there (because of DMCA takedowns I guess?)
- shbooms 10mo agothere was already an attempt to take it down back in 2020/2021 [0]. The DMCA claim's main argument was that ytdl was circumventing Techincal Protection Measures (TPMs) in order to access the content. Thanks to a letter from the EFF [1] which explains how ytdl accesses content in the same way that a browser does (i.e. it does circumvent anything such as DRM), github rejected the takedown. this is also why ytdl has stood firm in saying they will never attempt to be compatible with anything protected by DRM. [0] https://github.blog/news-insights/policy-news-and-insights/standing-up-for-developers-youtube-dl-is-back/ https://github.blog/news-insights/policy-news-and-insights/s... [1] https://github.com/github/dmca/blob/master/2020/11/2020-11-16-RIAA-reversal-effletter.pdf https://github.com/github/dmca/blob/master/2020/11/2020-11-1...
- jrochkind1 10mo agoThanks for context with good links!
- zhengiszen 10mo agoThen someday it with require an entire llm installed locally
- deleted 10mo ago[deleted]
- adolph 10mo agoIs captcha solving on yt-dlp's roadmap? This seems to be a natural next step. Maybe there is an external library they could integrate?
- rob 10mo agoWe use this for AI transcriptions internally on our Linode VPS server. It's been working great by itself for the most part since the beginning of the year, with only a couple of hiccups along the way. We do use a custom cookies.txt file generated on the server as well as generate a `po_token` every time, which seems to help. (I originally thought everything would just get blocked from a popular VPS provider, but surprisingly not?) Most recently though, we were getting tons of errors like 429 until we switched to the `tv_embedded` client, which seems to have resolved things for the most part.
- karel-3d 10mo agoFrom https://github.com/yt-dlp/yt-dlp/issues/14404 https://github.com/yt-dlp/yt-dlp/issues/14404 > What about Selenium or a headless browser solution? > > The yt-dlp maintainers have no interest in doing this except as a measure of last resort. A headless browser solution would be an admission of defeat and would go against the spirit of this project.
- tekmaven 10mo agoIn case anyone was wondering, use `--js-runtimes node` to use the (as stated as insecure) node option.
- Wowfunhappy 10mo ago> if using QuickJS, version 2025-4-26 or later is strongly recommended for performance reasons Oh, I wonder if they got performance to a reasonable level then? When the external JS requirements were first announced, they said it took upwards of half an hour, and a QuickJS developer wrote in the ticket that they didn’t see a path towards improving it significantly enough.
- rdtsc 10mo agoIt wasn't a QuickJS developer but developer from a fork: https://github.com/bellard/quickjs/issues/445 https://github.com/bellard/quickjs/issues/445
- Wowfunhappy 10mo agoOh, so with QuickJS it only takes a few seconds at worst. That's great news for portability!
- zoobab 10mo agoI don't mind, but it has to work out of the box after a pip install. Looks like the packaging will be a mess?
- simlevesque 10mo ago> it has to work out of the box after a pip install. What do you mean by it has to ?
- extraduder_ire 10mo agoIf you specify "yt-dlp[default]" as the package for pip to install, it pulls in the dependency required to use deno for this.
- deleted 10mo ago[deleted]
- mellosouls 10mo agoDiscussed here a few weeks ago: https://news.ycombinator.com/item?id=45358980 https://news.ycombinator.com/item?id=45358980 Yt-dlp: Upcoming new requirements for YouTube downloads - 1244 points, 620 comments
- api 10mo agoSomeday it will have to launch a VM with a copy of Chrome installed and use an AI model to operate the VM to make it look like a human, then use frame capture inside the VM to record the video and transcode it.
- blissofbeing 10mo agoWhy deno over bun?
- einsteinx2 10mo agoPer their wiki [0], these are their notes on Bun: - No permission restrictions available. Scripts have full file system and network access. - Supports downloading EJS script dependencies from npm (--remote-components ejs:npm). - No support for SOCKS proxies when downloading EJS script dependencies from npm. [0]: https://github.com/yt-dlp/yt-dlp/wiki/EJS#notes-2 https://github.com/yt-dlp/yt-dlp/wiki/EJS#notes-2
- nsonha 10mo agoI'm suprised that corporate software has not picked up deno for these reasons.
- nextworddev 10mo agoYoutube obviously is making it harder to download videos because... it's training data
- gethly 10mo agoIs there an UI wrapper for this?
- Figs 10mo agoI do not understand why Google doesn't just explicitly permit people who pay for premium to use yt-dlp or other tools to watch YouTube however the fuck they want. Put that in your terms, Google -- so people aren't afraid they'll lose their GMail because they wanted to watch a video -- and you'll get more paying customers...
- s3graham 10mo agoSeriously, there's even that "Download" button but it goes to some weird janky browser-local storage instead of just giving me a damn file. (I don't think they'd realistically get more paying customers, but I would appreciate it anyway.)
- extraduder_ire 10mo agoYoutube used to have working download buttons on any video that the uploader licenced as creative commons. The version of their app that used their V2 API also allowed downloading any video (local to the app, not easily copied) or even setting it to auto-download all of your subscription feed as videos came out.
- deleted 10mo ago[deleted]
- andy_ppp 10mo agoAm I right in saying they need to be able to run JS code from YouTube to be able to get the download URL at this point? Deliberate obfuscation I'm guessing? I guess Deno makes the code fairly safe to execute and I guess the chances of YouTube daring to download spyware onto your machine is minimal :-)
- jajuuka 10mo agoIf corporations could stop being dicks, that would be great. Between this and the Reddit API change feels like they all get together and plan this. Thank god for FOSS.
- mmaunder 10mo agoScraping sucks. Imagine a broken API with new breakages every few weeks. Now imagine the provider hates you. Shout out to the team for what they do.
- baobabKoodaa 10mo agoExactly. I could never maintain yt-dlp. Must be exhausting.
- nutjob2 10mo agoI think being in a pitched battle with YT is kind of fun, if you enjoy that sort of challenge, and winning to boot. I mean YT has perfect knowledge of its adversary's moves and a huge staff and they're still losing. It must at least be satisfying. Also its an important job.
- lurk2 10mo ago> Now imagine the provider hates you. That’s the best part.
- john01dav 10mo agoThe day that YouTube makes itself unusable with properly free tools is the day that I use Nebula and such instead
- engeljohnb 10mo agoI'm glad there's a streaming service that pays independent creators for their hard work, but the player is glitchy almost to the point of being unusable. Actually, it's completely to the point of being unusable. For several videos now, I've watched halfway through and suddenly playback stops and the video is replaced with "Error." And every time this happens I have to just pray the videos on youtube because, without exaggeration, it will never work again. Even after checking a week later.
- rbbydotdev 10mo agogreat tool for archiving ICE abuses posted on multiple platforms
- yupyupyups 10mo agoEven when the so called "ad-pocalypse" happened, this wasn't as big of an issue as it is today. What's going on with Google being extra stingy seems to correlate well with the AI boom (curse). I suspect there are companies running ruthless bots scraping TBs of videos from YouTube. Not just new popular videos that are on fast storage, but old obscure ones that probably require more resources to fetch. This is unnatural, and goes contrary to the behaviour pattern of normal users that YT is optimized for. I think AI-companies abusing the internet is why things are getting more constrained in general. If I'm right, they deserve the bulk of the blame imo.
- narrator 10mo agoThis will happen in the real world when the robot mass production gets going. We'll climb the exponential till we run into the resource limits of the planet at meteoric speed. Yes, the regulators will try and manage it, but eventually every decision about who can use the robot/AI genie for what will go through them because of the robot/AI genie's enormous strain on natural resources, and you'll be back to a planned economy where the central planners are the environmental regulators. There are hard decisions to make as well. Who gets to open a rare earth processing plant and have a tailing pond that completely ecologically destroys that area? Someone has to do it to enable the modern economy. It's kind of like we won't have a good AI video generator and will always be behind China if some Youtube creators refuse to license their content for AI training. Same goes for the rare earth processing tailing pond. Nobody can agree on where it's going to go, so China wins.
- HumblyTossed 10mo agoHopefully most of what the bots are ruthlessly scraping is all the AI slop that is filling YT. Hopefully garbage in - garbage out will kill off all the AI nonsense. yes, "AI" can be useful, but nonsense and slop are not.
- Alex2037 10mo ago>I suspect there are companies running ruthless bots scraping TBs of videos from YouTube. certainly, but for Google, that bandwidth and compute is a drop in the bucket. at the scale Google operates, even if there were a hundred such bots (there aren't - few companies can afford to store exabytes of data), those wouldn't even register on the radar. of course, like the other social media oligarchs, Google wants to be the only entity with unrestricted access to their catalog of other people's content, but even that isn't their motivation here - "login to prove you're not a bot :^)" was ALWAYS going to happen, even without the AI bubble. enshitiffication is unstoppable and irreversible, and Google is its prophet - what they don't kill, they turn to shit. >I think AI-companies abusing the internet is why things are getting more constrained in general. even before the AI bubble, every other fuckass blog with 0.5 daily visitors was behind Cloudflare, for the same reason those fuckass blogs are built with FOTM javascript frameworks - there's nowt so queer as webshits.
- dekhn 10mo agoFrankly I think this is inevitable- it's practically one of the laws of computing: any sufficiently complex system will ultimately require a turing-complete language regardless of its actual necessity. See also: """Zawinski's Law states: "Every program attempts to expand until it can read mail. Those programs which cannot so expand are replaced by ones which can."""" and """Greenspun's tenth rule of programming is an aphorism in computer programming and especially programming language circles that states:[1][2] Any sufficiently complicated C or Fortran program contains an ad hoc, informally-specified, bug-ridden, slow implementation of half of Common Lisp.""" (from the above I conclude that if you want to take over the computer world, implementing a mail reader with an embedded Lisp).
- 1vuio0pswjnm7 10mo ago"Support for YouTube without a JavaScript runtime is now considered "deprecated." It does still work somewhat; however, format availability will be limited, and severely so in some cases (e.g. for logged-in users). " The devil is in the details There are some formats, perhaps the one(s) the user wants, that do not require a JS runtime Interesting that "signing up" for a website publishing public infomation and "logging in" may not always work in the user's favor. For example, here they claim it limits format availability "Format availability without a JS runtime is expected to worsen as time goes on, and this will not be considered a "bug" but rather an inevitability for which there is no solution. It's also expected that, eventually, support for YouTube will not be possible at all without a JS runtime." It is speculated that this format availability might change in the future
- jdewerd 10mo agoHow long until it comes with a DRM AI and then my anti-DRM AI will have to fight it in a virtual arena (with neon lights and killer soundtrack, of course)?
- 1vuio0pswjnm7 10mo agos/infomation//information/
- gloosx 10mo agoI wonder how the whole thing works when I open a youtube video from a preview inside a chat application on my mobile phone. It looks like the video loads and starts playing in some kind of in-app browser, but there is just full-screen video and nothing else. I also never faced any ads in this "mode" of playing a video, yet recently some strange things started happening where the playback would start together with an audio-track from the advertisement. The video itself would start playing but the sound would be replaced with the sound from ad which seemed very odd and much like a bug, only when advertisement audio track ends it will be replaced with audio track from the video itself. I'm genuinely curious how is the whole playback process different when I watch a video from the Telegram preview, can I somehow achieve the same "just fullscreen video" kind of playback on the desktop as well? Does anyone have any insight?
- jasomill 10mo agoNot sure what you’re asking. You can get fullscreen video in a desktop browser by pressing F or clicking the fullscreen icon (broken rectangle) below the video. You can get ad-free playback by paying for Premium or sometimes with an ad blocker. Outside the browser, you can get both with yt-dlp, which also integrates into video players like mpv.
- jasomill 10mo ago[Fullscreen icon in YouTube is double arrow, not broken rectangle.]
- gloosx 10mo agoYou can get ad-free, fullscreen video on mobile right away by opening it from a chat message preview. You also just get the full-screen video, no way to minimise it and see Youtube UI, no ads visible. I was just wondering how it works and can you simulate that on the desktop.
- thangalin 10mo agoFor Firefox + uBlock origin users having troubles viewing YouTube, please see my previous comment for filters that may help with playback issues: https://news.ycombinator.com/item?id=44332976 https://news.ycombinator.com/item?id=44332976
- nofunsir 10mo agoTangentially related. Youtube web is now, as of the last month, strictly enforcing "referrer header" for embedded videos. Even if you spoof it, it doesn't always work. You can't navigate directly to "youtube.com/embed/<videoid>" to watch something without giving google some direct information. Since when are public-facing error codes just lies? "Oh Error 15 something went wrong, tee hee." "Oh Error 153 better try again, (got em, guys!)" They operated for a while, before finally updating their FAQ stating this is intentional.[1] [1] https://support.google.com/youtube/answer/171780?hl=en#zippy=%2Cprovide-a-http-referer-header-to-enable-video-playback https://support.google.com/youtube/answer/171780?hl=en#zippy... " Provide a HTTP Referer header to enable video playback Our Terms of Service require embedders to provide a HTTP Referer. If this information is missing, viewers attempting to watch embedded YouTube videos will encounter blocked playback and an error screen (“error 153”). These viewers will still be able to click “Watch on YouTube” to view the video on YouTube. Note that directly accessing the embedded player without an enclosing webpage or context (such as accessing it from your web browser's address bar) will typically not have a HTTP Referer and users will encounter the error screen; the embedded player is only intended to be used within an embedded context."
- Neywiny 10mo agoPretty much all embeds have done this, increasing over the years. Forget discord embeds. They want the tracking. Sometimes they even make me login "to know I'm not a bot"
- hollow-moe 10mo agoDamn that's crazy, nothing a simple static redirector in a single js line can't fix. Overall cost to implement this shit : likely thousands hundred k Bypass cost : literally 0 It really is just a way for them to say "we can fuck with you as much as we want and you won't do shit cause what you gonna do ? go somewhere else ?"
- xeonmc 10mo agoIn killing the cable company, YouTube has become the cable company themselves.
- anabis 10mo agoThis is where I would guess the world destroing AGI/ASI will come about. The neverending cat-and-mouse game of ads/blockers driven by profit motive. LLMs will used by both sides in a escalating game, with humans with its attention and wallet stuck in the middle.
- adam1996TL 10mo ago[flagged]
- efskap 10mo agoClaude wrote this comment. I recognize the "you're hitting on a", "your X is the correct architectural fix"
- userbinator 10mo agoI still remember when it was as simple as a request to /get_video?video_id=XXXXXXXX with possibly a &fmt=YY parameter. Great fuckings to those at YT, I wonder if they ever feel bad for what they're doing or they are just happy to get $$$.
- alex1138 10mo agoFor me the principal issue with Youtube (for many years was copyright overreach, yeah ok safe harbor, but you can't tell me that they couldn't have done a better job) has been censorship/demonetization which is effectively censorship Everything from that follows, the entire philosophy of the product It makes me wonder if all of Google is like this
- docmars 10mo agoCouldn't this be compiled to a single-file executable using Bun or Deno, to avoid the need for a runtime install? https://bun.com/docs/bundler/executables https://bun.com/docs/bundler/executables
- VerifiedReports 10mo agoWhat is the reason for this new requirement? I didn't see it explained anywhere.
- Mr_Minderbinder 10mo agoYouTube has gotten so bad that even normal people are complaining about it now. A middle-aged woman who volunteers with me was saying how she did not feel comfortable using YouTube due to the number of inappropriate ads. I ended up giving her links to a few Invidious instances and she loves them even if they are slower and not entirely reliable. She also understood the concept of a front-end without much explaining on my part.
- niutech 10mo agoEasy solution: use YT in a web browser with an ad blocker (like uBlock Origin or AdGuard on iOS).
- tobyhinloopen 10mo agoIs this why Youtube stopped working for me on Safari? I'm sure it is one of my adblockers, but I pay for YT Premium.
- codedokode 10mo agoBefore you blame Google, think that the main users of yt-dlp could be: 1) multi-billion AI companies which download large amount of videos without permission and without paying 2) Youtube competitors/replacements in countries where Youtube is blocked, which copy the videos without permission and payment I wish though that Youtube would adjust their policy to block this type of users and let ordinary people download videos.
- chii 10mo ago> this type of user They are undifferentiable from ordinary users. And what about users who do adblocking? They are also "not paying" in the same sense - how come they're not included in your list?
- codedokode 10mo agoThey are distinguished by volume. No ordinary user downloads millions of videos.
- chii 10mo ago> No ordinary user downloads millions of videos. why not? If that ordinary user wants to train their own model? Now you're not allowing such things to be done?
- codedokode 10mo agoSorry I forgot that the economy got so good that every "ordinary user" can afford a GPU farm now.