Skip to content(if available)orjump to list(if available)

The best YouTube downloaders, and how Google silenced the press

molticrystal

The claim that Google secretly wants YouTube downloaders to work doesn't hold up. Their focus is on delivering videos across a vast range of devices without breaking playback(and even that is blurring[0]), not enabling downloads.

If you dive into the yt-dlp source code, you see the insane complexity of calculations needed to download a video. There is code to handle nsig checks, internal YouTube API quirks, and constant obfuscation that makes it a nightmare(and the maintainers heroes) to keep up. Google frequently rejects download attempts, blocks certain devices or access methods, and breaks techniques that yt-dlp relies on.

Half the battle is working around attempts by Google to make ads unblockable, and the other half is working around their attempts to shut down downloaders. The idea of a "gray market ecosystem" they tacitly approve ignores how aggressively they tweak their systems to make downloading as unreliable as possible. If Google wanted downloaders to thrive, they wouldn't make developers jump through these hoops. Just look at the yt-dlp issue tracker overflowing with reports of broken functionality. There are no secret nods, handshakes, or other winks, as Google begins to care less and less about compatibility, the doors will close. For example, there is already a secret header used for authenticating that you are using the Google version of Chrome browser [1] [2] that will probably be expanded.

[0] Ask HN: Does anyone else notice YouTube causing 100% CPU usage and stattering? https://news.ycombinator.com/item?id=45301499

[1] Chrome's hidden X-Browser-Validation header reverse engineered https://news.ycombinator.com/item?id=44527739

[2] https://github.com/dsekz/chrome-x-browser-validation-header

guerrilla

> If you dive into the yt-dlp source code, you see the insane complexity of calculations needed to download a video. There is code to handle nsig checks, internal YouTube API quirks, and constant obfuscation that makes it a nightmare(and the maintainers heroes) to keep up. Google frequently rejects download attempts, blocks certain devices or access methods, and breaks techniques that yt-dlp relies on.

This just made me incredibly grateful for the people who do this kind of work. I have no idea who writes all the uBlock Origin filters either, but blessed be the angels, long may their stay in heaven be.

I'm pretty confident I could figure it out eventually but let's be honest, the chance that I'd ever actually invest that much time and energy is approximates zero close enough that we can just say it's flat nil.

Maybe Santa Claus needs to make some donations tonight. ho ho ho

cindyllm

[dead]

AceJohnny2

I also don't buy this argument about YouTube depending on downloaders:

> They perform a valuable role: If it were impossible to download YouTube videos, many organizations would abandon hosting their videos on YouTube for a platform that offered more user flexibility. Or they’d need to host a separate download link and put it in their YouTube descriptions. But organizations don’t need to jump through hoops -- they just let people use YouTube downloaders.

No, organizations simply use YouTube because it's free, extremely convenient, has been very stable enough over the past couple decades to depend on, and the organization does not have the resources to setup an alternative.

Also, I'm guessing such organizations represent a vanishly small segment of YouTube's uploaders.

I don't think people appreciate how much YouTube has created a market. "Youtuber" is a valid (if often derided) job these days, where creators can earn a living wage and maintain whole media companies. Preserving that monetization portal is key to YouTube and its content creators.

lucb1e

> and the organization does not have the resources to setup an alternative.

Can confirm at least one tech news website argued this point and tore down their own video hosting servers in favor of using Youtube links/embeds. Old videos on tweakers.net are simply not accessible anymore, that content is gone now

This was well after HTML5 was widely supported. As a website owner myself, I don't understand what's so hard now that we can write 1 HTML tag and have an embedded video on the page. They made it sound like they need to employ an expensive developer to continuously work on improving this and fixing bugs whereas from my POV you're pretty much there with running ffmpeg at a few quality settings upon uploading (there are maybe 3 articles with a video per day, so any old server can handle this) and having a quality selector below the video. Can't imagine what about this would have changed in the past decade in a way that requires extra development work. At most you re-evaluate every 5 years which quality levels ffmpeg should generate and change an integer in a config file...

