cross-posted from: https://discuss.tchncs.de/post/22423685
EDIT: For those who are too lazy to click the link, this is what it says
Hello,
Sad news for everyone. YouTube/Google has patched the latest workaround that we had in order to restore the video playback functionality.
Right now we have no other solutions/fixes. You may be able to get Invidious working on residential IP addresses (like at home) but on datacenter IP addresses Invidious won’t work anymore.
If you are interested to install Invidious at home, we remind you that we have a guide for that here: https://docs.invidious.io/installation/..
This is not the death of this project. We will still try to find new solutions, but this might take time, months probably.
I have updated the public instance list in order to reflect on the working public instances: https://instances.invidious.io. Please don’t abuse them since the number is really low.
You can still watch YouTube without ads using grayjay.app including sponsor block.
Thanks to Louis Rossman
Or just use Firefox with ublock?
Sure, that works too, however with grayjay you can follow creaters across platforms. So in case someone’s account gets banned by YouTube due to whatever bullshit reason, you can continue following them on other platforms. Next to that you won’t get spammed with Shorts junk. If you want to download a video to watch it offline, you can actually watch it offline (you don’t require a connection like with YouTube to watch something offline)
But ur data gets raped if u don’t use a VPN + no account (but then u don’t get to see age restricted material)
Yo did someone hit you in the head with a golf club? Why are you talking like that?
They grew up before t9.
What’s t9?
T9 was a rapid entry system for sending texts using a number pad on a phone.
Instead of doing hello as 44 33 555 555 666 you could do 43556 and it’d predict ‘hello’.
Holy shit, someone that ACTUALLY knows what T9 was!
Most people think that T9 was the method of typing on the telephone keypad, but no its an improvement on that!
Predictive text was another name for it.
Ooookay… How’s that relevant here tho… I’m so confused
bro sounds soo drunk
I swear I’m not. I’m just rlly rlly confused with why people r saying the things they’re saying. I don’t understand.
Isn’t it true tho? YouTube’s a privacy nightmare- they know everything about ur content preferences, ur political learnings, everything. Without a VPN + no account, say goodbye to any semblance of privacy.
Ur
grayjay doesnt have return youtube dislike
It has its own like and dislike system, so it’s not cluttered by yt bots.
oh
It does, you can turn it on in the YouTube plugin settings.
alr i might redownload that app later
We can’t complain about everything, here, considering the circumstances.
YouTube will not change until people stop using it. And people do not want to put up with the inconvenience of not having a YouTube type service again for the amount of time it would take for YouTube to change or a viable competitor to take their place, it really is that simple.
Are YouTube and Google terrible? For sure, but it only got this way because the only backstop to holding them accountable, the consumer, has proven that they will choose putting up with shitty products and services in the name of convenience 9 times out of 10.
Same reasons that ad tiers are gaining a foothold in streaming services like Netflix. The consumer has shown they are fine with it.
Time to pirate YT content and upload to usenet to be automatically downloaded using sonarr
Yes but literally throwing together a script to download the days subscription videos to a jellyfin media drive would be stupidly simple.
Sure, but not as convenient 🤷🏻
It already exists, even as a Docker. Not as simple as an *arr style interface, but it works great one you set it up.
Well you know what they say “Great minds think quicker than mine and probably have already had that thought.”
“Stupidly simple” might be overselling it when it comes to the masses adopting it. Not everyone is adept at “throwing together a script.”
That being said, I’m all for helping the masses adapt.
“Give me a Python script using yt-dlp that I can run on a cronjob that will download the videos from any of my subscribed channels since the last time the script was run”
You can use the following Python script to download videos from your subscribed channels since the last run. This script uses
yt-dlp
and stores the last download timestamp to track new videos.First, ensure you have
yt-dlp
installed:pip install yt-dlp
Then, create a script called
download_videos.py
:import os import json import subprocess from datetime import datetime # Configuration last_run_file = 'last_run.json' download_directory = 'downloads' # Ensure the download directory exists os.makedirs(download_directory, exist_ok=True) # Load the last run time if os.path.exists(last_run_file): with open(last_run_file, 'r') as f: last_run = json.load(f)['last_run'] else: last_run = datetime.now().isoformat() # Update the last run time to now current_run = datetime.now().isoformat() # Command to get videos from subscribed channels since the last run command = [ 'yt-dlp', '--download-archive', 'archive.txt', '--output', f'{download_directory}/%(title)s.%(ext)s', '--date-after', last_run, '--no-post-overwrites', '--merge-output-format', 'mp4', 'https://www.youtube.com/channel/CHANNEL_ID', # Replace with your channel URL ] # Run the command subprocess.run(command) # Save the current run time with open(last_run_file, 'w') as f: json.dump({'last_run': current_run}, f) print("Download complete. Next run will check for videos since:", current_run)
Setting Up the Cron Job
-
Make the script executable:
chmod +x download_videos.py
-
Open your crontab:
crontab -e
-
Add a line to run the script at your desired interval (e.g., daily at 2 AM):
0 2 * * * /path/to/python /path/to/download_videos.py
Notes
- Replace
CHANNEL_ID
in the script with your actual channel IDs or use a playlist URL if preferred. - The
archive.txt
file keeps track of already downloaded videos to avoid duplicates. - Adjust the paths to Python and your script as needed.
Another example, which i can personally verify has been working fine for months. It works a bit different to the above, it downloads the latests 2* vids that are not already downloaded and runs once every hour with cron. I also attempted to filter out live vids and shorts.
Channels i am “subscribed” too are stored in a single text file, it also uses the avc1 codec because i found p9 and p10 had issues with the jellyfin client on my tv.
looks like this, i added categories but i don’t actually use them in the script besides putting them in a variable, lol. Vid-limit is how many of the latests vids it should look at to download. The original reason i implemented that is so i could selectively download a bulk of latests vids if i wanted to.
Cat=Science Name=Vertitasium VidLimit=2 URL=https://www.youtube.com/channel/UCHnyfMqiRRG1u-2MsSQLbXA Cat=Minecraft Name=EthosLab VidLimit=2 URL=https://www.youtube.com/channel/UCFKDEp9si4RmHFWJW1vYsMA
#!/bin/bash # Define the directory to store channel lists and scripts script_dir="/.../YTDL" # Define the base directory to store downloaded videos base_download_dir="/.../youtubevids" # Change to the script directory cd "$script_dir" # Parse the Channels.txt file and process each channel awk -F'=' ' /^Cat/ {Cat=$2} /^Name/ {Name=$2} /^VidLimit/ {VidLimit=$2} /^URL/ {URL=$2; print Cat, Name, VidLimit, URL} ' "$script_dir/Channels.txt" | while read -r Cat Name VidLimit URL; do # Define the download directory for this channel download_dir="$base_download_dir" # Define the download archive file for this channel archive_file="$script_dir/DLarchive$Name.txt" # Create the download directory if it does not exist mkdir -p "$download_dir" # If VidLimit is "ALL", set playlist_end option to empty, otherwise set it to --playlist-end <VidLimit> playlist_end_option="" if [[ $VidLimit != "ALL" ]]; then playlist_end_option="--playlist-end $VidLimit" fi yt-dlp \ --download-archive "$archive_file" \ $playlist_end_option \ --write-description \ --write-thumbnail \ --convert-thumbnails jpg \ --add-metadata \ --embed-thumbnail \ --match-filter "!is_live & !was_live & original_url!*=/shorts/" \ --merge-output-format mp4 \ --format "bestvideo[vcodec^=avc1]+bestaudio[ext=m4a]/best[ext=mp4]/best" \ --output "$download_dir/${Name} - %(title)s.%(ext)s" \ "$URL" done
Yeah this is more elegant and closer to what I’d actually want to implement. I was more just showing what could be done in literally thirty seconds on the can with ChatGPT.
I knew i recognized that output.
Mine is actually also made with the help of Chatgpt but manually refined and tested.
-
Honestly, it would probably be easier to just build a *arr program specifically for downloading YouTube videos directly. Tie it into the rest of the *arr suite, with naming conventions for Plex/Jellyfin.
I would install that, but I fear scraping youtube will be a arms race, soon, similar to other streaming services
Same reasons that ad tiers are gaining a foothold in streaming services like Netflix. The consumer has shown they are fine with it.
Yep, I remember when Netlfix first put it out there that they would start with the ads, and everyone on reddit was like, “Canceling my Netflix right now!!”
Netflix is doing just fine without the 5 redditors who actually did cancel it. lmao
the problem is so many people are willing to say they’ll take a stand.
but when the time comes, the mindnumbingly overwhelming majority suck it up, because they must have their precious shiny and can not suffer even the mildest of inconvenience.
Its my biggest gripe in gaming, but its a enormous gripe just in general, with everything. because it doesnt matter if you are talking about appliances, creative software, video games, streaming services, stores, etc.
To summarize what I was telling another person. The number of people who care are far outnumbered by the number of people who don’t. It doesn’t matter if you or I or all 10,000 (just a random number for the sake of argument) of the people subscribed to a sub like this were to cancel when r/justworks or r/normie (made up subreddits for the sake of argument) has 100,000,000 who don’t give a damn about computers, privacy, or anything else beyond the service working or not.
I agree. Tech communities have a habit of drastically over estimating how much everyone else cares about the details of tech.
Even something as simple as PC gaming scares off a lot of people because of the perception that you need to be some kind of tech wizard in order to cobble everything together to make a game run. Actual cobbling together of software to pirate (no matter how simple it seems to people in the know) is just a bunch of technobabble.
I have people whom I still need to explain copy and paste to on a regular basis. Trust me, I understand.
🏴☠️ 🏴☠️🏴☠️
this is the primary reason i advocate for more piracy, and even legal protections for piracy, in some capacity.
It’s one of the few spaces i consider to be a “truly free market” when it comes to economics.
I’m more and more inclined towards the idea of piracy myself as time goes on and media continues to shave itself down into more and more ridiculous, unrelated shards, that you have to subscribe to just to be able to SEE if they have what you want.
I don’t actively do it actively since I dont really know where to begin, and things I have found have been to sketch for me, or requiring memberships or even payments to join.
if you’re looking for the babies first torrenting introduction, dbzer0 has a pretty comprehensive guide on it.
Might be worth looking into i2p as well, if you don’t want to spend any money on it at least. Usenets and closed trackers are a weird one, usually based on memberships, but with good quality control of members and content so.
there’s also the *arr stack but im sure there’s a write of that one up on github or something.
I poked around dbzer0 and found a few streaming sites, Nothing which carried anything i was particularly interested in.
Navigating this stuff without my ISP getting pissy is another hurdle, too.
It was much easier 20+ years ago when you just searched KaZaA or Limewire, or back when piratebay was the site (and before it got drowned in virus traps)
https://lemmy.dbzer0.com/c/piracy
check out the megathread for generic info and recommendations.
https://lemmy.dbzer0.com/post/30062 specific thread for i2p, there’s plenty more information out there, you can also ask me about a few things as well.
the TL;DR for doing it without ur isp bonking u is to use a VPN, or a seedbox, which are options. Though you’ll ideally want to use anonymous payment services like monero instead of something else, if you really want to be secure.
from what i understand, private trackers are generally fine and secure, aside from the fact that ur isp might not like the traffic, but that’s a fault of the ISP, not the law. torrenting is perfectly legal. Though using a VPN is probably still recommended anyway.
navigating malicious software is kind of hit or miss now, but it’s more likely you’ll find them on bigger reaching platforms, and in actual software, rather than like, mp3s or movies. That’s just basic opsec though. (again private trackers are beneficial for this reason, they have better QA and vetting)
I know you weren’t using the number 5 as a hard example, but a thing that people still don’t seem to realize is that the people in threads like this are the people that actually care. Even if the few thousand redditors who subscribe to a subreddit where they discussed that topic were to all (and I mean 100% of them) cancel there subscriptions. That is still only a drop in the bucket for Netflix. Losing a few thousand subscribers is still nothing if they made more money with the addition of ads.
It is interesting to me that the chorus always talking about “switching” to piracy after every incident is also intimately familiar with piracy already. Almost as if it’s just people who already pirate talking to each other about how hard they are going to pirate. Meanwhile general audiences don’t care.
Almost as if it’s just people who already pirate talking to each other about how hard they are going to pirate. Meanwhile general audiences don’t care.
this isn’t quite true, we have seen an uptick in piracy over the last few years from the streaming service hyper diversion thats been happening for some time now.
It’s probably not a lot of people, but it is still happening.
these are also the people who would pay more for quality service if it was available.
“Socialist Chaos Trow” lol
While I agree, I have a hard time seeing how people will stop using it until the field changes. Maybe in 10 years it will the the MySpace of the sitcom era, but right now it’s still growing. That growth is giving it carte blanche to manipulate the users as it sees fit. Regulation might impact it, but it’s still a bit of a Goliath.
- Compared to 2023, YouTube’s user base has grown by 20 million this year, representing a 0.74% increase. From Global media insights
Also the active user base is 2.7 billion people in 2024 from the same source above.
The alternatives are out there, but just not in the same league.
deleted by creator
regulations for ad quality, and privacy, are almost certainly what they mean by that.
I don’t think this requires an act of congress. I think you might see more consumer advocation on the part of FTC (although it doesn’t currently regulate online broadcast), or potentially the CFPB.
Admittedly it’s more likely to see the EU do some regulations, but it all depends on the election.
I think it needs regulation, the whole streaming industry needs to be regulated! It can’t be that the competition is made using exclusive content and you have to live with privacy infringement tech to consume cultural art legally.
In my opinion, in a capitalist system, the market competition should be about delivering the content the best way, not about what content they deliver.
Right now, they can made the delivery as shitty as they want, because what takes them apart from competition is the exclusive content, not the tech.
Agreed, now the fun part of coming up with a legal basis to do so and convincing regulators.
I think in the EU one could achieve something like this a la appstore opening rule, where streaming services are demanded to give other streaming services access to the library, lime some sort of roaming 🤔
Or you split the distribution from the company producing stuff
So many possibilities 😂
Luckily I am in a pirate friendly country 🏴☠️
I’m having a hard time seeing any bill get passed that supports the rights of users to watch videos without the ads that support the creators and the platform that they’re watching.
We should reach a compromise of having skippable ads in the beginning only, for example. In other pages it could be that ads cannot be bigger than 10% of the content being delivered on the page.
It’s not always all or nothing, good regulation listens to both sides and reaches a compromise in the middle, but good regulation is getting harder and harder to come by.
I see we’re pretending the government doesn’t have regulatory power today
yt-dlp still works.
A spark of hope in a dim world.
My god, what if its on google’s chopping block next?
I often consider the scenario.
What would I do if Google straight sniped and headshot every single method of piracy, even embedding the ads into the video?
"He’ll pay now!*
Nah, never. People are more momentary, at least I am. I don’t care if I’m being entertained by “X”. If “X” isn’t worth the trouble, there’s “Y”. The days of everyone even caring to digest the same media as anyone else is over unless your main drugs are pop music, Asmongold reacting to politics and influencers.
Donate to the EFF for fighting that fight in court already.
I’ve seen it go down in some cases on VPNs, so it could be a matter of time (or they’ll find a solution again and the back and forth will just continue).
The elites don’t want you to know but “[y]ou may be able to get Invidious working on residential IP addresses (like at home)”
Following their guide gives a local Invidious client, don’t forget to 1) copy their production compose file instead of using the one on git and 2) change “hmac_key”… from my experience setting up cron (
crontab -e
) to restart the docker container once per day keeps the Invidious docker healthy
Edit: here are some alternatives for popular Google services. Not in anyway related to the above (smirk
- Google itself: SearXNG (try searx.be first), one of the easiest services to self-host
- Gmail/calendar: a lot of people seem to swear by one of Proton Mail, Tutanota or Mailbox.org. Self-hosting is possible but challenging
- Google Drive: You mean Nextcloud?
- Google maps: Organic Maps is actually getting pretty good now
- Google Chrome: at the very least there is Chromium… obviously there is Firefox and Firefox forks (such as Librewolf), as well as other smaller browsers
- Google Play: F-Droid hosts a lot of FOSS stuff, and there are alternative ways to access Play (such as Aurora Store)
- Android: a bit more difficult… but there is LineageOS, GrapheneOS, and similar stuff
You can block YouTube ads simply by connecting to an Albanian VPN server.
This comment changed my life. Thanks.
Why does that work?
nobody wants to advertise in albania lmao
Ads on streaming media are against the law works for twitch, too
That’s based as hell
🇦🇱
In that case, get some Invidious instances running on servers in Albania, problem solved.
Same thing with Syria, Ukraine, Russia …
Right now we have no other solutions/fixes. You may be able to get Invidious working on residential IP addresses (like at home) but on datacenter IP addresses Invidious won’t work anymore.
This might explain why mine has been reliable even though it hasn’t been updated in months. I guess add me to the list of confirmations that it works on residential connections.
For those who are want something similar to invidious, you can try youtube-local (not my project, I am just a user). It is a minimal python youtube client, and functions similar to other frontends, but runs locally. You lose some amount of privacy (youtube still has a general idea of who is watching with IPs), but it is not very exact, and there is an option to use tor to get the content. You can also enable sponsorblock, or hide yt-shorts.
newpiped and freetube will continue to work but piped is also blocked as well
Doesn’t freetube use invidious api?
It also has a local API
I can use invidious, but also works without it. Unless Google decides to mess with that too. Was broken for a few days like a month ago or smth
Freetube is still working on my machine as of today for what it’s worth.
It directly pulls Videos from Google servers unlike Invidious U can use Invidious on it but I doubt it works so well
idk
Sad to hear. Newpipe is still working fine (as of a couple minutes ago) if that helps. That’s through a residential IP. I will try yt-dlp from a data center IP when I get a chance. I hope they haven’t blocked that.
For Android users, I highly recommend NewPipe as a YouTube client
Revanced is also very nice if you prefer the regular YouTube layout and experience
I use newpipe and freetube for my Andriod and PC respectively.
deleted by creator
Self hosted option is a docker image. Probably not difficult to set up.
If you have the resources, host your own to help and spread the load across public instances.
Didn’t Odysee recently removed ads? Anyway, I think I’ll start watching videos on Odysee and peertube, via RSS feeds. At least from youtubers that upload there.
So if Google can ban our IP if caught using this, could you not use some type of dynamic IP mechanism every time they ban the IP?
Probably would be a good idea, I’m guessing this type of thing could be problematic for google if the IP bans started stacking up, probably also if they can’t just look up what the site is using and banning it manually, which let’s be fair and not give them too much credit, is exactly what they’ve been doing. They look up that some invidious or downloader site is hosted on some IP address and block it manually, or blocking its whole range. Something that doesn’t cause many headaches for others outside of those services but would cause a lot of problems if those sites were run with reverse-proxying to dynamic IPs which caused YouTube blocks for legitimate users, including in public places.
Oh that’s why no videos would load.
Damn it