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).
> 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.
It‘s still a stark abuse of power and borderline extortion by Google to use a private sentencing mechanism rather than dragging the purpetrator to public court over advertising and/or encouraging criminal activity, which may or may not have happened if Google Ads and Youtube were not part of the same monopolistic entity.
> 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.
If you talk about the vast majority of corporate videos (and written material) they mostly don’t care about access after 18 months or so. And in fact may well actively want to scrub them because info is no longer accurate.
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.
I never understood why do they not limit downloading data to the speed at which you could be possibly watching it. Yesterday I downloaded a 15hour show in like 20 minutes. There is no way I could have downloaded that much data in a legit way through their website/player
Im glad I wasn't blocked or throttled, but it seems like it'd be trivial to block someone like me
Am I missing something? It does sort of feel like they're allowing it
EDIT: Spooky skeletons.. Youtube suddenly as of today forces a "Sign in to confirm you’re not a bot" on both the website and yt-dl .. So maybe I've been fingerprinted and blacklisted somehow
Why don’t creators both publish to YouTube but also publish somewhere else for archival or public access reasons, to help keep content available for outside walled gardens? Is it just not important to them? Is it hosting costs? Missing out on ad revenue?
But I think the article's point isn't that Google wants downloaders to work, it's that they tolerate just enough friction to keep power users from revolting, without officially endorsing anything
You conveniently side-stepped the argument that YouTube already knows how to serve DRM-ized videos, and it's widely deployed in its Movies & TV offering, available on the web and other clients. They chose not to escalate on all videos, probably for multiple reasons. It's credible that one reason could be that it wants the downloaders to keep working; they wouldn't want those to suddenly gain the ability to download DRM-ized videos (software that does this exist but it's not as well maintained and circulated).
But what is meant by "a video". Is this referring to the common case or an edge/corner case. Does "a" mean one particular video or all videos
"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."
True, but is this code required for all YouTube videos
The majority of YT videos are non-commercial, unpromoted with low view counts. These are simple to download
For example, the current yt-dlp project contains approximately 218 YT IDs. A 2024 version contained approximately 201 YT IDs. These are often for testing edge cases
The example 1,525-character shell script below outputs download URLs for almost all the YT IDs found in yt-dlp. No Python needed
By comparison the yt-dlp project is 15,679,182 characters, approximately
The curl binary is used in the example only because it's popular, not because I use it. I use simpler, more flexible software than curl
I have been using tiny shell script to download YT videos for over 15 years. I have been downloading videos from googlevideo.com for even longer, before Google acquired YouTube.^1 Surprisingly (or not), when YT changes something that requires updating the script (and this has only happened to me about 5 times or less in 15 years) I have generally been able to fix the shell script faster than yt-dl(p) fixes its Python program (same for NewPipe/NewPipeSB)
I prefer non-commercial videos that are not promoted. The ones with relatively low view counts. For more popular videos, I listen to the audio file first before downloading the video file. After listening to the audio, I may decide to skip the video. Also I am not overly concerned about throttling
1. The original Google Video made a distinction between commercial and non-commercial(free) videos. The later were always easy to download, and no sign-in/log-in was required. This might be a more plausible theory why YT has always allowed downloads for non-commercial videos
# custom C filters to make scripts faster, easier to write
# yy030 filters URLs from stdin
# yy082 filters various strings from stdin,
# e.g., f == print format descriptions, v == print YT IDs
# x is a YouTube ID
# script accepts YT ID on stdin
#/bin/sh
read x;
y=https://www.youtube.com/youtubei/v1/player?prettyPrint=false
curl -K/dev/stdin $y <<eof|yy030|if test $# -gt 0;then egrep itag=$1;else yy082 f|uniq;fi;
silent
#verbose
ipv4
http1.0
tlsv1.3
tcp-nodelay
resolve www.youtube.com:443:142.251.215.238
user-agent "com.google.ios.youtube/19.45.4 (iPhone16,2; U; CPU iOS 18_1_0 like Mac OS X;)"
header "content-type: application/json"
header "X-Youtube-Client-Name: 5"
header "X-Youtube-Client-Version: 19.45.4"
header "X-Goog-Visitor-Id: CgtpN1NtNlFnajBsRSjy1bjGBjIKCgJVUxIEGgAgIw=="
cookie "PREF=hl=en&tz=UTC; SOCS=CAI; GPS=1; YSC=4sueFctSML0; __Secure-ROLLOUT_TOKEN=CJO64Zqggdaw7gEQiZW-9r3mjwMYiZW-9r3mjwM%=; VISITOR_INFO1_LIVE=i7Sm6Qgj0lE; VISITOR_PRIVACY_METADATA=CgJVUxIEGgAgIw=="
data "{\"context\": {\"client\": {\"clientName\": \"IOS\", \"clientVersion\": \"19.45.4\", \"deviceMake\": \"Apple\", \"deviceModel\": \"iPhone16,2\", \"userAgent\": \"com.google.ios.youtube/19.45.4 (iPhone16,2; U; CPU iOS 18_1_0 like Mac OS X;)\", \"osName\": \"iPhone\", \"osVersion\": \"18.1.0.22B83\", \"hl\": \"...
I couldn't find any source code either. Cobalt also isn't really libre; their backend is AGPL, which is great, but their frontend is CC BY-NC-SA, which is not so great (and definitely not open-source).
I'd advise against downloading via someone else's servers anyway, as can be seen by their instance being blocked by Google. Hopefully some day someone manages to port yt-dlp to WASM, then it can be run locally in the browser without needing a download.
Fun fact: yt-dlp is public domain! That's really generous of them and I'm really thankful for their work.
For Linux... youtube-dl I guess, because there's still no really nice alternative to it. It doesn't seem like Stacher supports non-debian systems, or non-gnu libc systems, either.
The article doesn't include Android TV based devices like Chrome/Fire sticks. Android mobile apps tend not to work with remote controls. The best Android TV app is: https://smarttubeapp.github.io/
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.
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.
There is also a program called streamlink. I have found it good to find Live streams at Youtube, since those often changes. For example, if a TV channel has a live stream at a certain Youtube URL, a few weeks later, it may be at a different URL. But streamlink can sometimes find it, just by looking at the Youtube channel
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.
“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?
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.
I've always wondered why we don't see any platforms just remove the media while leaving the metadata, comments, ratings, etc intact. Like, is there some legal requirement that the idea itself has to be hard to find, or is it okay to just remove the media and let people keep discussing it?
I want a web cache that runs on my network transparently caching everything that goes through it. It would be a LRU cache but with the ability to easily mark some resource as archived such that it never gets deleted. A browser extension could be used to do this marking. Unfortunately client-side js makes this very difficult or even impossible to do.
We really dropped the ball when it came to running random js from websites. The number of people who truly run only free software these days is close to zero. I used to block all js about 10 years ago but it was a losing battle and ended up being essentially an opt out from society.
> In general, I think people are way too casual about media of all kinds silently disappearing when you're not looking.
I used to be obsessed with this.
The way I saw it was the universe took billions of years of concerted effort to generate a random number that represents a unique file such as an interesting video or image. It would be such a shame if all that effort was invalidated due to bullshit YouTube reasons or copyright nonsense or link rot or whatever.
So I started hoarding this data. I started buying hardware and designing a home data center with ZFS and hundreds of terabytes to hold it all. I started downloading things I never actually gave a shit about just because they were rare and I wanted to preserve them.
I think getting married cured me of this. Now it's all moments that will be lost to time, like tears in the rain.
This is why I recommend everybody to stay AWAY from Youtube Music. I migrated my curated playlists from Spotify a few years ago, and to my surprise now I have dozens of songs that are no longer available and Youtube doesn’t offer a way to at least let me know which song it was. Indeed, I was a paying user and Youtube caused intentional and irretrievable data loss.
After a decade of paying for Youtube Premium I have unsubscribed and have vowed never to give them any more money whatsoever.
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.
I don't know about US law, but I would assume the "copying" in a legal sense involves distributing to a third party.
Maybe I am too old, but I remember a time where the broad population recorded radio shows on Tape and video shows on VHS, and no one was asking any copyright questions. And yes, recording a TV show in your home VHS recorder and selling/giving it to third parties, was illegal in most jurisdictions and the same laws apply probably still today.
But recording something for your own archive and watch it home (possibly with family members) is probably also still perfectly legal (as long as no DRM bypass was used).
Can I just rant about how absolutely ridiculous it is that google, a company that has made it's fortune off the back of the web and public internet infrastructure blocks downloads. Maybe when it started this was a necessary compromise.
In 95' it cost between a hundredth ~ a tenth of a cent to serve the average webpage, it costs google much less than that to serve a video, literally 0 if the users ISP already cached it (think about how unfair that is for a moment a AI generate short evicting some live saving medical document from your ISPs cache so that when you request it the owner of that resources pays again and the user is delayed in their request for potentially live saving information. GROSS!).
The part that is so infuriating is that they try to turn around and capture that value would should rightly be owned by the public by offering downloads for premium members, especially when that we KNOW the only reason YouTube isn't totally financially ruined is that the ISPs are legally required to price worthless youtube's (literally AI generated) spam traffic the same as useful services. (Net Neutrality)
And the are using these ill gotten gains to create their own backbone for yet more profit. Entirely pointless exercise when you realize the government is eventually going to break these companies up and will of course nationalize the one that owns all the infrastructure. Corporations are simply not the correct tool for managing infrastructure that the public relies on. I'm sure anybody whose tried to run a business on top of a google service can attest that's it's a bad strategy and is guaranteed to fail in the long term.
62 comments
[ 3.5 ms ] story [ 77.6 ms ] threadUnfortunately, 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).
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.
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.
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
Im glad I wasn't blocked or throttled, but it seems like it'd be trivial to block someone like me
Am I missing something? It does sort of feel like they're allowing it
EDIT: Spooky skeletons.. Youtube suddenly as of today forces a "Sign in to confirm you’re not a bot" on both the website and yt-dl .. So maybe I've been fingerprinted and blacklisted somehow
Google needs to be broken up already.
And ever updating with that!
Indeed the complexity is insane
https://news.ycombinator.com/item?id=45256043
But what is meant by "a video". Is this referring to the common case or an edge/corner case. Does "a" mean one particular video or all videos
"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."
True, but is this code required for all YouTube videos
The majority of YT videos are non-commercial, unpromoted with low view counts. These are simple to download
For example, the current yt-dlp project contains approximately 218 YT IDs. A 2024 version contained approximately 201 YT IDs. These are often for testing edge cases
The example 1,525-character shell script below outputs download URLs for almost all the YT IDs found in yt-dlp. No Python needed
By comparison the yt-dlp project is 15,679,182 characters, approximately
The curl binary is used in the example only because it's popular, not because I use it. I use simpler, more flexible software than curl
I have been using tiny shell script to download YT videos for over 15 years. I have been downloading videos from googlevideo.com for even longer, before Google acquired YouTube.^1 Surprisingly (or not), when YT changes something that requires updating the script (and this has only happened to me about 5 times or less in 15 years) I have generally been able to fix the shell script faster than yt-dl(p) fixes its Python program (same for NewPipe/NewPipeSB)
I prefer non-commercial videos that are not promoted. The ones with relatively low view counts. For more popular videos, I listen to the audio file first before downloading the video file. After listening to the audio, I may decide to skip the video. Also I am not overly concerned about throttling
1. The original Google Video made a distinction between commercial and non-commercial(free) videos. The later were always easy to download, and no sign-in/log-in was required. This might be a more plausible theory why YT has always allowed downloads for non-commercial videos
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.
I'd advise against downloading via someone else's servers anyway, as can be seen by their instance being blocked by Google. Hopefully some day someone manages to port yt-dlp to WASM, then it can be run locally in the browser without needing a download.
Fun fact: yt-dlp is public domain! That's really generous of them and I'm really thankful for their work.
For Linux... youtube-dl I guess, because there's still no really nice alternative to it. It doesn't seem like Stacher supports non-debian systems, or non-gnu libc systems, either.
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.
There's even a good Jellyfin integration
On my favorites YouTube downloaders with UI, I have:
- Varia https://giantpinkrobots.github.io/varia/
- Media Downloader https://github.com/mhogomchungu/media-downloader/
Didn't even mention https://3dyd.com
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?
Well it's about tie organizations also upload their videos to peertube!
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.
We really dropped the ball when it came to running random js from websites. The number of people who truly run only free software these days is close to zero. I used to block all js about 10 years ago but it was a losing battle and ended up being essentially an opt out from society.
I used to be obsessed with this.
The way I saw it was the universe took billions of years of concerted effort to generate a random number that represents a unique file such as an interesting video or image. It would be such a shame if all that effort was invalidated due to bullshit YouTube reasons or copyright nonsense or link rot or whatever.
So I started hoarding this data. I started buying hardware and designing a home data center with ZFS and hundreds of terabytes to hold it all. I started downloading things I never actually gave a shit about just because they were rare and I wanted to preserve them.
I think getting married cured me of this. Now it's all moments that will be lost to time, like tears in the rain.
This is why I recommend everybody to stay AWAY from Youtube Music. I migrated my curated playlists from Spotify a few years ago, and to my surprise now I have dozens of songs that are no longer available and Youtube doesn’t offer a way to at least let me know which song it was. Indeed, I was a paying user and Youtube caused intentional and irretrievable data loss.
After a decade of paying for Youtube Premium I have unsubscribed and have vowed never to give them any more money whatsoever.
Maybe I am too old, but I remember a time where the broad population recorded radio shows on Tape and video shows on VHS, and no one was asking any copyright questions. And yes, recording a TV show in your home VHS recorder and selling/giving it to third parties, was illegal in most jurisdictions and the same laws apply probably still today.
But recording something for your own archive and watch it home (possibly with family members) is probably also still perfectly legal (as long as no DRM bypass was used).
The part that is so infuriating is that they try to turn around and capture that value would should rightly be owned by the public by offering downloads for premium members, especially when that we KNOW the only reason YouTube isn't totally financially ruined is that the ISPs are legally required to price worthless youtube's (literally AI generated) spam traffic the same as useful services. (Net Neutrality)
And the are using these ill gotten gains to create their own backbone for yet more profit. Entirely pointless exercise when you realize the government is eventually going to break these companies up and will of course nationalize the one that owns all the infrastructure. Corporations are simply not the correct tool for managing infrastructure that the public relies on. I'm sure anybody whose tried to run a business on top of a google service can attest that's it's a bad strategy and is guaranteed to fail in the long term.
YouTube plays a game with downloaders to be and stay popular, supported even by niche devices.
On the other hand they will use vague license statements to strike opponents.
Even RSS YouTube is accessible to bots, but block d by robots. They can always claim you are doing something wrong of they wanted.
It's "just" a yt-dlp frontend with a nice UI, meaning it works with sites other than youtube as well.
It also adds a quick-download option to the android sharing menu when sharing a link, which I've found incredibly convenient.