Kodi Community Forum
FanArt and Thumbnails Naming-Standard and File-Structure Convension Rationalisation? - Printable Version

+- Kodi Community Forum (http://forum.kodi.tv)
+-- Forum: Development (/forumdisplay.php?fid=32)
+--- Forum: Feature Suggestions (/forumdisplay.php?fid=9)
+--- Thread: FanArt and Thumbnails Naming-Standard and File-Structure Convension Rationalisation? (/showthread.php?tid=49801)

Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16


- xexe - 2009-06-29 16:56

This is one of the reasons i mentioned source attribution a while back.

if i pull say 80348-10.jpg and add it to my chuck TV show the name should still contain source attribution so that no matter where that file is in the global XBMC community it is still just a copy of:

http://thetvdb.com/banners/fanart/original/80348-10.jpg

as soon as we allow flexibility in naming chaos prevails and we will end up with hundreds of identical versions of this fanart named differently. This breaks the premise of XBMC as a community sharing internally.

Whilst this is not a real example it highlight my point

tvdb80348.tvdb80348-10.fanart.1920x1080.jpg
or
tvrage12345.tvdb80348-10.fanart.1920x1080.jpg

is not human readable but its a trivial format for an application to understand.

This is my personal preference for the general direction of naming.

There is another way to do this i have held back on as its way harder to setup and as such unlikely to come to fruition. We create a site that allows the lookup of artwork md5sums and name the artwork to include the sum.


- Gangsta - 2009-06-29 17:10

xexe Wrote:There is another way to do this i have held back on as its way harder to setup and as such unlikely to come to fruition. We create a site that allows the lookup of artwork md5sums and name the artwork to include the sum.

I had a kind of similar idea, but as it involved setting up a site, i gave up on it, as i was expecting the its reliant on a 3rd party argument


- AnalogKid - 2009-06-29 19:35

Gangsta Wrote:I had a kind of similar idea, but as it involved setting up a site, i gave up on it, as i was expecting the its reliant on a 3rd party argument

A unique ID is a piece of cake to create locally on a PC (just a hash of the full path to the media or a checksum of the file) but "182bHdgh.movie.xxxxx" is hardly nice for an end user, and needs additional software to compute the hash.

it's easier to use the NFO to say "file system friendly name = StarwarsB" and let the user name the art this way (but this is OPTIONAL), otherwise we can assume the artwork name matches the movie name.

If we HAVE to have a unique ID, why pull it from IMDB? might was well compute one locally (unless we want to share the art).

If we want to share the art, we have to have a GUID for every movie, in every language and every little variant. I believe this will never happen.

We are now trying to solve TWO problems and this is problematic.

Remember, when a user's media is first discovered, there is NO unique ID... just a media file. The only way ANY scraper can then figure out what the movie is is from the filename, foldername OR a manually created NFO.... the user HAS to try and tell the scraper what the movie is.
Even then, the scraper MAY find similar or duplicately named movies, and so the end user STILL has to choose.
FINALLY, a UID is found "ttxxxxxx"

Sadly the UID is not a GUID
Sadly the UID isn't meaningful to a reader (but this is a nice to have, not a MUST have)
The UID immediate then places a dependency on the scraper source to provide future UIDs. This is bad - it makes XBMC dependent on external entities.
What happens when the scraper doesn't find a match?
What happens if the user doesn't have a net connection?

So, you're left with the following 4 options:

Use a locally generated UID (LUID)
It will work without exception.. the LUID is algorithmically computed based on full pathname to the media OR a checksum of the media. I prefer checksum of the media, which then allows for the moving of that media (and not screwing up the checksum)
Does not need internet connection or 3rd party.
Rating 8/10

User a global UID (GUID).
Simply impractical since no 'authority' allocates a GUID to every movie / music etc
Rating 0/10

User a scraper UID (SUID)
I believe this is xexe's preferred option i.e. IMDBxxxxx. TMDBxxxxx.
I believe it's a worse solution than the Locally generated SUID since how can XBMC know that IMDB xxxxx belongs to "starwars.avi" ? It still has to look up Starwars.avi with IMDB and then ask the user which version of starwars they meant BEFORE getting the right IMDB.
Needs internet connection, and 3rd party.
Fails if the movie doesn't exist on the scraper source
Unclear how this will work across all media types (movie, music and TV)
Rating 7/10

Use the moviename as the UID (MUID)
It's easy to do, but needs additional NFO/TXT file if a user insists on duplicate movie names or there movie name cannot exist in the file system.
Does not need internet connection or 3rd party
Easy to share movie art packs with this technique
Consistent technique across all media types - Movie, Music, TV Show etc
Rating 9/10


I think the biggest flaw with the MUID, is that you need a 'fix' for duplicate movie names.
However, that fix exists, and can be avoided if the user is happy to differentiate two different movies.

The LUID option is VERY strong, it's just a nightmare for an end user to manage.

The GUID option is a non-starter

The SUID option suffers the same issues at the MUID, plus a few more. For the SUID to work, the user has to create NFO files, or rename movie/folder files AND has to manually intervene if the scraper can't resolve the movie name (i.e. it TOO needs a fix for duplicate movie names).


Comments?


- digitalhigh - 2009-06-29 23:36

Wow dude...wtf happened with this conversation? It seemed like it was only a few days ago where it appeared a consensus was within sight. Now you guys are talking about zip files and guid's and all this other stuff? Jesus...

My two cents:

No zip files. If you want to make a pack, make it, and people can just unzip it to their central folder or movie folder or whatever.

Hashing? Really? Again...why are we reinventing the wheel here? IMDB ID's are great, as there's this huge online database that everybody already has access to, and is totally universal. Use that and MOVIENAME as the unique identifier in a .nfo file (in the occurrence of multiple files with same name), and you should have something both human and machine readable.

Music .nfo files - ...why wouldn't we just make one .nfo for ALBUM, and put all the track data in that? I know we're trying to account for every possible artwork scenario, but even I wouldn't get high enough to want to make a piece of art for every song in my library.

IDK...I think this conversations seems like it's snowballing...


- Gangsta - 2009-06-29 23:57

Ive tried a few time to get it back on track with AnalogKid's original post.

I started a new topic to discuss the mediapacks, as I believe that these are waay seperate from what this topic is all about.

The thread about that is located here
http://www.xbmc.org/forum/showthread.php?t=53687

mabey a reposting of the schema with the suggestions to date so that people who are viewing the thread, but haven't read it from the start can get up to speed.


- tetsuo55 - 2009-06-30 09:43

Yeah the (G)UID / movie naming thing should also be discussed in a new thread.

Assuming the current IMDB system for the artwork standard.


- digitalhigh - 2009-06-30 13:06

Gangsta Wrote:mabey a reposting of the schema with the suggestions to date so that people who are viewing the thread, but haven't read it from the start can get up to speed.

tetsuo55 Wrote:Yeah the (G)UID / movie naming thing should also be discussed in a new thread.

Assuming the current IMDB system for the artwork standard.

I agree. Keep the focus of this conversation on what types of images there are, and how to deal with them appropriately...


- AnalogKid - 2009-06-30 14:48

Quick question for you XBOX guys using FATx...

if you have a movie with a pretty long name say: Close Encounters Of The Third Kind (1977) and it is too long to use as a filename, OR if you have some foreign movie title with strange characters...

How do you get it to be scraped correctly?

Do you
a) Manually create and NFO to contain the true movie name
b) Let the scraper/3rd party tool return the nearest matches and manually choose the correct one?
c) It just seems to work and you never have to manually choose the correct movie!


