I’m trying to be more mindful about my YouTube consumption, there are a lot of quality channels out there, but sticking to “subscriptions” is difficult when the YouTube app on my TV has so much distracting recommended content and shorts thrown at you, so I’d like to have a way to auto-download the content from specific channels to play later via Plex. I actually have YT Premium but plan on putting the money into the Patreons of my most-watched creators instead.
Features I’m looking for:
- Automated downloading of new videos from specific channels
- Ability to ignore/skip shorts
- SponsorBlock if possible
- Vimeo (and others) integration would be a huge plus too.
- A way to easily add videos to a download queue manually (browser extension or something) for when I come across an interesting video in the wild" by someone I’m not subscribed to/don’t want to subscribe to.
Things I’ve looked into:
- TubeSync - returns 500 errors anytime it’s indexing, which it does every day, meaning setup is very tedious. It’s also frustrating to configure for every single channel independently, but (ostensibly) does what I’m looking for? I think?
- TubeArchivist - Try as I might I just cannot get this up and running on CasaOS/Docker. Seems nice, but also looks like overkill for my use case.
- YoutubeDL-Material - Struggling to get this installed too, but it also doesn’t seem to have additional features like SponsorBlock.
Anything I’m missing or are these basically the main options for now? Would love something as simple as Sonarr.
https://github.com/Tzahi12345/YoutubeDL-Material
It does support sponsorblock. You need to add a tag within the command and it’ll apply it to all new videos.
Also, if you use docker, I can help you with the installation.
Download this file: https://github.com/Tzahi12345/YoutubeDL-Material/blob/master/docker-compose.yml
Go to terminal and navigate to the folder where you downloaded the file.
Copy this code and hit enter: docker-compose pull
Copy this code and hit enter: docker-compose up
Wait for 15 minutes and in the container log
Try both ports and see if it works 8998, 17442
2nd’ing. I tried TubeArchivist too and preferred this
I can’t seem to not get this error:
EDIT: Just had to wait the fifteen minutes like you suggested!
Glad you got it working.
I’ve noticed it need a lot of time to start even with good hardware and the confusing part it’ll throw errors rather than doing nothing.
Now to configure sponsorblock, go to settings > advance > select downloader: choose yt-dlp
Then go to settings > downloader > global custom args type this: --sponsorblock-remove,all
Now, for all new videos, it will download the video and remove all sponsorblock marked segments.
Awesome thanks, I think I’m going with this! The UI is good. I’m struggling to find a list of all sponsorblock args, know of anywhere?
Also do you happen to know what Plex scraper is best for YoutubeDL-Material’s default naming scheme?
For Plex:
In YouTube download-material settings: Extra-> check “generate nfo files”
In plex, create a library called “YouTube” or whatever you’d like, category set to “other videos”. Use scanner: “Plex Video Files Scanner” set agent to “Personal Media.”
Under Plex settings “Agents” make sure under both the “movies” and “shows” tabs that the “personal media” agent is set to use “Local Media Assets” and that that is top priority.
Plex will use the nfo files generated by ytdl for metadata.
I believe there is a dedicated YouTube series agent, but those can be finicky. This way, ytdl has already done all the metadata work.
Thanks for this, this is the only breakdown I’ve been able to get (sort of) working.
Just to clarify- this won’t load thumbnails into Plex, correct?
Yeah, it won’t. Only Plex’s own screengrabs.
Sure, you can find the documentation under sponsorblock options here: https://github.com/yt-dlp/yt-dlp
For categories, maybe sponsorblock github is the best place to find them.
Unfortunately, I don’t know how to scrape information or import it to Plex. Also, check out jellyfin as an alternative of Plex.
Hi me again, sorry to use you for tech support, but I’m getting this error:
No problem. I think you missed a comma before all. It should look like this:
–sponsorblock-remove,all
Edit: I don’t know why lemmy client I use remove the double comma.
ohhhh that’s funny thanks!