jellyfin-youtube-metadata-plugin icon indicating copy to clipboard operation
jellyfin-youtube-metadata-plugin copied to clipboard

Possible to add support for alt filenames?

Open Code-Slave opened this issue 2 years ago • 19 comments

I use a youtube archiver called tubearchivist. Really nice app that id linke to get into jellyfin. However it uses the following to save files

20170509_cdai_HkKpyM_DeWalt DWE6423 Random Orbit Sander vs Hyper Tough.mp4 20170825_I5u2vmcXXxQ_WEN 6530 Electric Planer Unboxing.mp4

Is it feasable to make the placement and or delimeters for the id configurable or add a switch for tubearchivist?

Code-Slave avatar Feb 15 '22 15:02 Code-Slave

Is that date, Id, then title separated by underscores?

On Tue, Feb 15, 2022, 7:11 AM CodeS1ave @.***> wrote:

I use a youtube archiver called tubearchivist. Really nice app that id linke to get into jellyfin. However it uses the following to save files

20170509_cdai_HkKpyM_DeWalt DWE6423 Random Orbit Sander vs Hyper Tough.mp4

Is it feasable to make the placement and or delimeters for the id configurable or add a switch for tubearchivist?

— Reply to this email directly, view it on GitHub https://github.com/ankenyr/jellyfin-youtube-metadata-plugin/issues/40, or unsubscribe https://github.com/notifications/unsubscribe-auth/AALYWLVOLTPJMJHWDLDIMHTU3JULVANCNFSM5OO2DCGQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

You are receiving this because you are subscribed to this thread.Message ID: @.***>

ankenyr avatar Feb 15 '22 15:02 ankenyr

yes. one issue is ids can have underscores.

Code-Slave avatar Feb 15 '22 16:02 Code-Slave

I'd like to echo this request as well.

Tubesync (sonarr for youtube) lets you define naming conventions for playlists/channels as you download them, which would be nice to match this layout with. However, it becomes an issue when someone decides to migrate over with terabytes of already-downloaded media. On top of that, tubesyncs current state is pretty unreliable and has not updated in a while.

I know for some, myself included, TubeArchivist has taken over in it's use case but It only supports its one naming convention. I think supporting alternate filename patterns with the plugin would be helpful when it comes to importing existing archive libraries into Jellyfin.

HStep20 avatar Apr 06 '22 22:04 HStep20

Exactly. I was pushing hard for tubesync but it just stalled.

Code-Slave avatar Apr 07 '22 19:04 Code-Slave

I vote for this too. I'm using tubearchivist and would love to add the videos to jellyfin

kzshantonu avatar Jun 13 '22 00:06 kzshantonu

Sorry I let this one linger. Is the desire here to have individual regexes for popular downloader helpers or providing your own regex? The later is stronger but does open things up to being DOS'ed by anyone with admin by putting in an expensive regex. https://en.wikipedia.org/wiki/ReDoS The former would be exhaustive to continue to add to since yt-dlp itself allows you to make any file name you desire with templates.

ankenyr avatar Jun 13 '22 23:06 ankenyr

That's true. In tubearchivist's case though, the files have to be named the way it saves them. I think the former option is good for now, i.e. adding support based on user votes and/or popularity

kzshantonu avatar Jun 14 '22 05:06 kzshantonu

TubeArchivist only has one naming scheme, so I think at least supporting it would be great. I keep going back and forth between TubeSync and TubeArchivist because of the naming vs actually working features of both, but loading them into jf has kept me on TubeSync (which is completely broken at large volumes of channels/playlists).

Supporting TubeArchivist as a naming schema would save a lot of headaches for most people who try to automate their youtube downloads with the currently existing tools out there for it.

HStep20 avatar Jun 14 '22 15:06 HStep20

Does TubeArchivist also download the channels info.json? As an example I have a file named Ahoy - NA - Ahoy_-_Videos [UCE1jXbVAGJQEORz9nZqb5bQ].info.json and the contents are things like the channels thumbnails, its epoch, description and other information.

ankenyr avatar Jul 01 '22 05:07 ankenyr

Unfortunately, it looks like it does not download any extra files alongside the videos, which is a shame and something I hadn't realized beforehand. It embeds metadata into the file, but doesnt have any option to write the json as a sidecar in the same folder.

Another big thing I overlooked/didnt realize as I had hopped back to tubesync, was that it doesnt divide anything up into folders. It has an incredibly static file system that will apparently never change where it dumps all videos of a channel into one directory. This means that individual playlists are jumbled up together with every other video from a content creator when they are downloaded regardless of if you specify one/multiple playlists to download. Im not sure this will implement nicely into the jellyfin interface, as it will see each 'creator' folder as a one season monolith, and will be unable to break them up into 'seasons' based on playlists.