Alas, little as I understand it, this tiny amount of extra effort, even when the development and setup work is already in the past(!), is apparently indeed a driving force in centralizing to Youtube for for-profits

jacobgkau

> As a website owner myself, I don't understand what's so hard now that we can write 1 HTML tag and have an embedded video on the page.

You acknowledge that it's not that simple:

> running ffmpeg at a few quality settings upon uploading (there are maybe 3 articles with a video per day, so any old server can handle this)

Can any old server really handle that? And can it handle the resulting storage of not only the highest-quality copy but also all the other copies added on top? My $5 Linode ("any old server") does not have the storage space for that. You can switch your argument to "storage is cheap these days," but now you're telling people to upgrade their servers and not actually claiming it's a one-click process anymore.

I use Vimeo as a CDN and pay $240 per year for it ($20/month, 4x more than I spend on the Linode that hosts a dozen different websites). If Vimeo were to shut down tomorrow, I'd be pretty out of luck finding anyone offering pricing even close to that-- for example, ScaleEngine charges a minimum of $25 per month and doesn't even include storage and bandwidth in their account fee. Dailymotion Pro offers a similar service to Vimeo these days, but their $9/month plan wouldn't have enough storage for my catalog, and their next cheapest price is $84/month. If you actually go to build out your own solution with professional hosting, it's not gonna be a whole lot cheaper.

Obviously, large corporations can probably afford to do their own hosting-- and if push came to shove, many of them probably would, or would find one of those more expensive partner options. But again, you're no longer arguing "it's just an HTML tag." You're now arguing they should spend hundreds or thousands per year on something that may be incidental to their business.

roboror

Yeah organizations don't use YouTube for file access, that's just not a good way to operate a video department in a business. Also the quality is terrible and adding another set of reencodes will make it even worse.

jacobgkau

To be fair, the article doesn't say Google "secretly wants" downloaders to work. It says they need downloaders to work, despite wanting to make them as annoying as possible to use. The argument isn't so much about Google's feelings as it is about whether the entire internet would continue making YouTube the video hosting site to use if downloaders were actually (effectively) blocked.

pests

I don’t think companies are asking “can people download this video” but rather “can people watch this video” - downloaders seems like an afterthought or non issue.

ameliaquining

The argument the article is making is that if they really wanted YouTube downloaders to stop working, they'd switch to Encrypted Media Extensions. Do you think that's not plausible?

molticrystal

Many smart devices that have youtube functionality(tvs, refrigerators, consoles, cable boxes, etc), have limited or no ability to support that functionality in hardware, or even if they do, it might not be exposed.

Once those devices get phased out, it is very likely they will move to Encrypted Media Extensions or something similar, I believe I saw an issue ticket on yt-dlp's repo indicating they are already experimenting with such, as certain formats are DRM protected. Lookup all the stuff going on with SABR which if I remember right is either related to DRM or what they may use to support DRM.

hayksaakian

for example I think feature length films that YouTube sells (or rents) already use this encryption.

ls612

Here has to be at least some benefit Google thinks it gets from youtube downloaders, because for instance there have been various lawsuits going after companies that provide a website to do youtube downloading by the RIAA and co, but Google has studiously avoided endorsing their legal arguments.

kragen

Using DRM would make it illegal for YouTubers to use Creative-Commons-licensed content in their videos, such as Kevin MacLeod's music or many images from Wikipedia.

justsomehnguy

> if they really wanted YouTube downloaders to stop working

Wrong question leads to the wrong answer.

The right one is "how much of the ad revenue would be lost if". For now it's cheaper to spend bazillions on a whack-a-mole.

yard2010

Google is not a side here if you don't want people to download your video do not put it on the internet.

eek2121