- xexe - 2009-06-30 16:53

AnalogKid Wrote:Quick question for you XBOX guys using FATx...

if you have a movie with a pretty long name say: Close Encounters Of The Third Kind (1977) and it is too long to use as a filename, OR if you have some foreign movie title with strange characters...

How do you get it to be scraped correctly?

Do you
a) Manually create and NFO to contain the true movie name
b) Let the scraper/3rd party tool return the nearest matches and manually choose the correct one?
c) It just seems to work and you never have to manually choose the correct movie!

I always without exception use movie.nfo with the imdb link in it. Thats all it contains and creates a 100% accurate library. Similarly tvshow.nfo for TV shows.

using that technique i care not in the slightest what the video or fodler is named it makes zero difference.


- AnalogKid - 2009-06-30 18:34

xexe Wrote:I always without exception use movie.nfo with the imdb link in it. Thats all it contains and creates a 100% accurate library. Similarly tvshow.nfo for TV shows.

using that technique i care not in the slightest what the video or folder is named it makes zero difference.

Cool, I'm guessing you do this by hand (searching IMDB to get the ID?) and have the bare minimum NFO of:

<movie>
--<id>ttxxxxx</id>
</movie>

Would that be correct?


- xexe - 2009-06-30 19:30

no i have personal scripts to do it since its such a simple format.

