Youtub3r: Your friendly YouTube metadata decorator for Channels

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

This is actually an issue in our image caching on Channels DVR Server. We're looking into it.

3 Likes

Devs, feel free to move this somewhere else if necessary.
I've experienced the Pinchflat container crashing about once per day.
Closest (unresolved) issue I could find that matches mine is this one https://github.com/kieraneglin/pinchflat/issues/762
Anyone else seeing this?

I have the container set to restart unless stopped, so doesn't appear to cause any other issues, but I wonder if the database is getting corrupted. Not sure how to check that other than asking the dev.

This should be resolved in the latest server pre-release:

2 Likes