While I do agree (mostly, I've never had a download NOT work, on the rare occasion I grab one), they haven't made it impossible to download videos, so that is a win IMO.

molticrystal

Your view from a distance, where you rarely download Youtube videos, is common for now, and we still live in a very fortunate time. The problems are short lived, so over long periods, they tend to average out, and you are unlikely to notice them. Even active users will rarely notice a problem, so it is understandable for your use case, it would seem perfect.

Looking closely, at least for yt-dlp, you would see it tries multiple methods to grab available formats, tabulates the working ones, and picks from them. Those methods are constantly being peeled away, though some are occasionally added or fixed. The net trend is clear. The ability to download is eroding. There have been moments when you might seriously consider that downloading, at least without a complicated setup(PO-Tokens, widevine keys, or something else), is just going to stop working.

As time goes on, even for those rare times you want to grab a video, direct downloading may no longer work. You might have to resort to other methods, like screen recording through software or an actual camera, for as long as your devices will let you do even that.

peteforde

One of the things that drives me crazy about YouTube is that if a video gets taken down, it shows up as a "This video is no longer available" with no further metadata. I am far, far more uptight about no knowing which video was removed than I am about the fact that it is no longer available.

I have put serious thought into creating a tool that would automatically yt-dlp every video I open to a giant hard drive and append a simple index with the title, channel, thumbnail and date.

In general, I think people are way too casual about media of all kinds silently disappearing when you're not looking.

pzmarzly

I had a Bash script that parsed my browser history, and for every YouTube video it would run yt-dlp with "--write-info-json --write-subtitles --download-archive=already-downloaded.db" flags. Creating it was the easy part, but keeping it running has presented some challenges. For example, Google started rate limiting my IP quickly, so I had to offload this process to a NAS, where it could keep running for hours overnight, persistently downloading stuff at near dialup speeds. Then I was running out of storage quickly, so I had to add video filtering, and I planned to add basic garbage collection. And of course I had to have youtube-dl (and later yt-dlp) updated at all times.

In the end, I decided it is not worth it. In the scenario you described, I would take the video link/ID and paste it into Bing and Yandex. There is large chance they still have that page cached in their index.

FWIW if you are going to create your own tool, my advice will be to make it a browser extension, and try to pull the video straight from YouTube's <video> element.

youniverse

Agreed, I can't describe the sadness that some of my most treasured nostalgic videos were lost before I knew about yt-dlp, and I can't find out what their titles even were. For example on spotify when music gets removed, if it's in your playlist it just shows it greyed out and unplayable.

Someone at google please give us the ability to see titles!

Wowfunhappy

> Google needs YouTube downloaders. They perform a valuable role: If it were impossible to download YouTube videos, many organizations would abandon hosting their videos on YouTube for a platform that offered more user flexibility. Or they’d need to host a separate download link and put it in their YouTube descriptions. But organizations don’t need to jump through hoops -- they just let people use YouTube downloaders.

I don't think I believe this, as much as I'd like to. How many organizations would really consider this a critical need? My guess is, not enough for Google to care.

adocomplete

Also, if you upload a video to YouTube you can download it from YouTube Studio at any time, so that doesn't add up at all.

YouTube just doesn't make this available via API, but you've always been able to manually from YouTube Studio download your uploaded videos.

ThunderSizzle

That sounds brutal if you have 5 years of daily uploads or something like that. At some point, if you want your entire catalog, that becomes a very sucky process.

crazygringo

Just use Google Takeout. It will create a series of archive files for you to download.

jlaternman

“If it were impossible to download YouTube videos, many organizations would abandon hosting their videos on YouTube for a platform that offered more user flexibility.”

Seems like a bit of a presumptuous proposition. If it were impossible, the web just might be a bit more shit, and the video monopoly would roll on regardless. Most might just come to take for granted videos of personal significance (I downloaded one of my grandpa in WW2 footage, for example, and there was no other version available except the YouTube one) are dependent on YouTube continuing to host them.

Some would, of course, use alternative platforms that offer proper download links, but it's hard to think that would be most, easy to think that would be well under 5% of those uploading videos that should in ways be a kind of permanent archive, or that this loss would really amount to anything to Google, commercially. Maybe not something to poke the bear on?

nitwit005

This seems to be starting with the assumption that it's possible to prevent people from downloading the videos. That is a false assumption. You can, after all, just play the video and record it. Even if the entire machine playing the content is flawlessly locked down, you can just record the output.

The efforts at DRM done by companies like Netflix is done because the companies that licensed the content demand it. That doesn't mean the DRM works. You can find torrents of all those shows.

grugagag

Yeah, you can capture HDMI stream with a cheap card so basically everything is ultimately copyable, however that brings in some friction. Some people prefer the easiest option, even if that showers them in advertisments and distupts their attention.

beeflet

It only takes one guy to copy it and upload it to bittorrent or something. All these trusted computing schemes are dependent on the weakest link never breaking, where the weakest link is a piece of hardware that the attacker always has access to.

eek2121

Not if you want the highest quality, and they could absolutely stop even that if desired. The only reason why those methods work is due to legacy support. If they only supported the latest versions of HDMI and DRM, it would be very hard to get decent quality video/audio. As it is, even with things currently as they are, we still don't have the high quality feeds that are sent to TVs and dedicated hardware.

Liftyee

I wonder if it would be possible to use e.g. an FPGA to intercept the "last-leg" MIPI signals going between a TV/monitor's control board and the physical display panel itself. Surely there can't be any DRM at that level, because there is not much more "compute" down the line?

Granted, you would have to deal with whatever your display does to the raw video signal - preferable to pointing a camcorder at the display but a little worse than the original file.

dmbche

>That doesn't mean the DRM works. You can find torrents of all those shows.

You know how any semi-motivated teen can open any masterlock with a piece of plastic, but we still use em? Keeps honest people honest - that's all.

kelvinjps

Downloading a Netflix show is not as easy as downloading a YouTube video is not like you go Netflix downloader put a link and download the video easily. Actually as it's was expensive for the piraters to get the show they only offer it with ads. Maybe you can find it with torrents but series are less common to find than movies

varenc

DRM isn't perfect of course, but it largely works.

Unlike with Youtube videos, you can't just freely pull something off GitHub and crack Widevine level 1 DRM. The tools and extracted secret keys that release groups use to pirate 4K content are protected and not generally available.

This doesn't matter if you want to find something popular enough for a release group to drop in a torrent, but if you have personal access to some bespoke or very obscure content the DRM largely prevents you from downloading it. (especially at level 1, used for 4K, which requires that only a separate hardware video decoder can access the keys)

tl;dr; DRM works in the sense it changes it from 1/100 people can download something (YouTube) to ~1/100000.

dylan604

> That doesn't mean the DRM works. You can find torrents of all those shows.

Causation does not mean correlation. The vast majority of content available via torrents did not come from breaking a streamer's DRM.

crazygringo

It didn't? Then how are they getting the streamed bits directly? Since there's generally a torrent available that is the direct source, no re-encoding.

Or do you mean they read the source from hacking into a memory buffer after the player does decryption but before decoding, instead of doing the decryption themselves?

dylan604

I’m saying they are getting the original from different sources than a streaming platform

nitwit005

I didn't say anything about breaking the DRM. I suggested there's no reason to.

dzhiurgis

AFAIK HDMI protects from direct ripping so how do they actually do it?

dzhiurgis

Why 4k shows are still quite rare on torrents?

lucb1e

Hard to speak for everyone but I'd not be interested in them because it's a lot of storage space and my device can display only "1k" (1080p) anyway

encrypted_bird

1080p is 2K. The value of the "K" coefficient is determined by the x axis, not the y axis. That's why 4K is 3840x2160.

16K = 15360x8640 8K = 7680x4320 4K = 3840x2160 2K = 1920x1080 1K = 960x540

(Every value is a doubling of the tier below it, or in the case of "1K" a halving.)

antonkochubey

They aren’t on decent trackers, everything popular is available in 4K HDR.

Shellban

The author makes the case that EULAs are "toothless." However, what about federal law? In the U.S., at least, it is illegal to make copies of other people's work. This is not an offense against YouTube (who does not inherently own the media they present), but the publishers, the creators, etc. Somehow, I doubt that Alan Becker would approve people downloading and sharing his videos willy-nilly.

tantalor

> Google has now covered its tracks better -- there’s nothing about “Google Product Abuse” in its current AdSense policies.

In other (less biased) words: These old rules were rescinded haven't been enforced since 2012 (last example cited). This article was written in 2025 and still complaining about something that isn't happening anymore.

whycome

Yeah! The also took out “don’t be evil”!

mikey_p

Want I really want is an *arr style app that I can give a list of Youtube channels I want archived, and it would just keep the archive up to date indefinitely.

bilegeek

Somebody made a script that automatically downloads from YouTube using RSS feeds - assuming I don't jinx it by mentioning they still have those...

https://github.com/Jocomol/newsboat_video_downloader

lucb1e

What's an *arr style app?

entropy47

Sonarr and Radarr are the big ones. Tracks new content (in these cases, TV shows and movies) and auto downloads as they become available.

kevin_thibedeau

My city posts bodycam video on YouTube private links. Being able to download them is necessary to preserve evidence. Nice bonus that you get a machine transcript as well.

senorrib

I’ve been looking for these. Any pointers on where I can find them?

pentagrama

Didn't know about https://stacher.io/, will take a look.

On my favorites YouTube downloaders with UI, I have:

- Varia https://giantpinkrobots.github.io/varia/

- Media Downloader https://github.com/mhogomchungu/media-downloader/

eek2121

FreeTube lets you not only view videos (sans ads, and you can block sponsors, if desired), but download them as well, and it is cross platform.

xnx

ytarchive is also great for downloading livestreams.

Unfortunately, it's not as up-to-date as yt-dlp so it can be fragile against blocks. I'm hoping that yt-dlp adds some functionality for downloading portions of a livestream (i.e. not downloading from the start, 120 hours ago).

KwanEsq

Huh, last/only time I used yt-dlp on a livestream it downloaded exactly from when I ran it, didn't get anything in the past at all (which was a shame for me personally at the time, as I would have liked the earlier stuff too).

Maybe that was a difference in the stream itself though, since I've experienced both past-seekable and live-only live streams on YouTube.

jabroni_salad

turning off the DVR is just a UI change. ytarchive can still grab the past parts of the broadcast just fine. What's really funny is it will even download censored segments which sometimes happens in music broadcasts like A State Of Trance or Group Therapy. You can also force enable seeking with a userscript if you wish.

The problem with this DVR feature is that if your connection is stuttering it will buffer you backwards a bit. Streamers like to disable this because they want to keep the time to deliver as low as possible so chat is more interactive and engaging, especially on youtube where your viewership might not qualify for the CCV metrics if the stream is not in a foreground tab. Best to leave it off if that is important for you.

https://greasyfork.org/en/scripts/485020-ytbetter-enable-rew...

scottiebarnes

Not sure if this applies to livestreams but look into the --download-sections arg?

yt-dlp --download-sections "*05:00-05:10" <YouTube URL>

schlarpc

Doesn’t work for livestreams as far as I know. There’s an open PR: https://github.com/yt-dlp/yt-dlp/pull/6498

rahimnathwani

Is Stacher open source?

Last time I searched 'stacher open source' on Google, I found a Reddit thread discussing when it might become open source.

EDIT: The reason I ask is that the article says Stacher is open source, and that is news to me.

uhx

Same here. Couldn't find any source code