Of course, its great for people who archive entire channels, which I do have a few of, but at the same time it has 0 support for getting specific playlists from content creators, since it jumbles them all up into one folder and doesnt write any sidecar data. Perhaps releasing the update to fix #47 while reapproaching this would be a good idea.

HStep20 avatar Jul 01 '22 23:07 HStep20

Yea I am going to revert the changes I made tonight and release for #47. I want to take a look at Tube Archivist for my own personal use. Already opened a issue on their github which will block me from moving. What made you move to Tubesync from Tube Archivist? Tube Archivist having an API with all the info I would need should make things simpler to work with. I have not looked at the current state of TubeSync to know if they have an API created or on their roadmap.

ankenyr avatar Jul 01 '22 23:07 ankenyr

Ive gone back and forth between them, because I think they both have their uses, but the biggest problem with TubeSync is that it just straight up doesnt work right. Even though I much prefer it because of the flexibility with naming, Ive had on and off issues where it wouldnt download videos it had set up to sync and it just stalls out with scheduled tasks. Right now for example, I have 111 scheduled tasks that are supposed to be running, but they never run. My last video download was a month ago. My other big issue is that it doesnt support SponsorBlock, which TubeArchivist does. I hate ads of any kind, so seeing sponsored segments in my downloaded videos really puts me off. The update cycle is slow, and while it looks like the dev is kind of active, new features are few and far between. The latest update consisting of 'bug fixes and minor features' was 3 days ago - the one before it came out 10 months ago.

Lots of 'putting out fires' in the issues, but no real progress to resolve the database locks, lack of sponsor block integration, extra naming convention tags supported by yt-dlp, and other features that are desperately needed.

I keep going back and forth because TubeArchivist is better, but TubeSync actually does what I want/need for my setup.

HStep20 avatar Jul 02 '22 01:07 HStep20

I basically mirror Hstep20s thoughts. TA works well but very opinionated on things. I actually left the community because I am an archiver and kept requesting things that made that easier and he stated My thoughts didnt match his plans and asked meto stop. Shrug. Tubesync naming flexibility with TA capabilities would be IDEAL. I did the switcharoo for a long time but TS just wouldnt work and dev is kinda stalled.

Code-Slave avatar Jul 03 '22 03:07 Code-Slave

Mind expanding? Got links to issues you filed?I would be interested in hearing more. I am on the jellyfin matrix server if you would rather chat over that.

On Sat, Jul 2, 2022, 8:31 PM CodeS1ave @.***> wrote:

I basically mirror Hstep20s thoughts. TA works well but very opinionated on things. I actually left the community because I am an archiver and kept requesting things that made that easier and he stated My thoughts didnt match his plans and asked meto stop. Shrug. Tubesync naming flexibility with TA capabilities would be IDEAL. I did the switcharoo for a long time but TS just wouldnt work and dev is kinda stalled.

— Reply to this email directly, view it on GitHub https://github.com/ankenyr/jellyfin-youtube-metadata-plugin/issues/40#issuecomment-1173004434, or unsubscribe https://github.com/notifications/unsubscribe-auth/AALYWLXKYYNN5KTP4GSPBULVSECPRANCNFSM5OO2DCGQ . You are receiving this because you commented.Message ID: @.***>

ankenyr avatar Jul 03 '22 03:07 ankenyr

Basically he would not implement custom naming or anything to help get metadata into any server. asked for nfo etc etc. This was before there was an API. In Tubesync i easily added channel/yyyy/filename to break in pseudo seasons as some of the channels i archive are very old. Most of the discussions were on discord and thats where he asked me to stop posting about plex,jellyfin etc as it was disruptive

Code-Slave avatar Jul 05 '22 12:07 Code-Slave

Hi, I would also greatly benefit from such a feature. I had a script that would create renamed symlinks with the correct naming scheme in a seperate top folder. It worked like a charm but I somehow deleted it. I might look into recreating it and sharing it here.

bandundu avatar Jul 27 '22 00:07 bandundu

I'm using YoutubeDL-Material .

It has downloaded all my playlists and single videos without caring for video IDs in the filenames.

File scheme is like this:

Big Buck Bunny 60fps 4K - Official Blender Foundation Short Film.mp4 Big Buck Bunny 60fps 4K - Official Blender Foundation Short Film.webp Big Buck Bunny 60fps 4K - Official Blender Foundation Short Film.info.json

I've set up the plugin in Jellyfin but it doesn't seem to recognize anything. I want to use only local metadata and webp images. How can this be done?

SpaceAgeHero avatar Aug 22 '22 09:08 SpaceAgeHero

@SpaceAgeHero look at ytdl-sub. Ive switch to that for everything. builds nfo files so no worries for metadata etc in jellyfin

Code-Slave avatar Aug 26 '22 12:08 Code-Slave

@Code-Slave Thanks for the heads up but ytdl-sub lacks a neat web interface.

SpaceAgeHero avatar Aug 26 '22 12:08 SpaceAgeHero