this post was submitted on 24 Nov 2023
8 points (100.0% liked)

Self-Hosted Main

511 readers
1 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

For Example

We welcome posts that include suggestions for good self-hosted alternatives to popular online services, how they are better, or how they give back control of your data. Also include hints and tips for less technical readers.

Useful Lists

founded 1 year ago
MODERATORS
 

I am keeping my children away from Youtube, but there are plenty of educational videos that I would like to make available for them to view at their leisure. I would like something that works more or less like this:

  1. I add a youtube video url/playlist url/channel url
  2. It downloads the videos, possibly with metadata, and stores them locally.
  3. It serves them through a nice web interface.
  4. (optional) it syncs the channel content and keeps it up to date.

Is there anything similar out there?

top 13 comments
sorted by: hot top controversial new old
[–] [email protected] 2 points 11 months ago

I don't know how much configurable invidious is in terms of allow-listing content, but unless you want to locally cache the content you want them to see - which seems a lot of work, I guess that's the way to go

https://github.com/iv-org/invidious

[–] [email protected] 2 points 11 months ago

I use ytdl-sub, based on yt-dlp, it does what you need : download from a youtube channel/playlist and add it to jellyfin/plex/kodi as TV show.

https://github.com/jmbannon/ytdl-sub

[–] [email protected] 2 points 11 months ago

Tube Archivist. It’s perfect for that. Your kids don’t even need to know Youtube exists. I just installed it and imported years of downloaded YT videos. The search engine finds anything in milliseconds!

[–] [email protected] 2 points 11 months ago (1 children)

I don't know if you want a pretty UI for adding the videos/playlists/channels, but yt-dlp can do all that. You'd probably have to set up some kind of cron job for it. Then you can serve it via any of the available video players (I'm pretty sure Jellyfin has a youtube metadata addon).

[–] [email protected] 3 points 11 months ago

Yeah this would do the trick. I have a simple yt-dlp script setup that is set as a cron job. Everyday at 4:30 AM it checks a list of YouTube channels I have and downloads any new videos that channel has to a corresponding media directory that jellyfin has access to, keeping that channels content up to date.

This lets me easily set and forget my script, so now whenever I want to watch that channels video I can just open jellyfin, which stores all my media, not just YouTube, and view it from there.

It does eat up storage though on big channels, but if you got the space it’s not a big issue.

[–] [email protected] 1 points 11 months ago

I use yt-dlp & jellyfin for this exact purpose. Navigate to the channel you want, then click on the playlists link, this way it breaks the channel into consumable chunks. I use the naming options as channel/playlist/video title. I have yet to solve for pictures to automatically be pulled at the channel level. I also took some of my plex media libraries and split them out. Now in jellyfin I have their yt channels, TV shows, and movies curated on their tablets. I also have the directories shared with plex as every other device I have was already setup with plex and can see the same media.

[–] [email protected] 1 points 11 months ago

Podsync (https://github.com/mxpv/podsync).

Although it designed to support podcast apps it configurable to download videos too.

[–] [email protected] 1 points 11 months ago

someone posted this a bit earlier today i think.

https://github.com/horahoradev/PrometheusTube

[–] [email protected] 1 points 11 months ago

https://github.com/bennyclams/untube requires infrastructure but allows you to download youtube and non youtube videos

[–] [email protected] 1 points 11 months ago

Tubesync is pretty good

[–] Radium 1 points 11 months ago

I’ve been using tubesync and jellyfin for this for awhile and it works okay. The tubesync software is not the best, and the docker container made by the dev has way too much going on in it but it works.

I have tubesync set up to watch and auto download from certain channels and then I watch via jellyfin. There’s even a jellyfin YouTube metadata plugin if you want to set that up too.

https://github.com/meeb/tubesync

[–] [email protected] 1 points 11 months ago

There's always Peertube's "channel sync" which does pretty much what you describes.

https://docs.joinpeertube.org/use/channel-sync

Only thing is that it's public sharing so you'd have to find ways of locking it down if you want a private server.

[–] [email protected] 1 points 11 months ago

Sure. I do this with yt-dlp + plex.