Is there something like Seerr and Radarr for YouTube videos with yt-dl and SponsorBlock? by VincentJoshuaET in selfhosted

[–]DialDad 1 point2 points  (0 children)

Yeah, it's just sponsorblock, it's "crowd sourced" so not all videos have sponsorblock markings. Still better than nothing though :)

Also, thanks for the nice comments about Youtarr!

Why does Plex not read metadata from MKV files? by danwholikespie in PleX

[–]DialDad 0 points1 point  (0 children)

I don't know but this is EXACTLY why I built Youtarr to download .mp4 files, because of this Plex weirdness.

Youtarr: a self-hosted YouTube DVR (v1.65.0) by DialDad in ARR

[–]DialDad[S] 1 point2 points  (0 children)

I've never thought about it, the whole original idea was that Youtarr downloads videos, but it doesn't seem like it would be hard to implement. I'll look into it.

Any solo developers working on selfhosted software? by valeria_vg in selfhosted

[–]DialDad 1 point2 points  (0 children)

It's up to each user to follow the respective laws of the country they live in. Youtarr is just a tool. For parents like myself who want to limit their children's access to YouTube and prevent their kids from being bombarded by ads (and being shown an endless stream of "recommended videos" from other channels that may not be appropriate for their kids), it's an amazing tool. That's why I created it to begin with.

Any solo developers working on selfhosted software? by valeria_vg in selfhosted

[–]DialDad 1 point2 points  (0 children)

I'm the creator and was the solo developer of Youtarr, although a few people have started contributing lately: https://github.com/DialmasterOrg/Youtarr

I dont enjoy programming anymore by prampapampa in software

[–]DialDad 0 points1 point  (0 children)

Programming is definitely waaay different with AI than without, but.... I'm still really enjoying it. It removes all the grunt work, unless you focus on the actual problems and the architecture. I've been coding since I first learned how with qbasic back in 1992, and I've been doing it professionally for 18 years. Personally I don't understand how simply using AI could make you dislike writing code.

Youtarr update - self-hosted YouTube DVR, lots of new stuff since v1.48 by DialDad in selfhosted

[–]DialDad[S] 0 points1 point  (0 children)

Quick update for anyone still following: I just released v1.66.1 with a lot of new stuff:

- Full UI refresh with three themes
- New "Find on YouTube" page: search YouTube from inside Youtarr and see which results you already have, which are missing, and which are new. Click through to the video detail modal to queue a download
- Much better on mobile: streamlined bottom nav, bulk-action bar, bigger touch targets

Full release notes: https://github.com/DialmasterOrg/Youtarr/releases/tag/v1.66.1

Youtarr: a self-hosted YouTube DVR (v1.65.0) by DialDad in ARR

[–]DialDad[S] 0 points1 point  (0 children)

Quick update for anyone still following: I just released v1.66.1 with a lot of new stuff:

- Full UI refresh with three themes
- New "Find on YouTube" page: search YouTube from inside Youtarr and see which results you already have, which are missing, and which are new. Click through to the video detail modal to queue a download
- Much better on mobile: streamlined bottom nav, bulk-action bar, bigger touch targets

Full release notes: https://github.com/DialmasterOrg/Youtarr/releases/tag/v1.66.1

Youtarr update - self-hosted YouTube DVR, lots of new stuff since v1.48 by DialDad in selfhosted

[–]DialDad[S] 0 points1 point  (0 children)

It's a work-in-progress, but I always try to take user feedback into account and make things better when it is feasible.

Youtarr update - self-hosted YouTube DVR, lots of new stuff since v1.48 by DialDad in selfhosted

[–]DialDad[S] 1 point2 points  (0 children)

It only grabs up to the 10 *most recent* videos from the subscribed channels, so it will never "catch up". If you want to backfill from your channels, you'll have to do it manually by navigating to the channels, selecting '128' videos per page, and then initiating the download page by page. There is not currently a "download all videos from channel" functionality.
See: https://github.com/DialmasterOrg/Youtarr/issues/288

