Youtub3r: Your friendly YouTube metadata decorator for Channels

It doesn't pull the video's description due to YouTube video descriptions tending to be literally 2000 words of affiliate links and chapter definitions that are of no use in Channels.

As for the image, I'm not sure why it's not showing. I've never seen it not work.

View Details on the video and click on the File ID link to expose the JSON properties of the file and scroll down looking for ThumbnailURL to see if it's even set.

i meant that the playlist/channel doesn't have a picture - but i would assume that there wouldn't be one available - will have to set that manually - the thumbnails pull fine and I've changed my settings so those are shown

As mentioned in another message in this thread, it does not apply art to the Video Group:

Thanks

This solves a long running ask I've had to handle youtube stuff - appreciate it a lot

All i need now is nfo :slight_smile:

@maddox I went down a rabbit hole a bit with this project today. I was working to get Project One-Click deployments set up for Pinchflat and this project, but couldn't get it working.

It turned out the script wasn't able to handle the sort of mix of slashes and backslashes you get when a Windows directory is bound to a Linux container.

Anyway I have it running now, with an updated Ruby script to fix that primary problem, plus I added quite a bit more output to the console (aka the Portainer Log in my case).

It now looks like this processing (lines from the end of one pass and the beginning of the next):

Scrubbing /youtube/IMY2/I’ll be watching you.. [pu_K3q-36Zk].mp4...
Dir exists? /youtube/IMY2 -> true
Video exists? /youtube/IMY2/I’ll be watching you.. [pu_K3q-36Zk].mp4 -> true
Info JSON exists? /youtube/IMY2/I’ll be watching you.. [pu_K3q-36Zk].info.json -> true
PUT /dvr/files/6491 -> 200
200 - scrubbed I’ll be watching you..
Scan completed at 2025-09-25 20:05:43 +0000
Waiting 60 seconds...
Starting scan at 2025-09-25 20:06:43 +0000  SERVER_URL=http://media-server8:8089  VIDEO_PATH=/youtube  DRY_RUN=false
Fetched 97 groups
Matched 3 YouTube-labeled groups
Group videos-be889e6132a18b470637eb82770b79b6e527a3b83a6308fad572b41055f1e418 has 16 files
Scrubbing /youtube/The Wailin' Jennys/2011-07-06-Light of A Clear Blue Morning.mp4...
Already verified, skipping file.

If you're good with that, I'll go ahead and submit a PR...

Absolutely. Never ask to submit a PR. Just submit a PR.

OK, I made good on my threat and this change has been made as of the latest release.

YOU NO LONGER SET THE VIDEO PATH AND INSTEAD MOUNT YOUR VIDEOS DIRECTORY TO A PATH.

This is a breaking change and you'll need to change your config:

Video Directory

Youtub3r needs access to your YouTube video files and their corresponding info.json files created by Pinchflat.

You must mount your video directory into the container at /youtube_videos.

This directory must be the root directory of your YouTube video groups. This is the same path you added as a Video Source in Channels.

Looking good on my test dataset (last line of first pass, and first line of second pass shown):

Scrubbing /youtube_videos/IMY2/I’ll be watching you.. [pu_K3q-36Zk].mp4.
200 - scrubbed I’ll be watching you..
Waiting 60 seconds...
Scrubbing /youtube_videos/The Wailin' Jennys/2011-07-06-Light of A Clear Blue Morning.mp4.
Already verified, skipping file.

New bnhf/olivetin:latest (aka bnhf/olivetin:2025.09.26) pushed this morning with Project One-Click support for Pinchflat and YouTub3r:

screenshot-htpc6-2025-09-26-10-24-02

screenshot-htpc6-2025-09-26-10-23-05

And, if you're hip to awesomeness of Organizr, here's a transparent background Pinchflat icon:

Pinchflat Icon

Pinchflat Dashboard in Organizr

1 Like

Thanks! I finally got this working. Now just have to figure out some of the failure I get in Pinchflat. Trying to apply their suggestion on cookies file for the errors I'm getting. Still doesn't work for some files. At least I am getting some others.

Don't want to off-track the Topic, but Pinchflat times out sometimes and crashes the container.
It's on a development break for now too, while the dev pursues another project.

Interesting. I wonder if there is another downloader that would create the same structure youtub3r needs. @maddox ?

I had been using mediahuman downloader before.

I haven't used it, but TubeArchivist ?

I will check it out. I guess as long as it names the files as youtub3r wants it and creates a json file as expected. Will see.

pinchflat works fine - you just have to give it time for larger channels

If the videos are age protected you have more issues as you need to use cookies which are currently not recommended

I am just downloading hiking videos, nothing age restricted. But it keeps complaining it won't download due to bot related restrictions or something.

Either way, too much fiddling at this point.

Nature of the beast - youtube puts up roadblocks continuously - yt-dlp is in a war of attrition to continue downloading videos

you may have hit time related soft ban - it will probably not work for 12-24 hours and start up again

He did just put out a /dev update which you may want to try

Looks like the release yesterday is pretty important (if you want it to download videos!)

https://github.com/yt-dlp/yt-dlp/issues/14404#issuecomment-3330980464

@maddox Thanks for sharing this nice project. One thing I'm noticing is that for some videos, thumbnails are showing in the server/web UI but not client devices. Is youtub3r grabbing the local thumbnail files or using the URL from info.json? If it's the json, I'm wondering if it's a webp issue.

1 Like