Artwork: Difference between revisions

From Official Kodi Wiki
Jump to navigation Jump to search
>UNiversal
(typos and a little cleanup still need a screenshot in this page... its missing and only shows 360px on page.)
(Overhaul)
(127 intermediate revisions by 11 users not shown)
Line 1: Line 1:
{{Notice|Most of the naming conventions mentioned on this page have changed for XBMC v12 (Frodo), but haven't been updated yet. For a quick list see '''[[Frodo FAQ#Local images]]'''}}<br />
{{Artwork_Contents}}
{{mininav|[[Music_library|Music Library]] {{l2|[[Video_library|Video Library]]}} }}


{{cleanup}}
<section begin="intro" />The use of artwork will transform your mundane media player into a showpiece to be proud of, especially when teamed up with your favourite skin. Kodi  will allow you to display Movie Posters, Fanart, Album Covers, Actor and Artist images to name a few. Install the Kodi slideshow add-on, and you will have a constant display of video or music fanart to brighten your entertainment room.<section end="intro" />


An impressive feature of XBMC is its ability to display custom thumbnails (also known as an "icon") on most items displayed. You can assign thumbnails to folders, programs, music, videos, bookmarks, and of course pictures. You can choose to let XBMC automatically download thumbnails for music-albums and video/movies from the internet or you can create your very own custom thumbnails, (or you can download custom thumbnails that others have created).
'''{{red|The {{kodi}} scrapers automatically download artwork with little input required by the user. These pages are for those users that want greater control over their artwork by saving artwork locally or creating their own.}}'''


When talking about movies the terms "Cover Art", "Posters" (term used on TheTVDB.org) and "Folder Image" are all used to refer to the SAME thing we are talking about here. In the XBMC world Thumbnail is the generic term that encompasses all of those things, so don't get confused.
As the topic covering artwork is comprehensive, it has been broken down into smaller and more manageable pages for ease of reading. Make use of the Table of Contents and the NavBox located at the top right of the page. Information common to all categories is located on this page and the Artwork Type page.  


Also note that despite what the term Thumbnail implies, thumbnails in XBMC are NOT necessarily small images in terms of resolution or size on disk. A Thumbnail in XBMC can be a 800 x 1200 pixel image with a file size of over 300 Kilobytes for example, but typically thumbnails are restricted to smaller sizes than that due to performance concerns.<br />
'''Be aware that artwork is skin dependent. Not all artwork types are used in all skins.'''




== Custom Thumbnails ==
You can easily create your very own user-defined thumbnails on your computer with image tools like Adobe Photoshop or Paint Shop Pro (or even Paint in Windows). You can alternatively download thumbnails that others have created on the internet. Then you simply have to rename those thumbnails and transfer/copy them to the right location and XBMC will display them. Use JPG or PNG (with transparency) image-format, and size of the picture to anything from 128x128 to 256x256 in pixel size, (the larger the image is the better it will look on a good display but at the same time large thumbnails loads slower). On a non-HDTV displays a image that is approx 100x140 is recommended for video/movies thumbnails (which is the size that is most common on [[IMDb (Video Library)|IMDb]]), and approx 75x75 for music-albums (which is the default size on [http://www.allmusic.com allmusic.com]). For 720p/1080i HDTV displays a size of approx 182x256 for video/movies thumbnails, and approx 200x200 for music-albums (such music-albums can be found on [http://www.allmusic.com allmusic.com]).


==== Thumbnail Cache ====
= Obtaining Artwork =
:''see also:'' '''[[ThumbnailCache]]''' for a thorough description of the '''thumbnail cache'''<br />
Movie, TV Show and Music artwork can be obtained using a variety of methods. The most common method is via the Kodi scraper.


XBMC will cache all thumbnails to [[userdata]]\Thumbnails\ using the '''CRC''' of the path of the file or folder as a filename. That is the first location XBMC will generally look for a thumbnail for a given item.<br />


In order for your custom thumbnail to show, you may have to delete the cached thumbnail.
== Scrapers ==
The default sources for information and artwork that are used by the scrapers are:


When thumbnails are cached they may be scaled down from the source image. How much they are scaled down depends on a setting that you can control using the [http://wiki.xbmc.org/index.php?title=Userdata/advancedsettings.xml#.3Cthumbsize.3E <thumbsize>] tag in [http://wiki.xbmc.org/index.php?title=Userdata/advancedsettings.xml advancedsettings.xml].
Movies- [https://www.themoviedb.org/ The MovieDB]<br />
TV Shows- [https://www.themoviedb.org/ The MovieDB]<br />
Music- [http://www.theaudiodb.com/ The AudioDB]<br />
General- [https://fanart.tv/ Fanart.tv]<br />


If you are running XBMC on a very high resolution display and you have Movie cover art, for example, that is displayed as a very large image onscreen with the skin and layout that you are using, then you may want to adjust that [http://wiki.xbmc.org/index.php?title=Userdata/advancedsettings.xml#.3Cthumbsize.3E <thumbsize>] tag to increase the display quality of your thumbnails.  
Artwork from these sites can be downloaded manually by visiting and searching the sites and saving the artwork locally as described on the linked pages.


Be aware, however, that increasing the size of cached thumbnails obviously carries an implied disk space usage, and possible XBMC performance penalty, with it.


== Wide Icons ==
{|
|[[File:Library.videos.tvshowwide.WSCR.jpg|450px]]
| valign="top" |
Some of the most visually appealing forms of thumbnails are Wide Banner Icons. They were added in XBMC on the 1st. of January 2007 and are now an integral part of the application. With different adjustments to the skin xml files, you may disable title names, or stack one icon on top of another.<br />
To show big Icons, switch to one of the new [[General Navigation#View|views]], Big Wide or Wide Icons.


'''Remember View''': XBMC Will now remember what view you have for each folder. (Thus you can keep your TV Shows in Wide, and your Movies in Icon)<br />
== Media Managers ==
* [[Wide Banner Icons|Sources for Wide Icons]]
There is a range of software that can create nfo files and download artwork and save them to the correct location and correct naming. They perform the same process and function as the Kodi Scraping operation does natively, but they do not add any entries into the Kodi library. Instead they create what is known as '''[[NFO_files|NFO files]]'''. This file holds all the metadata for that particular movie, tv show or music. The software will also download associated artwork from the scraper site. Kodi can then read this file and scrape it into the library along with the artwork.
|}


== Thumbnails for individual items in a single directory ==
Although these programs are quick and easy to use, they are more suited for use where a movie or tv show is not listed at the scraper site. You are then able to create the metadata from scratch. You would normally use this for, say, home movies, sporting events or other items that are not listed at the scraper site.  
Name the icon file the same as the file you would like it to display for with a .tbn extension ie: ''Transformers.avi, Transformers.tbn''. This is particularly useful for using custom thumbnails for movies.


'''Example:'''
It is always best to use Kodi for the normal mainstream scrapes and the Media Managers for the non-listed movie, tv show and music scrapes.
Movies\path\'''moviename.avi'''
; {{see also|NFO_files}}
Movies\path\'''moviename.tbn'''


== Folder Thumbnails ==
{|
| valign="top" |
If you store each of your media files in separate subfolders to keep things organized, you can also make the folder have a custom thumbnail image. To do this you either need to save your JPG/PNG thumbnail as folder.jpg and place it inside your movie/album folder, or you can save it as <foldername>.tbn and place it at the same level as the folder in the directory tree.
* Remember, XBMC first checks for <foldername>.tbn before checking for folder.jpg.
* Some documentation suggests that folder.tbn can be used. In general folder.jpg is superior as it is detected during a scan i.e. XBMC will correctly use folder.jpg but not folder.tbn.
* Note that folder.jpg '''MUST''' be named .jpg, even if it is a .png format image.
* You CAN force XBMC to look for folder image (Cover Art) files with different file names to "folder.jpg" (eg. cover.jpg, poster.jpg) by setting the [http://wiki.xbmc.org/index.php?title=Userdata/advancedsettings.xml#.3Cdvdthumbs.3E <dvdthumbs>] tag in the [http://wiki.xbmc.org/index.php?title=Userdata/advancedsettings.xml advancedsettings.xml] file.


<br />
== Web Search ==
'''Examples:'''
Using an online search engine can help you discover individual artworks, or additional sites where artwork is hosted. When downloading, check that the resolution is of an acceptable standard. Also pay respect to any copyright notices that are attached to the artwork.
Movies\path\'''foldername'''\
Movies\path\'''foldername.tbn'''
or
Movies\path\moviename\'''folder.jpg'''
Music\path\album\'''folder.jpg'''


Now your media folder will have a lovely custom thumbnail-image.
Once downloaded, they must be named and saved correctly for the artwork to be visible to Kodi.


You can via [[advancedsettings.xml]] change the default filename of the image that XBMC uses for music folders.  See the [[advancedsettings.xml#<musicthumbs>|<musicthumbs>]] tag. for more information.
|
[[File:Files.myvideos.jpg|right|450px]]
|}


== Program Thumbnails ==
== Create Your Own ==
In order to display the image displayed for a game, emulator or application, simply rename the desired image '''default.tbn''' and place it in the folder where the corresponding default.XBE is located.
{{main|Artwork/Types}}
So you are not happy with the artwork the scraper downloaded? And you just can't find that perfect artwork by manually searching the internet. Then, you will just have to create your own. For those who are artistically minded and can easily navigate around image editing software, then you should be able to easily create your very own user-defined artwork on your computer.  Only your imagination is the limit, but be mindful that the artwork needs to remain true to the movie or tv show it represents.  


== Music Thumbnails ==
If you are unsure where to start, the following links may prove useful. Especially if you plan to share your masterpieces. If this is the case, it is best to stick to the posted guidelines.
Music Thumbnails are assigned as part of a multi-tier process. First, the Tag Reader runs and caches any embedded art using the album name and album artist (or song artist, if that is all that is available). If the album name or artist is unavailable, it is cached using the path name of the song. This assumes, of course, that you have tag reading enabled.<br />
*Fanart.TV- The premier repository for all things artwork. They have an in-depth guide for artwork requirements
You can also use "Get Thumb" to download the album thumbnail from [http://www.allmusic.com allmusic.com (AMG)] for a specific album/folder or do a scan of all your music files in all shares.<br />
:;''see : [https://fanart.tv/movie-fanart/<nowiki>Fanart.tv- Image Creation Guide</nowiki>]''
Thumbnails also get downloaded when you rip AudioCD's to your XBMC device (which is described in the [[Ripping CDs]] section).<br />
*The MovieDB- The go to movie scraper site for Kodi. In addition to metadata, they also hold a large repository of artwork that are created and uploaded to the site by people just like you. Read their easy to understand artwork creation guide.
Recommended is that you store each of your music-albums or artists in a separate subfolder to keep things organized. You can also of course make the folder have a custom thumbnail image.<br />
:; ''see : [https://www.themoviedb.org/bible/image/59f7583e9251416e7100006e#59f758409251416e7100006f themoviedb- Image Creation Guide]''
<br />
*The TVDB- The go to TV Show scraper site for Kodi. In addition to metadata, they also hold a large repository of artwork devoted to TV Shows. Read their easy to understand artwork creation guide.
{|
:; ''see : [http://www.thetvdb.com/wiki/index.php/Category:Images<nowiki>theTVDB- Image Creation Guide</nowiki>]''
|
*IMDB- A comprehensive listing of ensuring artwork is appropriate and suitable.
[[File:mymusic.jpg|right|360px]]
:; ''see : [https://contribute.imdb.com/updates/guide/images<nowiki>IMDB- Image Submission Guide</nowiki>]''
| valign="top" |
*TheAudioDB- The go to scraper site for all things music. They hold metadata on Artists, Albums and Songs with a large collection of music artwork.
:'''Notes:''' Running a scan automatically enables 'tag reading' so everything can be cached. Once a scan is run, all your files and their associated thumbnails are stored in the database.
:; ''see : [http://theaudiodb.com/forum/viewtopic.php?f=2&t=1<nowiki>TheAudioDB- Image Creation Guide</nowiki>]''
:The Album Information dialog (available from the context menu) will allow you to choose between the cover art available for download from [http://www.allmusic.com allmusic.com] and any user-defined thumbnail you may have.
:Press the "Get Thumb" button to bring up a choice of the local thumbnails you have, the currently assigned thumbnail and the [http://www.allmusic.com allmusic.com] thumbnail.<br />
|}
'''The code which assigns thumbnails to files runs and assigns thumbnails in the following order:'''


;1) Cached Album Thumbnail
:This is all the embedded album art read by the tag reader and cached using the album name and album artist.
;2) Cached filename.tbn
:This includes an embedded thumbnail cached with the fully qualified name.
;3) Remote filename.tbn
:This is a filename.tbn on a remote share/folder which is then cached.
;4) Cached folder.jpg
:This is a folder.jpg which is cached based off the folder path.
;5) Remote folder.jpg
:This is a folder.jpg on a remote share/folder which is then cached.
;6) Remote foldername.tbn
:This is a foldername.tbn on a remote share/folder which is then cached.<br /><br />


'''Examples:'''


In this example audiofilename.mp3 will use audiofilename.tbn as thumbnail:
= Importing-Scanning Artwork =
Music\path\'''audiofilename.mp3'''
{{anchor|Importing-Scraping Artwork}}
Music\path\'''audiofilename.tbn'''


The same goes for playlists, cue-sheets, SHOUTcast, and [[HOW-TO: Play Internet Streams|internet-stream files]], example:
'''This section does not apply to the Kodi scraper or any other add-on scraping process. It only applies to artwork you have manually sourced and saved.'''
Music\path\'''audioplaylistname.m3u'''
Music\path\'''audioplaylistname.tbn'''
Music\path\'''cuelistname.cue'''
Music\path\'''cuelistname.mp3'''
Music\path\'''cuelistname.tbn'''
Music\path\'''shoutcastlinkname.pls'''
Music\path\'''shoutcastlinkname.tbn'''
Music\path\'''audiostreamname.strm'''
Music\path\'''audiostreamname.tbn'''


== Video Thumbnails ==
'''When performing an Update Library {{kodi}} will always use local artwork first. If there is no local artwork, {{kodi}} will obtain the artwork from online sources.'''
You can either use your own custom thumbnails or XBMC can retrieve video thumbnails from the internet via [[How To use Scrapers|scrapers]] and cache them locally.<br />
'''XBMC applies thumbnails to video files in the following order:'''
{|
| valign="top" |
;1) Cached Thumbnail
Thumbnails are cached to UserData\Thumbnails\Video using the CRC of the path of the file or folder.
<br />
;2) User-Defined Thumbnail<br />
'''For files:'''  


If movie.tbn is in the same folder it will override any other thumbnail and will be used as the thumbnail for all movie files in that folder.
'''It is important to note that once a movie, tv show, artist or album has been scraped into the library, Kodi will ignore them on subsequent scans.''' If you have made changes to either artwork and/or metadata (in the form of a nfo file), you must instruct Kodi to update using one of the following methods...
#If the Library has not yet been created, or the source has not yet been added
#*Ensure your artwork is named and saved correctly. Add the [[Media sources]] to Kodi and allow to update. Artwork will be cached
#This Movie/TV Show/Album/Artist is new and has not been added to the library yet
#*An Update Library will scrape and cache the artwork, or
#*For Videos, navigate Videos>Files, navigate to the item and call up the Information page. This will start an automatic scrape for that single item
#*For Music, navigate Music>Files, locate and highlight the new artist or album. From the context menu select ''Scan item to library''
#I added new artwork for Movie/TV Show/Album/Artist already in the library
#*For videos follow instructions for ''Kodi- Choose Art'' below
#*For music follow instructions in ''Kodi- Choose Art'' below
#I added new artwork for a lot of Movies/TV Shows/Music already in the library
#*Update each Movie/TV Show/Music manually using instructions in the previous option, or
#*Remove the Source and clean library. Re-add the source and allow the Update Library
:'''''See also: [[Updating_or_removing_videos|Update Video Library]]'''''
:'''''See also: [[Update_Music_Library#Scan_Library|Update Music Library]]'''''


IF movie.tbn is NOT present than XBMC checks for <filename>.tbn and uses that if it exists.


The thumbnail is cached the first time it is read.<br />
== "Available" artwork ==
Scrapers and NFO files can include multiple images for a single type of artwork. The first image will be assigned to the media item for skins and other interfaces to access for display, and the full list will be saved for the "Choose art" dialog, where you can select a new image for any art type.


'''For folders:'''


XBMC first checks for <foldername>.tbn in the parent folder of the movie folder being processed.
== Kodi- Choose Art ==
From within Kodi, you have the ability to manually change the artwork at any time by following these directions.  


If no <foldername>.tbn exists in the parent folder XBMC then checks inside the movie folder for folder.jpg (by default) or any other thumbnail source file names you've specified in the [http://wiki.xbmc.org/index.php?title=Userdata/advancedsettings.xml#.3Cdvdthumbs.3E <dvdthumbs>] tag in [http://wiki.xbmc.org/index.php?title=Userdata/advancedsettings.xml advancedsettings.xml].
'''Note: '''The following is based on the Video Library. Music Library follows the same process, but the screenshots will be slightly different for Choose Art- Artists and Choose Art- Albums


Whatever is found first is used as the thumbnail and cached on first read.
#Highlight the media item whose artwork you want to change.
#Call up the ''Information'' page, (Image 1)
#* For seasons and movie sets the "Choose Art" option is in the [[Context menu]].
#Select ''Choose Art''. (Image 1)
#From within this page, you will be given the option to select which type of artwork you would like to change. (Image 2)
#* If the type of artwork you would like to change is not listed, use the '''Add art type''' button to add it. An onscreen keyboard will be displayed. Enter the new type of artwork and select '''Ok'''.
#* Examples of artwork type are those listed in the following pages- eg clearlogo, clearart, banner etc...
#Once selected, you will then be provided with a list of available artwork at the scraper site, or you can navigate to a local or network location. (Image 3)
#Once you select the desired image, it will replace the existing image. You will be returned to the screen displayed in Image 2
#If you do not intend to change any other artwork types, simply Esc or Back out of the screen


'''For TV series specifically:'''
<gallery widths=350px heights=200px>
File:Artwork-ChooseArt03.jpg|Image 1- Choose Art on the Information Page
File:Artwork-ChooseArt01.jpg|Image 2- Select which type of artwork to change
File:Artwork-ChooseArt02.jpg|Image 3- List of available remote artworks from the scraper site, as well as the ability to ''Browse'' local and network sources
File:Artwork-ChooseArt04.jpg|Image 4- Using the Refresh Method
</gallery>
An alternative method for Music and Video library:
#Choose ''Refresh'' as seen in Image 1.
#You will then be asked ''Locally stored information found. Ignore and refresh from Internet?'' (Image 4)
#*To scrape local artwork and metadata - Select '''No''' note- If you have no local nfo file, Kodi will scrape metadata from the online scraper site
#*To scrape online artwork and metadata - Select '''Yes'''


The thumbnail image can be either a Poster type image OR a Banner type image. A Poster is longer than it is wide in aspect and a Banner is much wider than it is long in aspect.


The same rules apply regarding file naming conventions and by default XBMC will look for folder.jpg for BOTH Posters AND Banners despite the fact that the naming convention might seem
counter intuitive in the case of Banners.


Again, you can use the <dvdthumbs> element in advancedsettings.xml to override the default thumbnail file name that XBMC looks for to make things more meaningful for TV series. If, for example, you
= Add-ons to display artwork =
prefer to use Banners you would probably want to set the <dvdthumbs> element in advancedsettings.xml to remove folder.jpg from the search filter and add banner.jpg to the search filter as follows:
The following add-ons allow you to display your movie, TV show and music artwork.


  <dvdthumbs>
    <remove>folder.jpg|Folder.jpg|folder.JPG|Folder.JPG</remove>
    <add>banner.jpg|Banner.jpg|banner.JPG|Banner.JPG|cover.jpg|Cover.jpg|cover.JPG|Cover.JPG</add>
  </dvdthumbs>


The above example will make XBMC ignore all variants of folder.jpg when searching for thumbnails but recognise multiple variants of banner.jpg and cover.jpg and import those instead.
== Screensavers ==
Want to do more with all that wonderful fanart? Install this Kodi screensaver. Just like a screensaver on computers from yesteryear, the Kodi screensaver will produce a slideshow of your Movie and TV Show fanart, or set it to display your Music Fanart. Don't like either of those? Then setup a directory with your own pictures and it can produce a screensaver from your selection of photos.
; {{see also|Add-on:Picture Slideshow Screensaver}}


{{highlight|'''NOTE for TV series:'''|bordered=yes|color=#BEF781}}


There is a special case with TV Series where, if you choose to use Banners as your primary thumbnails, you also need Posters in some areas of the UI depending on which skin you are using.


The Aeon Nox skin, which is extremely popular, has a very nice View mode called BannerPlex for example. If you are using that View as your TV Series View, your primary thumbnails for your TV series will
= Managing Artwork =
be Banners BUT there are still places where you need to supply a Poster, like the "TV show information" screen that is accessible from the context menu for a Series. In that screen you need a Poster image for the big area on the left that takes up a third of the screen. By default the Banner thumbnail that XBMC imported will be stretched vertically to fill that area and it looks horrible.
There are a number of ways to maintain and improve Kodi's handling of the artwork.  


The problem is that by default XBMC will only import ONE thumbnail image of one type (Banner or Poster).


Fortunately there is a special exception to this rule for TV Series where XBMC will also recognise and import a file called poster.jpg over and above the default thumbnail image.
== Cache ==
{{#lst:Artwork/Cache|intro}}
; {{see also|Artwork/Cache}}


For this reason you should NEVER name your primary thumbnail images poster.jpg and you should NEVER modify the <dvdthumbs> element in advancedsettings.xml to make it search for variants of poster.jpg.


Effectively, you should consider the file name poster.jpg to be a reserved file name in XBMC that is used specifically to solve the Banner / Poster combo issue as described further below.
== Recovering Disk Space ==
After years of use, it is expected that your system will gather some clutter- that being either orphaned artwork files or corrupted artwork which will not display.  
; {{see also|HOW-TO:Reduce disk space usage}}
; {{see also|Artwork/Cache}}


To solve this problem, certain skins, like Aeon Nox, typically provide an option in the settings for the View itself that allows you to explicitly stipulate that a poster.jpg file should be used for those areas where a Poster type image is applicable.


In Aeon Nox, the setting is on the slide out menu on the left of the screen when you are viewing your series. If you have the BannerPlex view activated and you slide out that menu, then go to
=== Texture Cache Maintenance ===
"Viewtype settings", then look under "GENERAL OPTIONS", you will find an option labelled "Use 'poster.jpg' for poster style viewtypes". If you turn that on, then any poster.jpg that you have in your folders
{{#lst:Texture_Cache_Maintenance_utility|intro}}
when you import your media from disk will be used where a poster type image is appropriate.
; {{see also|Texture Cache Maintenance utility}}


Note however, that regardless of any settings, poster.jpg will NOT be used as the All Seasons image. For that you MUST provide an all-seasons.tbn file. A quick workaround to this problem is to copy an existing poster.jpg file and rename it to all-seasons.tbn. That will actually work and import fine.


== Import/Export ==
{{#lst:import-export_library|intro}}
; {{see also|Import-export library}}




|
[[File:Files.videos.thumbnails.WSCR.jpg|right|480px]]
|}


==== Examples for User-Defined Video Thumbnails ====
= Accessing with skins and JSON-RPC =
;Single Video File
{{#lst:Artwork/Accessing with skins and JSON-RPC|intro}}
The following example "videofilename.avi" will now use the thumbnail "videofilename.tbn".
; {{see also|Artwork/Accessing with skins and JSON-RPC}}
Movies\path\'''videofilename.tbn'''
Movies\path\'''videofilename.avi'''


;Multi Part (Stacked) Video Files
You can either use the filename of the first file in the stack or the name of the stack, so for:
Movies\path\'''moviename-CD1.avi'''
Movies\path\'''moviename-CD2.avi'''
Either of the below would work:
Movies\path\'''moviename-CD1.tbn'''
Movies\path\'''moviename.tbn'''


;Movie
If [[Set Content (Video Library)|content]] has been set to Movies, movie.tbn will override any other thumbs for media in that folder. In he following example "videofilename.avi" will now use the thumbnail "movie.tbn".
Movies\path\'''movie.tbn'''
Movies\path\'''videofilename.avi'''


;TV Shows
= Troubleshooting =
TV\showfolder\'''folder.jpg'''
There are certain scenarios where attempting to replace existing artwork with new artwork, '''you may experience {{kodi}} refusing to load the new artwork'''. This occurs when replacing one artwork with another artwork having the same name. eg replacing ''poster.jpg'' with a new ''poster.jpg''.


or
Rest assured that the new image has been accepted, but due to the same filename, {{kodi}} may take upto 24 hrs to check the image hash, realise the image is different and clear out the cached image and replace it with the new one. This is intended behaviour. Further reading available in the following link


TV\showfolder\'''banner.jpg''' ( See [http://wiki.xbmc.org/index.php?title=Userdata/advancedsettings.xml#.3Cdvdthumbs.3E <dvdthumbs>] in [http://wiki.xbmc.org/index.php?title=Userdata/advancedsettings.xml advancedsettings.xml] )
; {{see also|Artwork/Cache}}


;TV Show Season Thumbnails
In the following example, the thumbnail will be used for the appropriate season in the [[Video Library]] season node. Where xx is 01, 02 etc.
TV\showfolder\'''seasonxx.tbn'''


;TV Show Specials
TV\showfolder\'''season-specials.tbn'''


;For the all seasons item:
= See Also =
TV\showfolder\'''season-all.tbn'''
*[[HOW-TO:Create Music Library]]<br>
*[[HOW-TO:Create Video Library]]<br><br>
*[[Add-on:The Movie Database]]<br>
*[[Add-on:Universal Album Scraper]]<br>
*[[Add-on:Universal Artist Scraper]]


;Fanart
Movies\path\'''fanart.jpg'''
TV\showfolder\'''fanart.jpg'''


;[[Extra_fanart|Extra Fanart Page]]


Movies\path\'''extrafanart\fanart1.jpg'''
TV\showfolder\'''extrafanart\fanart1.jpg'''


The concept of extra fanart exists in XBMC for some skins whereby you can have more than one fanart image for a movie or TV show.
{{Top}}
If you have more than one fanart image any fanart image after the main one (fanart.jpg) must be named using sequential numbering.


e.g. fanart1.jpg, fanart2.jpg and so on.
{{updated|18}}
 
[[Category:FAQ]]
Extra fanart must be put into a sub-folder of the movie or TV show folder called '''extrafanart'''.
[[Category:Index]]
 
[[Category:Guides]]
For those skins that support extra fanart you must turn on the "Enable Extrafanart" option and then you will see the different fanart images display as a repeating slideshow with a 10 second delay between each image.
[[Category:Manual]]
 
[[Category:Karellen]]
;Playlist and [[HOW-TO: Play Internet Streams|internet-stream file]] examples
[[Category:Video library]]
Playlists\path\'''videoplaylistname.pls'''
[[Category:Music library]]
Playlists\path\'''videoplaylistname.tbn'''
[[Category:Advanced topics]]
Streams\path\'''videostreamname.strm'''
[[Category:First time user]]
Streams\path\'''videostreamname.tbn'''
[[Category:Quick Start Guide]]
 
;Actor thumbnails
You can add actor thumbnails to any movie or TV show by adding an '.actors' folder in the corresponding movie / TV show / Episode directory. You may need to use the command line to create this directory in Windows.<br />
The folder can then contain actor images using the following naming convention:<br />
Videos\path\.actors\'''actor_name.tbn''' (spaces replaced with underscores)
 
== Picture Thumbnails ==
'''XBMC applies thumbnails to picture files in the following order:'''
 
;1) Cached Thumbnail
:Thumbnails are cached to UserData\Thumbnails\Pictures using the CRC of the path of the file or folder.
 
;2) Images
:EXIF thumbnail in JPEG images are then read. If no EXIF thumbnail is available, XBMC will load the image and generate a thumbnail from the image. These are then cached.
 
;3) Folders
:<MyHolidayPictures>\folder.jpg is checked first. If that file doesn't exist, XBMC will generate a thumbnail from up to 4 random images inside that folder.
 
== Thumbnails for Sources ==
You can change the thumbnail displayed for a source by editing '''UserData\sources.xml'''.<br />
'''Note:''' Source thumbnails have to be in a folder on the local XBMC device harddrive!
 
Simply modify your source as shown:
 
<pre><nowiki>
<source>
  <name>Music</name>
  <path>xbms://192.168.1.100:1400/Music/</path>
  <thumbnail>F:\Apps\XBMC\thumbs\shares\thumb.png</thumbnail>
</source>
</nowiki></pre>
 
== Auto switch to icon Mode ==
XBMC tries to automatically switch to ''Large Icon'' [[General Navigation#View|view]] when the ''View Mode'' is set to ''Auto'' in the [[Settings]]. It first checks if the skin has ''Large Icon'' view, failing that switches to ''Icon'' view. If neither is available it goes for ''List View''.<br />
'''The rules are as follows:'''
 
==== [[Programs Settings#Files|Programs]] ====
Auto switches to Icon view when 50% of all the items (files and folder) have thumbs.
 
==== [[Pictures Settings#General|Pictures]] ====
Auto switches to Thumbs view when the list contains more than 25% files. (In the case of Pictures, all items have thumbs as they are generated upon entering the folder.)
 
==== [[Videos Settings#General|Videos]] ====
Auto switches to Thumb view when 50% of all the items (files and folder) have thumbs.
 
==== [[Music Settings#Files|Music]] ====
Auto switches to Thumb view when the list contains at least 75% folders and at least 50% of them have thumbs. (Remember that playlist files like m3u, pls, etc, are treated as folders by default)
 
== Hashing ==
The thumbnail .tbn file is created via a hashing function. As explained earlier, the hash is based off the CRC32 of the pathname (plus filename) in lowercase. Files which are local are hashed using their drive letter. Remote files are hashed using the <code>smb://</code> protocol designation and optional username and password.
 
=== Examples ===
* '''<code>123456789</code>''' returns '''<code>0376e6e7</code>'''
* '''<code>F:\Videos\Nosferatu.avi</code>''' returns '''<code>2a6ec78d</code>'''
* '''<code>smb://user:pass@server/share/directory/</code>''' returns '''<code>c5559f13</code>'''
* '''<code>smb://user:pass@server/share/directory/file.ext</code>''' returns '''<code>8ce36055</code>'''
 
{{highlight|'''Remember:'''|bordered=yes|color=#BEF781}}
* When hashing remote shares, use the path as displayed in the <code>sources.xml</code> file, which can include the ''username'' and ''password''.
* When hashing directories for thumbnails, include the final slash.
 
=== Sample code ===
The following code snippets produce the same output as the XBMC hashing function.
==== C# ====
public string Hash(string input)
{
    char[] chars = input.ToCharArray();
    for (int index = 0; index < chars.Length; index++)
    {
        if (chars[index] <= 127)
        {
          chars[index] = System.Char.ToLowerInvariant(chars[index]);
        }
    }
    input = new string(chars);
    uint m_crc = 0xffffffff;
    byte[] bytes = System.Text.Encoding.UTF8.GetBytes(input);
    foreach (byte myByte in bytes)
    {
        m_crc ^= ((uint)(myByte) << 24);
        for (int i = 0; i < 8; i++)
        {
            if ((System.Convert.ToUInt32(m_crc) & 0x80000000) == 0x80000000)
            {
                m_crc = (m_crc << 1) ^ 0x04C11DB7;
            }
            else
            {
                m_crc <<= 1;
            }
        }
    }
    return String.Format("{0:x8}", m_crc);
}
 
==== Python ====
Code provided by [http://forum.xbmc.org/member.php?u=117767 baderj].
def get_crc32( string ):
    string = string.lower()       
    bytes = bytearray(string.encode())
    crc = 0xffffffff;
    for b in bytes:
        crc = crc ^ (b << 24)         
        for i in range(8):
            if (crc & 0x80000000 ):               
                crc = (crc << 1) ^ 0x04C11DB7               
            else:
                crc = crc << 1;                       
        crc = crc & 0xFFFFFFFF
       
    return '%08x' % crc
 
==== Perl ====
Code provided by [http://forum.xbmc.org/member.php?u=117767 baderj].
sub get_crc32 {
    my $string = shift;
    my @bytes = unpack 'C*', $string;
    my $crc = 0xffffffff;
    for my $b (@bytes) {       
        $crc = $crc ^ ($b << 24);       
        for(my $i = 0; $i < 8; $i++) {
            if ($crc & 0x80000000 ) {               
                $crc = ($crc << 1) ^ 0x04C11DB7;               
            } else {
                $crc = $crc << 1;
            }           
        }       
        $crc = $crc & 0xFFFFFFFF;       
    }
    return sprintf('%08x', $crc);
}
==== PHP ====
Code provided by [http://forum.xbmc.org/member.php?u=59588 tamplan] and [http://forum.xbmc.org/member.php?u=104085 narfight].
  private function _get_hash($file_path)
{
    $chars = strtolower($file_path);
    $crc = 0xffffffff;
    for ($ptr = 0; $ptr < strlen($chars); $ptr++)
    {
      $chr = ord($chars[$ptr]);
      $crc ^= $chr << 24;
      for ((int) $i = 0; $i < 8; $i++)
      {
          if ($crc & 0x80000000)
          {
            $crc = ($crc << 1) ^ 0x04C11DB7;
          }
          else
          {
            $crc <<= 1;
          }
      }
    }
    // Système d'exploitation en 64 bits ?
    if (strpos(php_uname('m'), '_64') !== false)
    {
      //Formatting the output in a 8 character hex
      if ($crc>=0)
      {
          $hash = sprintf("%16s",sprintf("%x",sprintf("%u",$crc)));
      }
      else
      {
          $source = sprintf('%b', $crc);
          $hash = "";
          while ($source <> "")
          {
            $digit = substr($source, -4);
            $hash = dechex(bindec($digit)) . $hash;
            $source = substr($source, 0, -4);
          }
      }
      $hash = substr($hash, 8);
    }
    else
    {
      //Formatting the output in a 8 character hex
      if ($crc>=0)
      {
          $hash = sprintf("%08s",sprintf("%x",sprintf("%u",$crc)));
      }
      else
      {
          $source = sprintf('%b', $crc);
          $hash = "";
          while ($source <> "")
          {
            $digit = substr($source, -4);
            $hash = dechex(bindec($digit)) . $hash;
            $source = substr($source, 0, -4);
          }
      }
    }
    return $hash;
}
 
==== Javascript ====
Code provided by [http://forum.xbmc.org/member.php?u=48334 Fiasco] and [http://forum.xbmc.org/member.php?u=117767 baderj].
Number.prototype.unsign = function(bytes) {
    return this >= 0 ? this : Math.pow(256, bytes || 4) + this;
};
function FindCRC(data) {
    var CRC = 0xffffffff;
    data = data.toLowerCase();
    for ( var j = 0; j < data.length; j++) {
      var c = data.charCodeAt(j);
      CRC ^= c << 24;
      for ( var i = 0; i < 8; i++) {
          if (CRC.unsign(8) & 0x80000000) {
            CRC = (CRC << 1) ^ 0x04C11DB7;
          } else {
            CRC <<= 1;
          }
      }
    }
    if (CRC < 0)
      CRC = CRC >>> 0;
    var CRC_str = CRC.toString(16);
    while (CRC_str.length < 8) {
      CRC_str = '0' + CRC_str;
    }
    return CRC_str;
}
 
==== MySQL Function ====
Found this to be very useful when using a MySQL backend and moving/updating files. Code provided by [[User:Nxj18]]
 
<pre>
create function fnXBMCHash(sourceString VARCHAR(2000))
returns varchar(8) deterministic
begin
    declare crc bigint unsigned; -- bigint to prevent casting/overflow issues
    declare len, cur, i int;
    declare mask, xorBase, curCharCode, intMask bigint unsigned;
   
    set intMask = pow(2,32) - 1;
    set crc = pow(2,32) - 1; -- 0xFFFFFFFF
    set sourceString = LOWER(TRIM(sourceString));
    set mask = pow(2,31);  -- 0x8000000
    set xorBase = 79764919; -- 0x04C11DB7
    set len = LENGTH(sourceString), cur = 0;
    while cur < len do
        set curCharCode = ASCII(SUBSTRING(sourceString,cur+1,1));
        set crc = (crc ^ (curCharCode << 24)) & intMask;
        set i = 0;
        while i < 8 do
            set crc = (case (crc & mask)
                when mask then (crc << 1) ^ xorBase
                else (crc << 1) end) & intMask;
            set i = i + 1;
        end while;
        set cur = cur + 1;
    end while;
    return lpad(hex(crc),8,'0');
end;
</pre>
 
==== AutoIT function ====
Code provided by [http://forum.xbmc.org/member.php?action=profile&uid=125795 Nexus.Commander].
 
<pre>
func CRC32_XBMC($string_input)
$chars = StringSplit(StringLower($string_input),'',2)
$crc = 0xffffffff
For $ptr = 0 To UBound($chars)-1
$chr = StringToBinary($chars[$ptr],4)
$crc = BitXOR($crc,BitShift($chr,-24))
For $i = 0 To 7
if BitAND($crc,0x80000000) = 0x80000000 Then
$crc = BitXOR(BitShift($crc,-1),0x04C11DB7)
else
$crc = BitShift($crc,-1)
EndIf
Next
Next
Return Hex($crc)
EndFunc
</pre>
 
==== Java ====
Code provided by [http://forum.xbmc.org/member.php?action=profile&uid=80320 Duffy].
 
  public String Hash(String input) {
    int m_crc = 0xffffffff;
    input = input.toLowerCase();
    byte msg[] = input.getBytes();
    for (int i = 0; i < msg.length; i++) {
      int p = (msg[i]) << 24;
      m_crc ^= p;
      for (int j = 0; j < 8; j++) {
        if ((m_crc & 0x80000000) == 0x80000000) {
          m_crc = (m_crc << 1) ^ 0x04C11DB7;
        }
        else {
          m_crc <<= 1;
        }
      }
    }
    return String.format("%08x", m_crc);
  }
 
[[Category:Thumbnails]]
[[Category:User Interface]]
[[Category:Scraper]]
[[Category:Video Library]]
[[Category:Music Library]]
[[Category:XBMC Manual]]

Revision as of 03:11, 18 May 2019

Artwork contents

Artwork Main Page



See also:


Return to:

Home icon grey.png   ▶ Music Library
▶ Video Library
▶ Artwork

The use of artwork will transform your mundane media player into a showpiece to be proud of, especially when teamed up with your favourite skin. Kodi will allow you to display Movie Posters, Fanart, Album Covers, Actor and Artist images to name a few. Install the Kodi slideshow add-on, and you will have a constant display of video or music fanart to brighten your entertainment room.

The Kodi scrapers automatically download artwork with little input required by the user. These pages are for those users that want greater control over their artwork by saving artwork locally or creating their own.

As the topic covering artwork is comprehensive, it has been broken down into smaller and more manageable pages for ease of reading. Make use of the Table of Contents and the NavBox located at the top right of the page. Information common to all categories is located on this page and the Artwork Type page.

Be aware that artwork is skin dependent. Not all artwork types are used in all skins.


Obtaining Artwork

Movie, TV Show and Music artwork can be obtained using a variety of methods. The most common method is via the Kodi scraper.


Scrapers

The default sources for information and artwork that are used by the scrapers are:

Movies- The MovieDB
TV Shows- The MovieDB
Music- The AudioDB
General- Fanart.tv

Artwork from these sites can be downloaded manually by visiting and searching the sites and saving the artwork locally as described on the linked pages.


Media Managers

There is a range of software that can create nfo files and download artwork and save them to the correct location and correct naming. They perform the same process and function as the Kodi Scraping operation does natively, but they do not add any entries into the Kodi library. Instead they create what is known as NFO files. This file holds all the metadata for that particular movie, tv show or music. The software will also download associated artwork from the scraper site. Kodi can then read this file and scrape it into the library along with the artwork.

Although these programs are quick and easy to use, they are more suited for use where a movie or tv show is not listed at the scraper site. You are then able to create the metadata from scratch. You would normally use this for, say, home movies, sporting events or other items that are not listed at the scraper site.

It is always best to use Kodi for the normal mainstream scrapes and the Media Managers for the non-listed movie, tv show and music scrapes.


Web Search

Using an online search engine can help you discover individual artworks, or additional sites where artwork is hosted. When downloading, check that the resolution is of an acceptable standard. Also pay respect to any copyright notices that are attached to the artwork.

Once downloaded, they must be named and saved correctly for the artwork to be visible to Kodi.


Create Your Own

So you are not happy with the artwork the scraper downloaded? And you just can't find that perfect artwork by manually searching the internet. Then, you will just have to create your own. For those who are artistically minded and can easily navigate around image editing software, then you should be able to easily create your very own user-defined artwork on your computer. Only your imagination is the limit, but be mindful that the artwork needs to remain true to the movie or tv show it represents.

If you are unsure where to start, the following links may prove useful. Especially if you plan to share your masterpieces. If this is the case, it is best to stick to the posted guidelines.

  • Fanart.TV- The premier repository for all things artwork. They have an in-depth guide for artwork requirements
see : Fanart.tv- Image Creation Guide
  • The MovieDB- The go to movie scraper site for Kodi. In addition to metadata, they also hold a large repository of artwork that are created and uploaded to the site by people just like you. Read their easy to understand artwork creation guide.
see : themoviedb- Image Creation Guide
  • The TVDB- The go to TV Show scraper site for Kodi. In addition to metadata, they also hold a large repository of artwork devoted to TV Shows. Read their easy to understand artwork creation guide.
see : theTVDB- Image Creation Guide
  • IMDB- A comprehensive listing of ensuring artwork is appropriate and suitable.
see : IMDB- Image Submission Guide
  • TheAudioDB- The go to scraper site for all things music. They hold metadata on Artists, Albums and Songs with a large collection of music artwork.
see : TheAudioDB- Image Creation Guide


Importing-Scanning Artwork

This section does not apply to the Kodi scraper or any other add-on scraping process. It only applies to artwork you have manually sourced and saved.

When performing an Update Library Kodi will always use local artwork first. If there is no local artwork, Kodi will obtain the artwork from online sources.

It is important to note that once a movie, tv show, artist or album has been scraped into the library, Kodi will ignore them on subsequent scans. If you have made changes to either artwork and/or metadata (in the form of a nfo file), you must instruct Kodi to update using one of the following methods...

  1. If the Library has not yet been created, or the source has not yet been added
    • Ensure your artwork is named and saved correctly. Add the Media sources to Kodi and allow to update. Artwork will be cached
  2. This Movie/TV Show/Album/Artist is new and has not been added to the library yet
    • An Update Library will scrape and cache the artwork, or
    • For Videos, navigate Videos>Files, navigate to the item and call up the Information page. This will start an automatic scrape for that single item
    • For Music, navigate Music>Files, locate and highlight the new artist or album. From the context menu select Scan item to library
  3. I added new artwork for Movie/TV Show/Album/Artist already in the library
    • For videos follow instructions for Kodi- Choose Art below
    • For music follow instructions in Kodi- Choose Art below
  4. I added new artwork for a lot of Movies/TV Shows/Music already in the library
    • Update each Movie/TV Show/Music manually using instructions in the previous option, or
    • Remove the Source and clean library. Re-add the source and allow the Update Library
See also: Update Video Library
See also: Update Music Library


"Available" artwork

Scrapers and NFO files can include multiple images for a single type of artwork. The first image will be assigned to the media item for skins and other interfaces to access for display, and the full list will be saved for the "Choose art" dialog, where you can select a new image for any art type.


Kodi- Choose Art

From within Kodi, you have the ability to manually change the artwork at any time by following these directions.

Note: The following is based on the Video Library. Music Library follows the same process, but the screenshots will be slightly different for Choose Art- Artists and Choose Art- Albums

  1. Highlight the media item whose artwork you want to change.
  2. Call up the Information page, (Image 1)
    • For seasons and movie sets the "Choose Art" option is in the Context menu.
  3. Select Choose Art. (Image 1)
  4. From within this page, you will be given the option to select which type of artwork you would like to change. (Image 2)
    • If the type of artwork you would like to change is not listed, use the Add art type button to add it. An onscreen keyboard will be displayed. Enter the new type of artwork and select Ok.
    • Examples of artwork type are those listed in the following pages- eg clearlogo, clearart, banner etc...
  5. Once selected, you will then be provided with a list of available artwork at the scraper site, or you can navigate to a local or network location. (Image 3)
  6. Once you select the desired image, it will replace the existing image. You will be returned to the screen displayed in Image 2
  7. If you do not intend to change any other artwork types, simply Esc or Back out of the screen

An alternative method for Music and Video library:

  1. Choose Refresh as seen in Image 1.
  2. You will then be asked Locally stored information found. Ignore and refresh from Internet? (Image 4)
    • To scrape local artwork and metadata - Select No note- If you have no local nfo file, Kodi will scrape metadata from the online scraper site
    • To scrape online artwork and metadata - Select Yes


Add-ons to display artwork

The following add-ons allow you to display your movie, TV show and music artwork.


Screensavers

Want to do more with all that wonderful fanart? Install this Kodi screensaver. Just like a screensaver on computers from yesteryear, the Kodi screensaver will produce a slideshow of your Movie and TV Show fanart, or set it to display your Music Fanart. Don't like either of those? Then setup a directory with your own pictures and it can produce a screensaver from your selection of photos.


Managing Artwork

There are a number of ways to maintain and improve Kodi's handling of the artwork.


Cache

Kodi maintains a texture cache on local device storage for all artwork displayed in the GUI, whether from an online source or the local file system. These textures are optimized and stored locally for faster loading.

When media is added to the library, Kodi initially only has a URL or path to the artwork. The artwork itself is downloaded (if from an online source) and then cached.


Recovering Disk Space

After years of use, it is expected that your system will gather some clutter- that being either orphaned artwork files or corrupted artwork which will not display.


Texture Cache Maintenance

Texture Cache Maintenance utility is a python script created by MillhouseVH, that can do a number of artwork related maintenance on the Kodi library. The script can be used to pre-generate thumbnails, clean up old thumbnail files, find corrupted files, and much more. The script can work on any OS that can run Python 2.6 or higher.


Import/Export

Kodi has the option to Export and Import the library databases. These options may be used for a number of reasons including the following more popular ones:

  • Perform database backup and recovery
  • Reorganization of data or eliminate database fragmentation (export, clean/remove database, re-import)
  • Move data between Kodi databases on different platforms (eg Widows to Linux)


Accessing with skins and JSON-RPC

The primary usage of artwork is to be displayed, and to that end, they can be accessed by name in skins and over JSON-RPC.


Troubleshooting

There are certain scenarios where attempting to replace existing artwork with new artwork, you may experience Kodi refusing to load the new artwork. This occurs when replacing one artwork with another artwork having the same name. eg replacing poster.jpg with a new poster.jpg.

Rest assured that the new image has been accepted, but due to the same filename, Kodi may take upto 24 hrs to check the image hash, realise the image is different and clear out the cached image and replace it with the new one. This is intended behaviour. Further reading available in the following link


See Also



Return to top