i.e its not an xml nfo its content are simply:

http://www.imdb.com/title/tt0164961/


- Gangsta - 2009-06-30 20:22

I only use XBOXs for my viewing (well I have a windows XBMC box but its too slow for video - i use it for testing stuff)

Anyway I have never copied any media onto the xbox, as im a mediaportal convert and already had several TBs of media, and run everything through SMB shares from an NTFS drive.

I tend to use MIP and MediaCompanion for scraping, but it pisses me off, i'll need to try your imdb id way of doing things. I really dont like the layout of MIP. I like mediacompanion but its always crashing. Roll on UMM Smile

I take it that somepeople actually load up their xbox with media?? Its something I have never even considered.


- AnalogKid - 2009-06-30 21:03

Gangsta Wrote:I only use XBOXs for my viewing (well I have a windows XBMC box but its too slow for video - i use it for testing stuff)

Anyway I have never copied any media onto the xbox, as im a mediaportal convert and already had several TBs of media, and run everything through SMB shares from an NTFS drive.

I tend to use MIP and MediaCompanion for scraping, but it pisses me off, i'll need to try your imdb id way of doing things. I really dont like the layout of MIP. I like mediacompanion but its always crashing. Roll on UMM Smile

I take it that somepeople actually load up their xbox with media?? Its something I have never even considered.

Try ember media manager, or just use the inbuilt scraping features of XBMC then 'export' your library... once done, you need never do it again!

I'm only asking about XBMC cos the the fatx file system and filename limitations.... I'm going to upload the spec again for DigitalHigh's benefit and look at how we can use the NFO to specify the <moviename> element IF the user wants to. Then the user can use IMDB if they so please, or any damn scheme they like. But if an NFO doesn't exist, it has to be movie name.

I just need to find a way for this to be very easy for newbies to understand, if it's too complicated they will never do it!


- tetsuo55 - 2009-06-30 21:14

AnalogKid Wrote:Quick question for you XBOX guys using FATx...

if you have a movie with a pretty long name say: Close Encounters Of The Third Kind (1977) and it is too long to use as a filename, OR if you have some foreign movie title with strange characters...

How do you get it to be scraped correctly?

Do you
a) Manually create and NFO to contain the true movie name
b) Let the scraper/3rd party tool return the nearest matches and manually choose the correct one?
c) It just seems to work and you never have to manually choose the correct movie!
I have this problem, the xbox does not support chinese characters in the file system, so i have to rename everything to english names, and add artwork manually.

For example a series that is named in chinese "the truth of the heart" i would simply rename to truth1.avi, truth2.avi and add a folder.jpg


- xexe - 2009-07-01 01:03

AnalogKid Wrote:Try ember media manager, or just use the inbuilt scraping features of XBMC then 'export' your library... once done, you need never do it again!

I'm only asking about XBMC cos the the fatx file system and filename limitations.... I'm going to upload the spec again for DigitalHigh's benefit and look at how we can use the NFO to specify the <moviename> element IF the user wants to. Then the user can use IMDB if they so please, or any damn scheme they like. But if an NFO doesn't exist, it has to be movie name.

I just need to find a way for this to be very easy for newbies to understand, if it's too complicated they will never do it!

I do alot of library help and regex help on IRC.

I can say for sure the absolute simplest way to explain to n00bs who lets face it have no motivation to actually learn (or they would have read the wiki) is:

Create a folder.
Put one movie in it.
Place a text file called movie.nfo in this folder that contains just an imdb link to the movie.

It cannot get simpler than this and it is working naively with XBMC and is cross platform. Media manager only help windows users and IMHO are not really necessary for most of the things people use them for. I have a library to rival anyone here and I use solely this method with 100% accuracy.

I can also say for sure explaining REGEX stacking is almost an impossibility to this same user group. To this end thats why I suggested long ago one movie per folder just as the current folder.jpg works. One pile file users need to bend to our will not the other way around. Its just lazyness Smile