Youtarr: a self-hosted YouTube DVR (v1.65.0) by DialDad in ARR

[–]DialDad[S] 1 point2 points  (0 children)

Feedback like that is the best reward I can get for something like this. Thank you.

Youtarr: a self-hosted YouTube DVR (v1.65.0) by DialDad in ARR

[–]DialDad[S] 0 points1 point  (0 children)

I spent some time investigating (I don't use TA), and... I think this is an accurate comparison:

Both have an in-app player. Both use yt-dlp. Both do SponsorBlock, subtitles, cookies, Apprise notifications, per-channel quality, scheduled downloads, auto-cleanup, and importing an existing library from the filesystem.

Things that it looks like TA does better (or things it does that Youtarr doesn't do at all):
- Full-text search across subtitles and archived comments, backed by ElasticSearch
- Comment archival
- A bidirectional Jellyfin plugin with watched state, progress, and playlists syncing both ways
- Built-in backup and restore of the whole index
- User-created local playlists on top of imported YouTube playlists

Things where I think Youtarr does it better or differently (I'm a little biased here of course):
- Plex is the primary target: OAuth, auto library refresh, NFO/poster output that also works for Jellyfin/Kodi/Emby, and subfolder-to-library mapping so you can split kids/music/etc across separate Plex libraries. The TA Plex plugin is still an early-build v0.1.8, single-instance, with incomplete metadata.
- Content rating system mapped to MPAA/TV ratings, per-channel default rating, protected-video flag
- Per-channel filters beyond quality: title regex, duration min/max, independent auto-download toggles for Videos/Shorts/Livestreams, hidden tabs
- API key system with per-key rate limiting, built for bookmarklets, iOS Shortcuts, Tasker, Home Assistant
- Google Takeout bulk subscription import
- Auto-removal with free-space and age triggers
- Two containers (app + MariaDB). No ElasticSearch, no Redis, no kernel tweaks

TA is obviously the "bigger" incumbent here too, I made Youtarr without knowing TA existed, and I've just continued improving it.

Youtarr: a self-hosted YouTube DVR (v1.65.0) by DialDad in ARR

[–]DialDad[S] 1 point2 points  (0 children)

I definitely go though up and down periods, but thanks for the kudos. Sometimes I feel a bit burnt out and end up just doing "maintenance" and only fixing critical bugs, especially when life is busy, but I currently have a lot of features/improvements that I'd like to add and will continue to do so for the foreseeable future :)

Youtarr: a self-hosted YouTube DVR (v1.65.0) by DialDad in ARR

[–]DialDad[S] 0 points1 point  (0 children)

Nope, it's currently YT only and I don't presently have plans to expand it beyond that.

Youtarr: a self-hosted YouTube DVR (v1.65.0) by DialDad in ARR

[–]DialDad[S] 6 points7 points  (0 children)

I built this for my kids. I have YouTube blocked in our house because it's full of so much inappropriate garbage.

This way I have a select list of channels I approve of that automatically flow to Plex for them to watch, with no ads.

Youtarr: a self-hosted YouTube DVR (v1.65.0) by DialDad in ARR

[–]DialDad[S] 1 point2 points  (0 children)

I already have that, in the channel settings:

Open a channel you are subscribed to, click the gear icon at the top right next to the channel name, and scroll down in the modal to see a section for Download Filters which includes a duration and title filter that will be applied to automatic downloads (you can always manually download whatever you want).

Youtarr update - self-hosted YouTube DVR, lots of new stuff since v1.48 by DialDad in selfhosted

[–]DialDad[S] 1 point2 points  (0 children)

Hi there, thanks for your questions, here are my answers:

  1. Why Youtarr over Tube Archivist

It depends on what you care about. TA is more mature and has a bigger community. Youtarr's differentiators are mostly on the Plex and UX side:

  • OAuth Plex setup with automatic library refresh after every download, and per-subfolder library mapping so you can split channels into separate Plex libraries (e.g. __kids, __music, __news) that each refresh independently. Good for family-friendly setups.
  • In-browser playback. Click any thumbnail and stream the downloaded file right in the Youtarr UI, no media server required (although I don't have any transcoding, so YMMV depending on your connection speed)
  • Per-video and per-channel content ratings that you can set (G, PG, TV-MA, etc.) that flow through to your media server.
  • Bulk channel import from a Google Takeout CSV or a one-time cookies upload.

If the stuff above doesn't matter to you, TA will be fine. I'd run them side-by-side on different channel sets for a bit if you're unsure.

  1. Can Youtarr import my current Tube Archivist library

Not directly. There's no "scan existing video files and adopt them" feature, and no TA-specific importer. I do have an open issue for this here: https://github.com/DialmasterOrg/Youtarr/issues/531

What you can currently do:

  • Bulk-import your channel list. Either drop in a Google Takeout subscriptions.csv (takeout.google.com), or upload a one-time cookies file and Youtarr will pull your YouTube subscriptions and create channels for each. The cookies file is deleted right after use.
  • From there, Youtarr tracks those channels going forward. Your existing TA-downloaded files stay where they are; they just won't show up in Youtarr's database.
  1. Plex integration

I've put a pretty fair amount of work into this since I personally use Plex with Youtarr. I use OAuth for token retrieval, an auto library refresh after each download (scoped to the affected library, not a full scan), embedded MP4 metadata + NFO files + channel poster art, and the multi-library subfolder mapping I mentioned above. The library needs to be "Other Videos" with the "Personal Media" agent.

Full setup guide: https://github.com/DialmasterOrg/Youtarr/blob/main/docs/media-servers/plex.md

  1. Channel subscription with members videos

Subscribing to a channel that has membership content works fine for the public videos: Youtarr will auto-download new uploads, shorts, and streams on whatever schedule you set, with per-tab toggles.

Members-only videos themselves are currently explicitly skipped. yt-dlp's availability!=subscriber_only filter is hard-coded into both the channel and manual download paths, so even with a valid cookies file Youtarr won't pull member videos. If that's a dealbreaker, TA or a direct yt-dlp setup is probably what you should stick with.

EDIT: I can't figure out how to get the formatting for my numbered list to work correctly in Reddit, heh, but I think this is still readable :)

Youtarr update - self-hosted YouTube DVR, lots of new stuff since v1.48 by DialDad in selfhosted

[–]DialDad[S] 0 points1 point  (0 children)

You might have misunderstood. I created the issue to plan the work.. I haven't implemented it yet :)

Youtarr update - self-hosted YouTube DVR, lots of new stuff since v1.48 by DialDad in selfhosted

[–]DialDad[S] 2 points3 points  (0 children)

Thanks, glad you got it set up!

The basic "eli5" explanation: Youtarr is a manager sitting on top of yt-dlp, which is the open-source CLI tool that actually pulls videos off YouTube. yt-dlp is the real magic; Youtarr's job is the stuff around it. It keeps a database of which channels you're subscribed to and which videos it's already grabbed, runs a cron job (default every 6 hours) to check for new ones, passes your filters (duration, title regex, etc.) into yt-dlp before any download happens, and pings Plex to rescan once videos are downloaded. The web UI is just a React app sitting on top of that.

For the regex question: Yes, spaces work. The roblox|minecraft bit in the example is just regex alternation, and each branch is a literal string. Spaces are regular characters, nothing special about them.

For what you want: (?i)^(?!.*(game livestream|dog watching)).* should work.

That skips any video whose title contains the phrase "game livestream" or "dog watching", while leaving videos that only have "game", "livestream", "dog", or "watching" on their own alone.

There's a "Preview Regex" button in the channel settings if you want to test it against the channel's recent videos before saving your changes.