MeTube: Self-hosted YouTube downloader
github.com
github.com
Yark: YouTube Archiver with Offline UI
The file naming is predicated on having the database. For ephemeral storage this is understandable but any software that describes itself as "archival" should assume that it will not outlive the data it is preserving.
I was excited to have a PeerTube clone with download capabilities until I looked at the result. `yt-dlp` and clever configs and scripts will do the archival job properly.
There are about 100 channels that I watch religiously, but, release infrequently. I never want to miss a video from these channels.
I also don’t want to open YouTube and sift through hundreds of releases from channels that release four times/day just to find the 1-2 videos that I actually want to watch (and will inevitably miss.)
Just give me a priority feed of the stuff I actually want/need to watch. If I can download everything and watch it over DLNA, even better,
Making sure we don’t miss the things we love isn’t YouTube’s M.O. Keeping the feedbag strapped to our faces while we watch someone stretch a 3 minute video into a 18-22 minute one, is.
https://www.youtube.com/feeds/videos.xml?channel_id=UC2wdo5v...
that's the channel ID for Cutting Edge Engineering in QLD, Australia (mechanical engineering for life size mining | civil tonka toys)
If anyone is reading this and doesn't know about NewPipe, it's a google free youtube front end. It's well worth installing.
Maybe you just don't want to create an account, which is fine (NewPipe is a great fit), but it's a bit weird to see you say that "making sure we don’t miss the things we love isn’t YouTube’s M.O." when there's an entire page dedicated to a chronologically-sorted list of videos from channels you pick.
Why do you subscribe to channels whose content you don't watch?
or maybe those creators brings more money to YT...
That is terrible UX. I can't even read about it on a mobile device? Maybe I'll check back next time I'm at a desk, likely I won't.
https://flathub.org/apps/details/io.github.celluloid_player....
I ain't clickin' that
I don't really understand HN's seeming aversion to having a headless server that handles centralized tasks like downloading, storing, and serving files. It's a great model for personal computing with a ton of upsides. As far as I'm concerned all storage on my laptop is totally disposable, and I should be able to wipe and reinstall everything quickly without loss of important data.
why must the majority of software be provided as-a-Service? whatever happened to good old fashioned products??
One nice part is that you can use the same setup for everything and you don't have to play the sysadmin role all the time for every app.
What no one is discussing is that yt-dlp can no longer download itag 22 and itag 18 is now throttled.^1 This means yt-dlp has to download an audio file and a video file and use ffmpeg to merge the two.
YouTube ad revenue just missed consensus estimates. Perhaps the accessibility of videos on YouTube is going to get even worse.
1. One will not likely notice this unless one is in the habit of specifically choosing format. For example, some folks have used itag 18 and 22 exclusively for many years.
I found yt-dlp did that more often than not anyway, if left to its own devices on choosing which formats to pick. Though I had noticed it doing that pretty much always recently.
> Perhaps the accessibility of videos on YouTube is going to get even worse.
I think that has started to happen. I've had a few occurrences recently where it tries to get a particular format and fails, so I've had to manually request something else.
They also seem to have started screening non-residential/office/similar connections more aggressively too, two external hosts of mine now get a message to the effect "login to prove you aren't a bot" when yt-dlp tries to pick something up, and I've seen people note that they have trouble with YouTube proper (without logging in) over some VPN services.
Yes, the default setting is to d/l and mux the highest available quality video and audio.
IMO this is not a prob^W thing even worth bothering about. Does it bother you in any way?
Just curious.
yt-dlp is not necessary ... if you write a replacement? Ok.
Besides I doubt simple shell scripts will be able to download all videos that yt-dlp can. YouTube does not use the same protections for all videos.
You are free to doubt but the the truth is yes they can.
The only ones that are complicated are commercial videos.
Give me a list of videos you are downloading with yt-dlp and I will show you how to dowload the same videos without yt-dlp. I have been doing so for many years. Unless you are only downloading commercial videos, e.g., VEVO crap. Personally I am not interested in those videos.
I am actually liking this YouTube change getting rid of or throttling video with pre-muxed audio. Now I download only the audio. If I like it, then I download the video and mux. For many videos, there is no meaningful video; it is just slideshows of images or animations. For me, audio-only is faster and more space-efficient. I am avoiding downloading many videos because in many cases the audio is enough.
Your Windows/Linux/OSX device, or a VM or container on it, can be the server if you wish. This way the creators don't need to make two UXs (web for the server, native for the other).
A lot of people run thier self-hosted apps on an external server or home lab (or mix/multiple) with those resources being "properly" setup as infrastructure with backups and such, using their PCs/laptops/tablets/phones as relatively dumb clients/caches that can be easily replaced (pulling local content back from the server the old devices synced to) if lost/damaged. This is one reason self-housing that way is popular.
> using yt-dlp and have thought of making a simple app
I've seen a few desktop apps that seem to be wrappers around yt-dlp (and/or other similar utilities). I've not used any of them so can't comment on their stability/reliability/other, but I'd do a search before writing your own from scratch (unless you want to do that for fun anyway!) as you might find what you want already exists.
A dockerized web app is also much easier to build and maintain, than desktop clients for Windows, macOS, Android, iOS, Linux, and so on.
I get that sometimes it's great to archive a video in the case it get's deleted from YouTube, but in my case this very rarely happens. I watch the video and I'm done with it. If I can't re-watch it, this doesn't really matter to me.
1. Removal of ads is a pretty big reason for many.
2. As you already note: you can't stream a video again if it or the entire channel has since been taken down due to copyright claim (spurious or otherwise) or other complaint. This may matter a lot more to some people than it does to you, depending on the content they are consuming.
3. Some may be downloading for offline play. You can do this with the official YouTube app too, but not without paying for Premium (which seems exorbitant to me) and still being subject to the takedown problem.
4. Local indexing: if keeping reference to videos for future rewatch or sharing, arranging then in your own structure may be more convenient than maintaining bookmarks to YouTube copies or searching for them each time.
5. Some mix of the above, and likely other reasons I've not considered/remembered.
Not to mention that sometimes streaming from youtube might not be possible (internet down) or cost prohibitive (mobile plan abroad), or just plain removing those shitty ads.
Not that I would let them anyhow but YouTube starts recommending really trashy stuff when it finds out you're a kid. The tamest of it being stuff like adults playing with toys in a very childish manner.
For me, the same reason people used VCRs, and I don't mean "copyright infringement" --- saving stuff to watch later or when I don't have an Internet connection, or only a slow one. The majority of what I download only gets watched once and deleted.
at least a dozen times in the past couple of months i’ve searched for videos i’ve previously seen, using almost exact title language the search just wouldn’t give them to me. the vids i did find was only because i ultimately remembered the names of the channels they were on and had to trawl through them directly to find it.
it’s to the point now where it’ll just be easier to grab videos i find interesting and be able to find them later with much less hassle.
for me it wouldn’t be an issue if they hadn’t broken their search so badly.
Yark: YouTube Archiver with Offline UI
Buy a Raspberry Pi, image the microSD card, select your favorite YT channels, install client apps… all your favorite YT content now available locally and ad free!
My only task: subscribe to a channel or playlist, download videos to a path and check once a day for new stuff.
The only UX I need is for setting up the channels. Then just save the files and let Plex take it from there.
Anyone knows of a better option?
Mostly concert videos and skate parts. We have an archive.
Something like plex for YouTube?
I want to auto download videos from my favourite podcasts, but then have a super simple dashboard that shows the videos and lets me watch them.
https://github.com/TheFrenchGhosty/TheFrenchGhostys-Ultimate...
You could have a shortcut or hotkey that reads it from your clipboard and appends.
Just add the destination dir to your media player (or set it to your videos folder) and you're done.
Not AGPL, support for custom profiles, better UX (IMO)
Outside of some AP classes that had their own computer labs most kids in my age group (early 30s) took one computer class in their entire secondary education. I knew one other person in my entire high school that coded.
Hell you can code Python on ti-84s now.
Millennials got to use real computers growing up. Gens Z and Alpha got locked down Google appliances tightly monitored by schools.
I think a lot of this is developers intentionally blurring the line between local and cloud storage. If you were a layman iPhone user, would you be able to confidently tell me which of your photos are stored in iCloud and which are stored on your device? Apple is deliberately obfuscating it.
It is exactly this. I'd like to think it is less developers and more marketing/product manager/bizdev types trying to keep their customers ignorant as a form of lock-in.
It doesn't help that network-transparent storage is _hard_. Before, if you wrote something to storage, there was a preeeeetty good chance it was going to wind up on disk. Yes, yes, disk IO is a dark art that's still probably full of subtle bugs, and there is no God, but generally: file -> disk was, and is, solid.
Now, you have file -> several HTTP round trips -> ope, fiber cut -> hung. And that's just to turn on your living room lights! I've seen networking code that is supposed to provide the same guarantees that the people writing filesystems and disk drivers do, and I can't say it usually succeeds. And people wonder why everything feels more and more broken.
Of course, university IS meant to be an introduction to whatever your field is, but those of us with in-depth computer knowledge, even basic knowledge of something like Java, had a much easier time of it.
I don't envy the youths today.
Well, also Chromebooks, which basically take away the opportunity to learn how to really use a computer in favor of only teaching you how to use a laptop to open Chrome.
When everything just works, you don't sit around half a day troubleshooting and having to do so feels exceptionally bad when you didn't spend half your childhood doing it to get your brand new game/graphics card/weird controller to work.
Most of my computer skills were self taught because I wanted to figure out how to do stuff with my computer as a kid without spending money, or how to upgrade my PC while spending as little as possible.
I think looking at the prevalance of something like DoorDash delivering fast food to people shows you how strange culture has gotten.
It's a pretty expensive way to own a car, though: having to take it to a mechanic in order to maintain or fix things. But you're absolutely right that it's an option today that wasn't really an option 30+ years ago.
Besides, so many problems now aren't even fixable by end users. Why? Because all of our computation happens somewhere in the bowels of us-east-1. If your budgeting program breaks on your computer, you might be able to fix it, especially if you have the source. But GET /budgets/123 returning a 500 is the equivalent of saying "pound sand", and you have zero hope of actually fixing the issue. You're at the mercy of some faceless on-call person halfway across the globe, and they're overworked and on their third bourbon of the evening.
while i agree that we might be moving too fast with our “progress” regarding tech, my guess is we’ll get it smoother before we fully move on.
however, don’t confuse helplessness with having better things to do with your time.
for example, we’re not helpless when we turn on a faucet to get water. we’re totally capable of hauling heavy buckets down the hill to the river and hauling heavy pales of water back home, then boiling the water to cook with and then again to take a bath. we just decided it’s a waste of time for every single person to do that for hours every single day. now we just turn a faucet and boom, that’s it. that’s not helpless.
we’re not incapable of hunting and gathering for hours every single day either. we just found a better way. now i can just go to the store grab a bag of chips without needing to grow potatoes for months first.
we’re not helpless, we just decided to be more efficient.
good news is, those who like growing a potato to make their own chips can still absolutely do it. if you’re someone who likes hauling 50 gallons of water by foot everyday from the local river, set up that fire and boil that water to your hearts content.
you may not have been implying it, but a lot of people lately seem to often confuse having different priorities with “helplessness.”
As the family wizard, I expect people to know their passwords, keep track of their mails / services and such (And will refuse to save them / store them, within reason) But even with tech literate people, sometimes they prefer to defer some stuff to me since they trust I'll know what to do I do the same with stuff they are competent in, we are (mostly) better for it
Besides that, Invidious has a download button for audio and video.
As far as apps there's very simple mobile apps: Tubular and newpipe both support downloading, and ytdlnis and seal are explicitly for downloading. I'm sure there's a dozen more in F-Droid.
In my experience they do. Do you never use a mobile for browsing/videos/etc?
FWIW, I agree with you that it probably should not be the default.
- easy to deploy (developers problem) - easy to use (everybody else’s problem)
There’s like ~1 dev and >x.000’s of users, so…
> Web GUI for youtube-dl (using the yt-dlp fork)
However, there are ways to download Youtube videos without installing a native app. For example, it is possible to use a library like Youtube.js [0] to make a browser extension that downloads Youtube videos directly. You won't find those on Google's web store due to policy, but you can find a handful on Github.