NFO files/TV shows: Difference between revisions

From Official Kodi Wiki
Jump to navigation Jump to search
(Update ratings and uniqueid)
(Updated for v19)
(One intermediate revision by the same user not shown)
Line 1: Line 1:
{{NFO_content}}
{{NFO_content}}
{{mininav|[[NFO files]]}}
{{mininav|[[NFO files]]}}


__TOC__




= Requirements =
= Introduction =
'''TV Shows and Episodes must abide by the standard naming conventions even if you are using nfo files. The scanner still determines the TV Show name from the folder name and Season and Episode numbering from the episode filename, not from the NFO file.'''
NFO files for TV Shows are a little bit more complex as they require the following NFO files:
 
* One nfo file for the TV Show. This file holds the overall TV show information
If you choose to use NFO Files, TV Shows require the following:
* One nfo file for '''each''' Episode. This file holds information specific to that episode
#One nfo file for the TV Show. This file holds the overall show information
For one TV Show with 10 episodes, 11 nfo files are required.
#One nfo file for '''each''' Episode. This file holds information specific to that episode
For one TV Show with 10 episodes, you will require 11 nfo files.
 
 
The order of importing metadata is as follows:
#nfo file. If no nfo file exists, then
#Depending on your scraper settings for your source, either
##Online scraper sites- if a scraper is set in your source settings
##Nothing- if Local Info Only is set
 
 
 
== episodeguide URL ==
The ''<episodeguide>'' URL is saved in the '''tvshow.nfo''' file.
 
'''When using the scrapers''', the ''<episodeguide>'' URL is a critical component of the scraping process that ensures episodes are correctly scraped. The ''<episodeguide>'' URL is provided by the information provider in a format that they have designed. The URL is not interchangeable between information providers. i.e. you cannot use the TVDB URL while using TheMovieDB scraper.
 
When scraping, once a TV Show has been identified via the folder name, the scraper asks the site to provide the link to all the episodes for the show. This is provided in the format of the ''<episodeguide>'' URL from which all the metadata for the individual episodes is downloaded.
 
Without the ''<episodeguide>'' no episodes will be scraped.  




'''When using NFO Files''' knowing whether to include the ''<episodeguide>'' can be tricky. Some points that hopefully will explain how and when to use it for your own scenario:
* If you are using nfo files exclusively, then the ''<episodeguide>'' is not required in the tvshow.nfo file. Be aware that any episodes missing nfo files will not be scanned or scraped
* If you have a mix of nfo files and no nfo files for episodes, then the ''<episodeguide>'' is required.
* If your tvshow.nfo file does not have the ''<episodeguide>'', and you require it, the scraper will not download it. Delete your tvshow.nfo file and [[Updating_or_removing_videos#Individual_Refresh|Refresh]] the TV Show and the scraper will download the ''<episodeguide>'' URL.
* You can have episode nfo files without the tvshow.nfo file.
* Creating your own ''<episodeguide>'' URL is tricky but you can attempt it by reading the ''What if I'm using NFO files?'' section in this thread... ''[https://forum.kodi.tv/showthread.php?tid=323588 Forum Thread]''
* If you include the ''<episodeguide>'', then you need to have the correct scraper active. Remember that the ''<episodeguide>'' URL is not interchangeable between scrapers. Using Local Information Only will not change this requirement.
* TheTVDB ''<episodeguide>'' used by {{Kodi}} is v2 from the v2 API. v1 is not recognised by {{kodi}}.


= episodeguide URL =
The <episodeguide> is the tag that allows the scrapers to find the episodes belonging to the TV Show at the site of the information provider. It is a complex item and its format depends on which information provider is being accessed, and whether a Python or XML based scraper is being used.


== Known Issues ==
It is not normal to manually create a tvshow.nfo that require an <episodeguide>. If the TV show and episodes exist at the site of an information provider, then you should use the {{kodi}} scrapers to scrape the TV show and episodes
* v18 introduced a bug where any class of nfo file can be scanned into any part of the video library. See [https://github.com/xbmc/xbmc/issues/16112 Issue 16112]


If you find that you need to create nfo files, then it is assumed that the tv show does not exist at any of the information provider sites, so the <episodeguide> URL does not exist either and the tag is not needed.




= TV Show =
This section deals with the requirement for the '''tvshow.nfo''' file. Episode nfo files are discussed in Section 3 below.


 
= nfo Name and Location =
 
== nfo Name and Location ==
'''{{resize|1.2em|Regardless of what settings you have set for the source and scraper, {{Kodi}} will always search for and scan the nfo file first where available.}}'''
'''{{resize|1.2em|Regardless of what settings you have set for the source and scraper, {{Kodi}} will always search for and scan the nfo file first where available.}}'''


The tvshow.nfo file is placed inside the TV Show folder. The nfo filename is actually '''tvshow.nfo'''. Do not rename it with the title of the tv show. See image for example
The tvshow.nfo file is placed inside the TV Show folder. The NFO filename is actually '''tvshow.nfo'''. Do not rename it with the title of the tv show. See image for example
 
Correct placement of the nfo file is essential. Failing to save the file with the correct name and in the correct location, as detailed below, will force Kodi to either:
#Scrape the metadata from the online source set in your scraper or,
#If you have ''Local Info Only'' set as your scraper, then no entry will be made into the library.
 


<gallery mode="packed" widths="1000px" heights="562px">
<gallery mode="packed" widths="1000px" heights="562px">
Line 68: Line 33:




== nfo Tags ==
= nfo Tags =
The following table lists most available XML tags. <ref>https://github.com/xbmc/xbmc/blob/master/xbmc/video/VideoInfoTag.cpp</ref>
The following table lists available XML tags for TV Shows. <ref>https://github.com/xbmc/xbmc/blob/master/xbmc/video/VideoInfoTag.cpp</ref>


Two XML tags are required and are indicated in the table below. All other tags are optional. Of course the less tags used, the less information scanned into the library.
Two XML tags are required and are indicated in the table below. All other tags are optional. Of course the less tags used, the less information scanned into the library.
Children tags are displayed correctly with parent tags. The list is ordered in the same order as the exported nfo file.




Line 79: Line 42:
! NFO (xml) Tag || Required || Multiple || Notes
! NFO (xml) Tag || Required || Multiple || Notes
|-
|-
|<tvshow></tvshow> || scope="cell" ! style="background-color:#ff9c95;" | Yes || No || The top level parent tag for the nfo file. All other tags must be contained within these two tags
|<tvshow></tvshow> || {{Yes}} || No || The top level parent tag for the nfo file. All other tags must be contained within these two tags
|-
|-
|<title></title> || No || No || The title of the TV Show
|<title></title> || {{Yes}} || No || The title of the TV Show
|-
|-
|<originaltitle></originaltitle> || No || No || The original title, usually in the language of the country of origin.
|<originaltitle></originaltitle> || No || No || The original title, usually in the language of the country of origin.
Line 122: Line 85:
|-
|-
|<displayseason></displayseason> || No || No || Not used  
|<displayseason></displayseason> || No || No || Not used  
|-
|<namedseason number="1"></namedseason> || No || No || Not Used
|-
|-
|<outline></outline> || No || No || Not Used
|<outline></outline> || No || No || Not Used
Line 135: Line 96:
|<thumb aspect="" preview=""></thumb>
|<thumb aspect="" preview=""></thumb>
<thumb aspect="poster" type="season" season="" preview=""></thumb>  
<thumb aspect="poster" type="season" season="" preview=""></thumb>  
|| No || Yes || Path to available TV Show Posters<br>
|| No || Yes || Path to available TV Show Posters. Not needed when using local artwork<br>
Example use of ''aspect=""''
Example use of ''aspect=""''
:<thumb aspect="banner"
:<thumb aspect="banner"
Line 154: Line 115:
|<mpaa></mpaa> || No || No || Country specific mpaa rating system. Check with skin author which prefix is required to diplay your country local rating system
|<mpaa></mpaa> || No || No || Country specific mpaa rating system. Check with skin author which prefix is required to diplay your country local rating system
|-
|-
|<playcount></playcount> || No || No || Number of times TV show has been played. Will only ever show 0 or 1. Episodes track playcounts<br>
|<playcount></playcount> || No || No || Number of times TV show has been played. Will only ever show 0 or 1. Episodes track playcounts<br>See... [[Import-export_library/Video#Watched.2C_PlayCount.2C_ResumePoints|Import-Export]]
Setting this to 1 will mark the TV Show as watched if the ''importwatchedstate'' flag is set in advancedsettings.xml
|-
|-
|<lastplayed></lastplayed> || No || No || Date TV Show was last played
|<lastplayed></lastplayed> || No || No || Date TV Show was last played
Line 163: Line 123:
   <url cache=""></url>
   <url cache=""></url>
  </episodeguide>
  </episodeguide>
| scope="cell" ! style="background-color:#ff9c95;" | Yes/No || No || Read section ''1.1 episodeguide URL'' above<br>
|| Yes/No || No || Read section ''1.1 episodeguide URL'' above<br>
When using TVDB scraper, Kodi will only read the URL created by the TVDB v2 API <ref>https://forum.kodi.tv/showthread.php?tid=323588</ref><br>
When using TVDB scraper, Kodi will only read the URL created by the TVDB v2 API <ref>https://forum.kodi.tv/showthread.php?tid=323588</ref><br>
When a URL is used, the corresponding scraper must be set.
When a URL is used, the corresponding scraper must be set.
Line 170: Line 130:
Do not use as this is a Kodi generated tag. See next item.
Do not use as this is a Kodi generated tag. See next item.
|-
|-
|<uniqueid type="xxxx" default="true"></uniqueid> || scope="cell" ! style="background-color:#ff9c95;" | Yes || Yes || The ID from the scraper site.<br>
|<uniqueid type="" default=""></uniqueid> || {{Yes}} || Yes ||The ID from the scraper site.<br>
''type="xxxx"'' = Identifier of the ID. Do not use "default". Examples of identifier include...<br>
''type=""'' Identifier of the ID. Do not use "default". Examples of identifier include...<br>
::''<uniqueid type="imdb">''<br>
::''<uniqueid type="imdb"''<br>
::''<uniqueid type="tvdb">''<br>
::''<uniqueid type="tvdb"''<br>
::''<uniqueid type="tvmaze">''<br>
::''<uniqueid type="tmdb"''<br>
::''<uniqueid type="tmdb">''<br>
::For non-scraped items, use simple values like ''"home", "sport", "doco"'' etc<br>
::For non-scraped items, use simple values like ''"home", "sport", "doco"'' etc<br>
::The value can be alpha-numeric eg ''tt3480556'' for imdb, ''286668'' for tmdb, ''home001'' for home movies, etc<br>
::The value can be alpha-numeric eg ''tt3480556'' for imdb, ''286668'' for tmdb, ''home001'' for home movies, etc<br>
''default="true"''  ''default="false"''<br>
''default="true"''  ''default="false"''<br>
::Only one uniqueID can be set as ''default="true"'', additional uniqueID's must be set as ''default="false"'' or ommitted<br>
::Only one uniqueID can be set as ''default="true"'', additional uniqueID's must be set as ''default="false"'' or ommit the default attribute<br>
Example of complete entry...
Example of complete entry...
::''<uniqueid type="tmdb" default="true">''<br>
::''<uniqueid type="tmdb" default="true">''<br>
Line 224: Line 183:
|| No || No || Not used for TV Show  
|| No || No || Not used for TV Show  
|-
|-
|<dateadded></dateadded> || No || No || mTime of the playable video file. Can be altered in advancedsettings.xml
|<dateadded></dateadded> || No || No || mTime of the playable video file. Can be altered in advancedsettings.xml<br>See... '''[[Advancedsettings.xml#videolibrary]]'''
|}
 
 
 
== Template nfo ==
A template NFO File is provided below that can be copied into your own file and completed. It is a simplified file:
*System generated tags are removed
*Assumes local artwork is being used
*Assumes no online information is available, so items like Ratings have no relevance
*This will be the first time scanned into library so watched status and play counts are not required.
If any of these removed tags are required, simply add the appropriate tags, and refer to the Sample NFO File in the next section to confirm correct usage.
 
<syntaxhighlight lang="xml">
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<tvshow>
    <title></title>
    <plot></plot>
    <userrating></userrating>
    <mpaa></mpaa>
    <uniqueid type="" default="true"></uniqueid>
    <genre></genre>
    <premiered></premiered>
    <status></status>
    <studio></studio>
    <actor>
        <name></name>
        <role></role>
        <order></order>
        <thumb></thumb>
    </actor>
    <namedseason number="1"></namedseason>
</tvshow>
</syntaxhighlight>
 
 
 
== Sample nfo ==
Below is a sample nfo file that was exported from Kodi after scraping into the library using the default TheMovieDB-TV Shows scraper.
 
'''Press Expand at right edge of the green bar to view'''
 
{{collapse top| TV Show nfo file  (click 'expand' to view)}}
<syntaxhighlight lang="xml">
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<tvshow>
    <title>American Gods</title>
    <originaltitle>American Gods</originaltitle>
    <showtitle>American Gods</showtitle>
    <sorttitle>American Gods</sorttitle>
    <ratings>
        <rating name="themoviedb" max="10" default="true">
            <value>6.800000</value>
            <votes>581</votes>
        </rating>
        <rating name="imdb" max="10" default="true">
            <value>5.500000</value>
            <votes>86352</votes>
        </rating>
        <rating name="metacritic" max="10">
            <value>6.0</value>
            <votes>22</votes>
        </rating>
<rating name="tomatometerallcritics" max="10">
<value>7.6</value>
<votes>71</votes>
</rating>
<rating name="tomatometerallaudience" max="10">
<value>6.2</value>
<votes>119873</votes>
</rating>
    </ratings>
    <userrating>0</userrating>
    <top250>0</top250>
    <season>2</season>
    <episode>16</episode>
    <displayseason>-1</displayseason>
    <displayepisode>-1</displayepisode>
    <outline></outline>
    <plot>An ex-con becomes the traveling partner of a conman who turns out to be one of the older gods trying to recruit troops to battle the upstart deities. Based on Neil Gaiman&apos;s fantasy novel.</plot>
    <tagline></tagline>
    <runtime>0</runtime>
    <thumb aspect="poster" preview="https://assets.fanart.tv/preview/tv/253573/tvposter/american-gods-58b18cd8d667a.jpg">https://assets.fanart.tv/fanart/tv/253573/tvposter/american-gods-58b18cd8d667a.jpg</thumb>
    <thumb aspect="poster" preview="https://assets.fanart.tv/preview/tv/253573/tvposter/american-gods-5c896dbee9d21.jpg">https://assets.fanart.tv/fanart/tv/253573/tvposter/american-gods-5c896dbee9d21.jpg</thumb>
    <thumb aspect="poster" preview="https://assets.fanart.tv/preview/tv/253573/tvposter/american-gods-57dda913a44e0.jpg">https://assets.fanart.tv/fanart/tv/253573/tvposter/american-gods-57dda913a44e0.jpg</thumb>
    <thumb aspect="poster" preview="https://assets.fanart.tv/preview/tv/253573/tvposter/american-gods-590c159dcbf3a.jpg">https://assets.fanart.tv/fanart/tv/253573/tvposter/american-gods-590c159dcbf3a.jpg</thumb>
    <thumb aspect="banner" preview="https://assets.fanart.tv/preview/tv/253573/tvbanner/american-gods-5cbbdaa84298d.jpg">https://assets.fanart.tv/fanart/tv/253573/tvbanner/american-gods-5cbbdaa84298d.jpg</thumb>
    <thumb aspect="banner" preview="https://assets.fanart.tv/preview/tv/253573/tvbanner/american-gods-5932b1ffb3522.jpg">https://assets.fanart.tv/fanart/tv/253573/tvbanner/american-gods-5932b1ffb3522.jpg</thumb>
    <thumb aspect="banner" preview="https://assets.fanart.tv/preview/tv/253573/tvbanner/american-gods-5932b1ffb43e4.jpg">https://assets.fanart.tv/fanart/tv/253573/tvbanner/american-gods-5932b1ffb43e4.jpg</thumb>
    <thumb aspect="landscape" preview="https://assets.fanart.tv/preview/tv/253573/tvthumb/american-gods-58db45dc886f5.jpg">https://assets.fanart.tv/fanart/tv/253573/tvthumb/american-gods-58db45dc886f5.jpg</thumb>
    <thumb aspect="landscape" preview="https://assets.fanart.tv/preview/tv/253573/tvthumb/american-gods-5932aee79947a.jpg">https://assets.fanart.tv/fanart/tv/253573/tvthumb/american-gods-5932aee79947a.jpg</thumb>
    <thumb aspect="landscape" preview="https://assets.fanart.tv/preview/tv/253573/tvthumb/american-gods-5932aee799e5a.jpg">https://assets.fanart.tv/fanart/tv/253573/tvthumb/american-gods-5932aee799e5a.jpg</thumb>
    <thumb aspect="landscape" preview="https://assets.fanart.tv/preview/tv/253573/tvthumb/american-gods-5932aee79a2f2.jpg">https://assets.fanart.tv/fanart/tv/253573/tvthumb/american-gods-5932aee79a2f2.jpg</thumb>
    <thumb aspect="landscape" preview="https://assets.fanart.tv/preview/tv/253573/tvthumb/american-gods-5932aee79a7c9.jpg">https://assets.fanart.tv/fanart/tv/253573/tvthumb/american-gods-5932aee79a7c9.jpg</thumb>
    <thumb aspect="clearlogo" preview="https://assets.fanart.tv/preview/tv/253573/hdtvlogo/american-gods-58b04bdcecefd.png">https://assets.fanart.tv/fanart/tv/253573/hdtvlogo/american-gods-58b04bdcecefd.png</thumb>
    <thumb aspect="clearlogo" preview="https://assets.fanart.tv/preview/tv/253573/hdtvlogo/american-gods-58b04d78a7ffc.png">https://assets.fanart.tv/fanart/tv/253573/hdtvlogo/american-gods-58b04d78a7ffc.png</thumb>
    <thumb aspect="clearlogo" preview="https://assets.fanart.tv/preview/tv/253573/hdtvlogo/american-gods-59e6660cb7dbc.png">https://assets.fanart.tv/fanart/tv/253573/hdtvlogo/american-gods-59e6660cb7dbc.png</thumb>
    <thumb aspect="clearlogo" preview="https://assets.fanart.tv/preview/tv/253573/hdtvlogo/american-gods-59e6660cc0716.png">https://assets.fanart.tv/fanart/tv/253573/hdtvlogo/american-gods-59e6660cc0716.png</thumb>
    <thumb aspect="clearart" preview="https://assets.fanart.tv/preview/tv/253573/hdclearart/american-gods-59177740ba6cd.png">https://assets.fanart.tv/fanart/tv/253573/hdclearart/american-gods-59177740ba6cd.png</thumb>
    <thumb aspect="clearart" preview="https://assets.fanart.tv/preview/tv/253573/hdclearart/american-gods-5913b6b2ce91d.png">https://assets.fanart.tv/fanart/tv/253573/hdclearart/american-gods-5913b6b2ce91d.png</thumb>
    <thumb aspect="clearart" preview="https://assets.fanart.tv/preview/tv/253573/hdclearart/american-gods-5913b6b2cfa64.png">https://assets.fanart.tv/fanart/tv/253573/hdclearart/american-gods-5913b6b2cfa64.png</thumb>
    <thumb aspect="clearart" preview="https://assets.fanart.tv/preview/tv/253573/hdclearart/american-gods-5913b6b2cf502.png">https://assets.fanart.tv/fanart/tv/253573/hdclearart/american-gods-5913b6b2cf502.png</thumb>
    <thumb aspect="clearart" preview="https://assets.fanart.tv/preview/tv/253573/hdclearart/american-gods-5a4805be0619f.png">https://assets.fanart.tv/fanart/tv/253573/hdclearart/american-gods-5a4805be0619f.png</thumb>
    <thumb aspect="characterart" preview="https://assets.fanart.tv/preview/tv/253573/characterart/american-gods-5a4805af07a04.png">https://assets.fanart.tv/fanart/tv/253573/characterart/american-gods-5a4805af07a04.png</thumb>
    <thumb aspect="characterart" preview="https://assets.fanart.tv/preview/tv/253573/characterart/american-gods-59e6b1c71b65a.png">https://assets.fanart.tv/fanart/tv/253573/characterart/american-gods-59e6b1c71b65a.png</thumb>
    <thumb aspect="poster" type="season" season="2" preview="https://assets.fanart.tv/preview/tv/253573/seasonposter/american-gods-5d1274a8c31cb.jpg">https://assets.fanart.tv/fanart/tv/253573/seasonposter/american-gods-5d1274a8c31cb.jpg</thumb>
    <thumb aspect="poster" type="season" season="1" preview="https://assets.fanart.tv/preview/tv/253573/seasonposter/american-gods-59fea294b565f.jpg">https://assets.fanart.tv/fanart/tv/253573/seasonposter/american-gods-59fea294b565f.jpg</thumb>
    <thumb aspect="poster" type="season" season="1" preview="https://assets.fanart.tv/preview/tv/253573/seasonposter/american-gods-5cacdf37068db.jpg">https://assets.fanart.tv/fanart/tv/253573/seasonposter/american-gods-5cacdf37068db.jpg</thumb>
    <thumb aspect="poster" type="season" season="2" preview="https://assets.fanart.tv/preview/tv/253573/seasonposter/american-gods-5cacdf7783e04.jpg">https://assets.fanart.tv/fanart/tv/253573/seasonposter/american-gods-5cacdf7783e04.jpg</thumb>
    <thumb aspect="poster" type="season" season="2" preview="https://assets.fanart.tv/preview/tv/253573/seasonposter/american-gods-5d1274a8c31cb.jpg">https://assets.fanart.tv/fanart/tv/253573/seasonposter/american-gods-5d1274a8c31cb.jpg</thumb>
    <thumb aspect="poster" type="season" season="1" preview="https://assets.fanart.tv/preview/tv/253573/seasonposter/american-gods-59fea294b565f.jpg">https://assets.fanart.tv/fanart/tv/253573/seasonposter/american-gods-59fea294b565f.jpg</thumb>
    <thumb aspect="poster" type="season" season="1" preview="https://assets.fanart.tv/preview/tv/253573/seasonposter/american-gods-5cacdf37068db.jpg">https://assets.fanart.tv/fanart/tv/253573/seasonposter/american-gods-5cacdf37068db.jpg</thumb>
    <thumb aspect="poster" type="season" season="2" preview="https://assets.fanart.tv/preview/tv/253573/seasonposter/american-gods-5cacdf7783e04.jpg">https://assets.fanart.tv/fanart/tv/253573/seasonposter/american-gods-5cacdf7783e04.jpg</thumb>
    <thumb aspect="banner" type="season" season="1" preview="https://assets.fanart.tv/preview/tv/253573/seasonbanner/american-gods-5cc6b35699d26.jpg">https://assets.fanart.tv/fanart/tv/253573/seasonbanner/american-gods-5cc6b35699d26.jpg</thumb>
    <thumb aspect="banner" type="season" season="2" preview="https://assets.fanart.tv/preview/tv/253573/seasonbanner/american-gods-5cc6b36965b54.jpg">https://assets.fanart.tv/fanart/tv/253573/seasonbanner/american-gods-5cc6b36965b54.jpg</thumb>
    <thumb aspect="banner" type="season" season="1" preview="https://assets.fanart.tv/preview/tv/253573/seasonbanner/american-gods-5cc6b35699d26.jpg">https://assets.fanart.tv/fanart/tv/253573/seasonbanner/american-gods-5cc6b35699d26.jpg</thumb>
    <thumb aspect="banner" type="season" season="2" preview="https://assets.fanart.tv/preview/tv/253573/seasonbanner/american-gods-5cc6b36965b54.jpg">https://assets.fanart.tv/fanart/tv/253573/seasonbanner/american-gods-5cc6b36965b54.jpg</thumb>
    <thumb aspect="landscape" type="season" season="2" preview="https://assets.fanart.tv/preview/tv/253573/seasonthumb/american-gods-5cc6b380d6c56.jpg">https://assets.fanart.tv/fanart/tv/253573/seasonthumb/american-gods-5cc6b380d6c56.jpg</thumb>
    <thumb aspect="landscape" type="season" season="1" preview="https://assets.fanart.tv/preview/tv/253573/seasonthumb/american-gods-59e6b5a03e7aa.jpg">https://assets.fanart.tv/fanart/tv/253573/seasonthumb/american-gods-59e6b5a03e7aa.jpg</thumb>
    <thumb aspect="landscape" type="season" season="2" preview="https://assets.fanart.tv/preview/tv/253573/seasonthumb/american-gods-5cc6b380d6c56.jpg">https://assets.fanart.tv/fanart/tv/253573/seasonthumb/american-gods-5cc6b380d6c56.jpg</thumb>
    <thumb aspect="landscape" type="season" season="1" preview="https://assets.fanart.tv/preview/tv/253573/seasonthumb/american-gods-59e6b5a03e7aa.jpg">https://assets.fanart.tv/fanart/tv/253573/seasonthumb/american-gods-59e6b5a03e7aa.jpg</thumb>
    <thumb aspect="poster">http://image.tmdb.org/t/p/original/m6qf6lq3yARgbZwspvDLbUFtASh.jpg</thumb>
    <thumb aspect="poster">http://image.tmdb.org/t/p/original/gevw5nZRYz2kWj1PqW9pz4sgeeZ.jpg</thumb>
    <thumb aspect="poster">http://image.tmdb.org/t/p/original/btwTe5cQbGWGOErBiRqnjNP9cJl.jpg</thumb>
    <thumb aspect="poster">http://image.tmdb.org/t/p/original/loJ4sfr4zp995qMoeCHiIIGaOg8.jpg</thumb>
    <thumb aspect="poster">http://image.tmdb.org/t/p/original/dHo8Lw7ruIaQTdTTDZPCMyZxwy5.jpg</thumb>
    <thumb aspect="poster">http://image.tmdb.org/t/p/original/zfAXP4bG2G17VuLNU9cqRcVU0xj.jpg</thumb>
    <thumb aspect="poster">http://image.tmdb.org/t/p/original/oxYUbNpG2st2zXWzYRvewehmvuj.jpg</thumb>
    <thumb aspect="poster">http://image.tmdb.org/t/p/original/mwoQ6zynu2DBxKCBYi30qoM236N.jpg</thumb>
    <thumb aspect="poster">http://image.tmdb.org/t/p/original/8XEoXAMzgcf7m1KiUDZ9N1UGh4o.jpg</thumb>
    <thumb aspect="poster">http://image.tmdb.org/t/p/original/rWsayJB1grML2LdPjjKDC3g0Brr.jpg</thumb>
    <thumb aspect="poster">http://image.tmdb.org/t/p/original/8qRsj8uJ4zPARQmQ9FvejTY1lnV.jpg</thumb>
    <thumb aspect="poster">http://image.tmdb.org/t/p/original/acjnZP0GrwWDxCxV6QejKizbzOy.jpg</thumb>
    <thumb aspect="poster">http://image.tmdb.org/t/p/original/hN1sI57QILGfdrEOqpUfo0NtHjW.jpg</thumb>
    <thumb aspect="poster">http://image.tmdb.org/t/p/original/hz2jNy3DfseYzRSybGRlUtz4pTi.jpg</thumb>
    <thumb aspect="poster">http://image.tmdb.org/t/p/original/hLDgNDdrkB0oWiuClpxN4E3XadJ.jpg</thumb>
    <thumb aspect="poster">http://image.tmdb.org/t/p/original/4FiqawHsVz1mYCRudPtXKbfmP4M.jpg</thumb>
    <thumb aspect="poster">http://image.tmdb.org/t/p/original/sKR8Q36YBtyRc19y4yGYuD1xBgA.jpg</thumb>
    <thumb aspect="poster" type="season" season="2">http://image.tmdb.org/t/p/original/4l8Vnbb7e5QA6bAItMqQIHXLRgc.jpg</thumb>
    <thumb aspect="poster" type="season" season="2">http://image.tmdb.org/t/p/original/ni0thXw5Zi5dQKBY6Oj0vcfIS2n.jpg</thumb>
    <thumb aspect="poster" type="season" season="2">http://image.tmdb.org/t/p/original/v17HfCzWKQKOBrww9RxZmN5R9tF.jpg</thumb>
    <thumb aspect="poster" type="season" season="2">http://image.tmdb.org/t/p/original/2ffvlgYsxbXGiWkc3V6Q8tgpiBo.jpg</thumb>
    <thumb aspect="poster" type="season" season="1">http://image.tmdb.org/t/p/original/rASj7OUjWDhfhAeO2MaFOA3lJpQ.jpg</thumb>
    <thumb aspect="poster" type="season" season="1">http://image.tmdb.org/t/p/original/67exRijfvN5RRmBCqFtk1bhJ7Uh.jpg</thumb>
    <thumb aspect="poster" type="season" season="1">http://image.tmdb.org/t/p/original/59iE3xxP7H8rAiXW6TDR2HSoUUm.jpg</thumb>
    <thumb aspect="poster" type="season" season="2">http://image.tmdb.org/t/p/original/4l8Vnbb7e5QA6bAItMqQIHXLRgc.jpg</thumb>
    <thumb aspect="poster" type="season" season="2">http://image.tmdb.org/t/p/original/ni0thXw5Zi5dQKBY6Oj0vcfIS2n.jpg</thumb>
    <thumb aspect="poster" type="season" season="2">http://image.tmdb.org/t/p/original/v17HfCzWKQKOBrww9RxZmN5R9tF.jpg</thumb>
    <thumb aspect="poster" type="season" season="2">http://image.tmdb.org/t/p/original/2ffvlgYsxbXGiWkc3V6Q8tgpiBo.jpg</thumb>
    <thumb aspect="banner">https://thetvdb.com/banners/graphical/253573-g3.jpg</thumb>
    <thumb aspect="banner">https://thetvdb.com/banners/graphical/253573-g4.jpg</thumb>
    <thumb aspect="banner">https://thetvdb.com/banners/graphical/253573-g2.jpg</thumb>
    <thumb aspect="banner">https://thetvdb.com/banners/graphical/253573-g.jpg</thumb>
    <thumb aspect="banner">https://thetvdb.com/banners/graphical/253573-g5.jpg</thumb>
    <fanart>
        <thumb preview="https://assets.fanart.tv/preview/tv/253573/showbackground/american-gods-5c8965c58e778.jpg">https://assets.fanart.tv/fanart/tv/253573/showbackground/american-gods-5c8965c58e778.jpg</thumb>
        <thumb preview="https://assets.fanart.tv/preview/tv/253573/showbackground/american-gods-59e6a8a495c2a.jpg">https://assets.fanart.tv/fanart/tv/253573/showbackground/american-gods-59e6a8a495c2a.jpg</thumb>
        <thumb preview="https://assets.fanart.tv/preview/tv/253573/showbackground/american-gods-59e6b13827ba2.jpg">https://assets.fanart.tv/fanart/tv/253573/showbackground/american-gods-59e6b13827ba2.jpg</thumb>
        <thumb preview="https://assets.fanart.tv/preview/tv/253573/showbackground/american-gods-5932b089e07ad.jpg">https://assets.fanart.tv/fanart/tv/253573/showbackground/american-gods-5932b089e07ad.jpg</thumb>
        <thumb preview="https://assets.fanart.tv/preview/tv/253573/showbackground/american-gods-5932b089e2913.jpg">https://assets.fanart.tv/fanart/tv/253573/showbackground/american-gods-5932b089e2913.jpg</thumb>
        <thumb preview="https://assets.fanart.tv/preview/tv/253573/showbackground/american-gods-5932b089e0000.jpg">https://assets.fanart.tv/fanart/tv/253573/showbackground/american-gods-5932b089e0000.jpg</thumb>
        <thumb preview="https://assets.fanart.tv/preview/tv/253573/showbackground/american-gods-5932b089e0d3a.jpg">https://assets.fanart.tv/fanart/tv/253573/showbackground/american-gods-5932b089e0d3a.jpg</thumb>
        <thumb preview="https://assets.fanart.tv/preview/tv/253573/showbackground/american-gods-5932b089e1395.jpg">https://assets.fanart.tv/fanart/tv/253573/showbackground/american-gods-5932b089e1395.jpg</thumb>
        <thumb preview="https://assets.fanart.tv/preview/tv/253573/showbackground/american-gods-5932b089e1952.jpg">https://assets.fanart.tv/fanart/tv/253573/showbackground/american-gods-5932b089e1952.jpg</thumb>
        <thumb preview="https://assets.fanart.tv/preview/tv/253573/showbackground/american-gods-5932b089e23ca.jpg">https://assets.fanart.tv/fanart/tv/253573/showbackground/american-gods-5932b089e23ca.jpg</thumb>
    </fanart>
    <mpaa>Australia:MA</mpaa>
    <playcount>0</playcount>
    <lastplayed></lastplayed>
    <episodeguide>
        <url cache="tmdb-46639-en.json">http://api.themoviedb.org/3/tv/46639?api_key=6a5be4999abf74eba1f9a8311294c267&amp;language=en</url>
    </episodeguide>
    <id>46639</id>
    <uniqueid type="tmdb" default="true">46639</uniqueid>
    <uniqueid type="tvdb">253573</uniqueid>
    <genre>Drama</genre>
    <genre>Mystery</genre>
    <genre>Sci-Fi &amp; Fantasy</genre>
    <premiered>2017-04-30</premiered>
    <year>2017</year>
    <status></status>
    <code></code>
    <aired></aired>
    <studio>Starz</studio>
    <trailer></trailer>
    <actor>
        <name>Ricky Whittle</name>
        <role>Shadow Moon</role>
        <order>0</order>
        <thumb>http://image.tmdb.org/t/p/original/cjeDbVfBp6Qvb3C74Dfy7BKDTQN.jpg</thumb>
    </actor>
    <actor>
        <name>Ian McShane</name>
        <role>Mr. Wednesday</role>
        <order>1</order>
        <thumb>http://image.tmdb.org/t/p/original/pY9ud4BJwHekNiO4MMItPbgkdAy.jpg</thumb>
    </actor>
    <actor>
        <name>Emily Browning</name>
        <role>Laura Moon</role>
        <order>2</order>
        <thumb>http://image.tmdb.org/t/p/original/fa1Kyj02wxwcdS6EHb2i27TNXvU.jpg</thumb>
    </actor>
    <actor>
        <name>Pablo Schreiber</name>
        <role>Mad Sweeney</role>
        <order>3</order>
        <thumb>http://image.tmdb.org/t/p/original/uo8YljeePz3pbj7gvWXdB4gOOW4.jpg</thumb>
    </actor>
    <actor>
        <name>Bruce Langley</name>
        <role>Technical Boy</role>
        <order>4</order>
        <thumb>http://image.tmdb.org/t/p/original/f4EOWUmznLqboq8Ce7jnlkHVK3Y.jpg</thumb>
    </actor>
    <actor>
        <name>Yetide Badaki</name>
        <role>Bilquis</role>
        <order>5</order>
        <thumb>http://image.tmdb.org/t/p/original/qfzkREHuI1JvMxBteIAjKX8qMEr.jpg</thumb>
    </actor>
    <namedseason number="1">Season 1</namedseason>
    <namedseason number="2">Season 2</namedseason>
    <resume>
        <position>0.000000</position>
        <total>0.000000</total>
    </resume>
    <dateadded>2017-10-07 14:25:47</dateadded>
</tvshow>
</syntaxhighlight>
{{collapse bottom}}
 
 
 
= Episodes =
This section deals with the requirement for the '''episode nfo''' file.
 
 
 
== nfo Name and Location ==
'''{{resize|1.2em|Regardless of what settings you have set for the source and scraper, {{Kodi}} will always search for and scan the nfo file first where available.}}'''
 
The episode nfo file is placed alongside each episode video file. The episode nfo filename is the same as the video filename but with the ''.nfo'' extension. See image below for examples.
 
Correct placement of the nfo file is essential. Failing to save the file with the correct name and in the correct location, as detailed below, will force Kodi to either:
#Scrape the metadata from the online source set in your scraper or,
#If you have ''Local Info Only'' set as your scraper, then no entry will be made into the library.
 
 
<gallery mode="packed" widths="1000px" heights="562px">
File:LocalEpisodeArtwork01.jpg|'''''Episode Artwork and nfo files'''''
</gallery>
 
 
 
== nfo Tags ==
The following table lists most available XML tags. <ref>https://github.com/xbmc/xbmc/blob/master/xbmc/video/VideoInfoTag.cpp</ref>
 
Two XML tags are required and are indicated in the table below. All other tags are optional. Of course the less tags used, the less information scanned into the library.
 
Children tags are displayed correctly with parent tags. The list is ordered in the same order as the exported nfo file.
 
For multi-part episodes, add multiple <episodedetails> XML blocks in succession in the same nfo file
 
 
{|class="prettytable"
! NFO (xml) Tag || Required || Multiple || Notes
|-
|<episodedetails></episodedetails> || scope="cell" ! style="background-color:#ff9c95;" | Yes || No || The top level parent tag for the nfo file. All other tags must be contained within these two tags
|-
|<title></title> || No || No || The title for the episode
|-
|<originaltitle></originaltitle> || No || No || The original title, usually in the language of the country of origin.
|-
|<showtitle></showtitle> || No || No || Name of the tv show this episode belongs to
|-
|
  <ratings>
    <rating name="" max="10" default="">
      <value></value>
      <votes></votes>
    </rating>
  </ratings>
|| No || No || ''default="true"''  ''default="false"''<br>
::Only one rating can be set as ''default="true"'', additional ratings must be set as ''default="false"'' or ommitted<br>
 
''name="identifier"''. Do not use "default". Examples of identifier include...<br>
::''<rating name="imdb" max="10">''<br>
::''<rating name="trakt" max="10">''<br>
::''<rating name="tvmaze" max="10">''<br>
::''<rating name="metacritic" max="10">''<br>
::''<rating name="tomatometerallcritics" max="10">''<br>
::''<rating name="tomatometerallaudience" max="10">''<br>
 
Example of complete entry...
::''<rating name="themoviedb" max="10" default="true">''<br>
::''<rating name="imdb" max="10" default="false"> or <rating name="themoviedb" max="10">''<br>
|-
|<userrating></userrating> || No || No || Personal rating set by the user
|-
|<top250></top250> || No || No || Not used
|-
|<season></season> || No || No || Ignored on Import. Season is read from filename
|-
|<episode></episode> || No || No || Ignored on Import. Episode is read from filename
|-
|<displayepisode></displayepisode> || No || No || Used to place Specials episodes in the correct episode order
|-
|<displayseason></displayseason> || No || No || Used to place Specials episodes in the correct season
|-
|<outline></outline> || No || No || Not used
|-
|<plot></plot> || No || No || Can contain more information on multiple lines, will be wrapped
|-
|<tagline></tagline> || No || No || Short slogan of the episode. No skins use this.
|-
|<runtime></runtime> || No || No || Minutes only. Overwritten when episode played
|-
|<thumb></thumb> || No || Yes || Path to episode artwork
|-
|<mpaa></mpaa> || No || No || Inherited from TV Show nfo file. Ignored on import.
|-
|<playcount></playcount> || No || No || Number of times episode has been played.<br>
Setting this to 1 or greater will mark the episode as watched if the ''importwatchedstate'' flag is set in advancedsettings.xml
|-
|<lastplayed></lastplayed> || No || No || Date episode was last played
|-
|<id></id> || No || No || The default ID. <br>
Do not use as this is a Kodi generated tag. See next item.
|-
|<uniqueid type="xxxx" default="true"></uniqueid> || scope="cell" ! style="background-color:#ff9c95;" | Yes || Yes || The ID from the scraper site.<br>
''type="xxxx"'' = Identifier of the ID. Do not use "default". Examples of identifier include...<br>
::''<uniqueid type="imdb">''<br>
::''<uniqueid type="tvdb">''<br>
::''<uniqueid type="tvmaze">''<br>
::''<uniqueid type="tmdb">''<br>
::For non-scraped items, use simple values like ''"home", "sport", "doco"'' etc<br>
::The value can be alpha-numeric eg ''tt3480556'' for imdb, ''286668'' for tmdb, ''home001'' for home movies, etc<br>
''default="true"''  ''default="false"''<br>
::Only one uniqueID can be set as ''default="true"'', additional uniqueID's must be set as ''default="false"'' or ommitted<br>
Example of complete entry...
::''<uniqueid type="tmdb" default="true">''<br>
::''<uniqueid type="imdb" default="false"> or <uniqueid type="imdb">''<br>
|-
|<genre></genre> || No || Yes || Inherited from TV Show. Ignored on import.
|-
|<credits></credits> || No || Yes || Field for writers.
|-
|<director></director> || No || Yes || Director
|-
|<premiered></premiered> || No || No || Release date of TV Show. Format as ''2019-01-31''<br>
Use the <aired> field below to add the aired date of the episode.
|-
|<year></year> || No || No || Release Year.<br>
Do not use. Use <aired> instead
|-
|<status></status> || No || No || Not used
|-
|<code><code></code></code> || No || No || Not used
|-
|<aired></aired> || No || No || Original air date of the episode
|-
|<studio></studio> || No || Yes || Production studio. Inherited from TV Show
|-
|<trailer></trailer> || No || No || Not used
|-
|
    <episodebookmark>
        <position></position>
    </episodebookmark>
|| No || No || Episode Bookmark in seconds. ''See: [[Episode_bookmark|Episode Bookmarks]]''<br>
Not used for Import
|-
|<syntaxhighlight lang="xml">
<fileinfo>
    <streamdetails>
      <video>
        <codec></codec>
        <aspect></aspect>
        <width></width>
        <height></height>
        <durationinseconds></durationinseconds>
        <stereomode></stereomode>
      </video>
      <audio>
        <codec></codec>
        <language></language>
        <channels></channels>
      </audio>
      <subtitle>
        <language></language>
      </subtitle>
    </streamdetails>
</fileinfo>
</syntaxhighlight>
|| No || Yes || Multiple entries of <audio> and <subtitles> accepted<br>
In v17 and prior, {{kodi}} would overwrite these values on first play of the file.<br>
In v18 that process was removed and values in these tags will remain.<ref>https://github.com/xbmc/xbmc/pull/16342</ref>
|-
|
<actor>
  <name></name>
  <role></role>
  <order></order>
  <thumb></thumb>
</actor>
|| No || Yes || The <order> tag determines where in the list the actor will appear. 0 = first in the list
Supports "clear" attribute
|-
|
<resume>
  <position></position>
  <total></total>
</resume>
|| No || No || 
|-
|<dateadded></dateadded> || No || No || mTime of the playable video file. Can be altered in advancedsettings.xml
|}
|}
== Template nfo ==
A template NFO File is provided below that can be copied into your own file and completed. It is a simplified file:
*System generated tags are removed
*Assumes local artwork is being used
*Assumes no online information is available, so items like Ratings have no relevance
*This will be the first time scanned into library so watched status and play counts are not required.
If any of these removed tags are required, simply add the appropriate tags, and refer to the Sample NFO File in the next section to confirm correct usage.
<syntaxhighlight lang="xml">
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<episodedetails>
    <title></title>
    <showtitle></showtitle>
    <userrating></userrating>
    <plot></plot>
    <runtime></runtime>
    <uniqueid type="" default="true"></uniqueid>
    <credits></credits>
    <director></director>
    <aired></aired>
    <actor>
        <name></name>
        <role></role>
        <order></order>
        <thumb></thumb>
    </actor>
</episodedetails>
</syntaxhighlight>
== Sample nfo ==
Below is a sample nfo file that was exported from Kodi after scraping into the library using the default TheMovieDB-TV Shows scraper.
'''Press Expand at right edge of the green bar to view'''
{{collapse top| TV Episode nfo file  (click 'expand' to view)}}
<syntaxhighlight lang="xml">
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<episodedetails>
    <title>The Bone Orchard</title>
    <showtitle>American Gods</showtitle>
    <ratings>
        <rating name="tmdb" max="10" default="true">
            <value>7.532000</value>
            <votes>31</votes>
        </rating>
    </ratings>
    <userrating>0</userrating>
    <top250>0</top250>
    <season>1</season>
    <episode>1</episode>
    <displayseason>-1</displayseason>
    <displayepisode>-1</displayepisode>
    <outline></outline>
    <plot>When Shadow Moon is released from prison early after the death of his wife, he meets Mr. Wednesday and is recruited as his bodyguard. Shadow discovers that this may be more than he bargained for.</plot>
    <tagline></tagline>
    <runtime>0</runtime>
    <thumb>http://image.tmdb.org/t/p/original/uvry4weK00pFLn7fxQ9M4m3Da2A.jpg</thumb>
    <mpaa>16</mpaa>
    <playcount>0</playcount>
    <lastplayed></lastplayed>
    <id>1276153</id>
    <uniqueid type="tmdb" default="true">1276153</uniqueid>
    <genre>Drama</genre>
    <genre>Mystery</genre>
    <genre>Sci-Fi &amp; Fantasy</genre>
    <credits>Bryan Fuller</credits>
    <credits>Michael Green</credits>
    <director>David Slade</director>
    <premiered>2017-04-30</premiered>
    <year>2017</year>
    <status></status>
    <code></code>
    <aired>2017-04-30</aired>
    <studio>Starz</studio>
    <trailer></trailer>
    <actor>
        <name>Jonathan Tucker</name>
        <role>&apos;Low Key&apos; Lyesmith</role>
        <order>10</order>
        <thumb>http://image.tmdb.org/t/p/original/jvJpYDbwmUTACw7Yn7PKOP6CdlJ.jpg</thumb>
    </actor>
    <actor>
        <name>Demore Barnes</name>
        <role>Mr. Ibis</role>
        <order>11</order>
        <thumb>http://image.tmdb.org/t/p/original/4rEVzSIFPgiN14xYQnjKcKQ7tYE.jpg</thumb>
    </actor>
    <actor>
        <name>Betty Gilpin</name>
        <role>Audrey</role>
        <order>12</order>
        <thumb>http://image.tmdb.org/t/p/original/xFeqyem5i4Kf0nFjBZ4Oi9NM26k.jpg</thumb>
    </actor>
    <actor>
        <name>Beth Grant</name>
        <role>Jack</role>
        <order>13</order>
        <thumb>http://image.tmdb.org/t/p/original/zAT9GvzJE0ytL3C36L461cgKI9p.jpg</thumb>
    </actor>
    <actor>
        <name>Joel Murray</name>
        <role>Paunch</role>
        <order>14</order>
        <thumb>http://image.tmdb.org/t/p/original/t5syYfCgxbTC7XPrNeXhhhQULUf.jpg</thumb>
    </actor>
    <actor>
        <name>Ricky Whittle</name>
        <role>Shadow Moon</role>
        <order>0</order>
        <thumb>http://image.tmdb.org/t/p/original/cjeDbVfBp6Qvb3C74Dfy7BKDTQN.jpg</thumb>
    </actor>
    <actor>
        <name>Ian McShane</name>
        <role>Mr. Wednesday</role>
        <order>1</order>
        <thumb>http://image.tmdb.org/t/p/original/pY9ud4BJwHekNiO4MMItPbgkdAy.jpg</thumb>
    </actor>
    <actor>
        <name>Emily Browning</name>
        <role>Laura Moon</role>
        <order>2</order>
        <thumb>http://image.tmdb.org/t/p/original/fa1Kyj02wxwcdS6EHb2i27TNXvU.jpg</thumb>
    </actor>
    <actor>
        <name>Pablo Schreiber</name>
        <role>Mad Sweeney</role>
        <order>3</order>
        <thumb>http://image.tmdb.org/t/p/original/uo8YljeePz3pbj7gvWXdB4gOOW4.jpg</thumb>
    </actor>
    <actor>
        <name>Bruce Langley</name>
        <role>Technical Boy</role>
        <order>4</order>
        <thumb>http://image.tmdb.org/t/p/original/f4EOWUmznLqboq8Ce7jnlkHVK3Y.jpg</thumb>
    </actor>
    <actor>
        <name>Yetide Badaki</name>
        <role>Bilquis</role>
        <order>5</order>
        <thumb>http://image.tmdb.org/t/p/original/qfzkREHuI1JvMxBteIAjKX8qMEr.jpg</thumb>
    </actor>
    <resume>
        <position>0.000000</position>
        <total>0.000000</total>
    </resume>
    <dateadded>2017-10-07 14:25:47</dateadded>
</episodedetails>
</syntaxhighlight>
{{collapse bottom}}




Line 804: Line 193:




{{Top}}




{{updated|18}}
{{top}}
[[Category:Guides]]
{{updated|19}}
[[Category:First time user]]
 
[[Category:FAQ]]
[[Category:Karellen]]
[[Category:Karellen]]
[[Category:Manual]]
[[Category:Index]]
[[Category:Video library]]
[[Category:Video library]]
[[Category:Quick Start Guide]]
[[Category:Advanced topics]]

Revision as of 00:12, 23 April 2021

NFO Contents

NFO Main Page


See also:


Return to:

Home icon grey.png   ▶ NFO files ▶ TV shows


Introduction

NFO files for TV Shows are a little bit more complex as they require the following NFO files:

  • One nfo file for the TV Show. This file holds the overall TV show information
  • One nfo file for each Episode. This file holds information specific to that episode

For one TV Show with 10 episodes, 11 nfo files are required.


episodeguide URL

The <episodeguide> is the tag that allows the scrapers to find the episodes belonging to the TV Show at the site of the information provider. It is a complex item and its format depends on which information provider is being accessed, and whether a Python or XML based scraper is being used.

It is not normal to manually create a tvshow.nfo that require an <episodeguide>. If the TV show and episodes exist at the site of an information provider, then you should use the Kodi scrapers to scrape the TV show and episodes

If you find that you need to create nfo files, then it is assumed that the tv show does not exist at any of the information provider sites, so the <episodeguide> URL does not exist either and the tag is not needed.


nfo Name and Location

Regardless of what settings you have set for the source and scraper, Kodi will always search for and scan the nfo file first where available.

The tvshow.nfo file is placed inside the TV Show folder. The NFO filename is actually tvshow.nfo. Do not rename it with the title of the tv show. See image for example


nfo Tags

The following table lists available XML tags for TV Shows. [1]

Two XML tags are required and are indicated in the table below. All other tags are optional. Of course the less tags used, the less information scanned into the library.


NFO (xml) Tag Required Multiple Notes
<tvshow></tvshow> Yes No The top level parent tag for the nfo file. All other tags must be contained within these two tags
<title></title> Yes No The title of the TV Show
<originaltitle></originaltitle> No No The original title, usually in the language of the country of origin.
<showtitle></showtitle> No No Not in common use, but some skins may display an alternate title
<sorttitle></sorttitle> No No Allows alternate title sort without modifying the TV Show title. Not displayed in any library listing.
 <ratings>
   <rating name="" max="10" default="">
      <value></value>
      <votes></votes>
   </rating>
 </ratings>
No No default="true" default="false"
Only one rating can be set as default="true", additional ratings must be set as default="false" or ommitted

name="identifier". Do not use "default". Examples of identifier include...

<rating name="imdb" max="10">
<rating name="trakt" max="10">
<rating name="tvmaze" max="10">
<rating name="metacritic" max="10">
<rating name="tomatometerallcritics" max="10">
<rating name="tomatometerallaudience" max="10">

Example of complete entry...

<rating name="themoviedb" max="10" default="true">
<rating name="imdb" max="10" default="false"> or <rating name="themoviedb" max="10">
<userrating></userrating> No No Personal rating set by the user
<top250></top250> No No Ranking in IMDB Top 250
<season></season> No No Number of seasons of this TV Show in the library
<episode></episode> No No Number of episodes of this TV Show in the library
<displayepisode></displayepisode> No No Not used
<displayseason></displayseason> No No Not used
<outline></outline> No No Not Used
<plot></plot> No No Can contain more information on multiple lines, will be wrapped
<tagline></tagline> No No Short TV Show slogan
<runtime></runtime> No No Not used
<thumb aspect="" preview=""></thumb>

<thumb aspect="poster" type="season" season="" preview=""></thumb>

No Yes Path to available TV Show Posters. Not needed when using local artwork

Example use of aspect=""

<thumb aspect="banner"
<thumb aspect="clearart"
<thumb aspect="clearlogo"
<thumb aspect="landscape"
<thumb aspect="poster"

type="season" used for season specific artwork
season="2" nominates season number eg. season 2

<fanart>
    <thumb preview=""></thumb>
</fanart>
No Yes^ Path to available TV Show fanart.
^ Multiple <thumb> entries allowed between the <fanart></fanart> tags
<mpaa></mpaa> No No Country specific mpaa rating system. Check with skin author which prefix is required to diplay your country local rating system
<playcount></playcount> No No Number of times TV show has been played. Will only ever show 0 or 1. Episodes track playcounts
See... Import-Export
<lastplayed></lastplayed> No No Date TV Show was last played
<episodeguide>
  <url cache=""></url>
</episodeguide>
Yes/No No Read section 1.1 episodeguide URL above

When using TVDB scraper, Kodi will only read the URL created by the TVDB v2 API [2]
When a URL is used, the corresponding scraper must be set.

<id></id> No No The default ID.

Do not use as this is a Kodi generated tag. See next item.

<uniqueid type="" default=""></uniqueid> Yes Yes The ID from the scraper site.

type="" Identifier of the ID. Do not use "default". Examples of identifier include...

<uniqueid type="imdb"
<uniqueid type="tvdb"
<uniqueid type="tmdb"
For non-scraped items, use simple values like "home", "sport", "doco" etc
The value can be alpha-numeric eg tt3480556 for imdb, 286668 for tmdb, home001 for home movies, etc

default="true" default="false"

Only one uniqueID can be set as default="true", additional uniqueID's must be set as default="false" or ommit the default attribute

Example of complete entry...

<uniqueid type="tmdb" default="true">
<uniqueid type="imdb" default="false"> or <uniqueid type="imdb">
<genre></genre> No Yes Genre
<tag></tag> No Yes Tags. See: Video library tags
<premiered></premiered> No No Release date of TV Show. Comes from Aired Date of the first episode.

Format as 2019-01-31

<year></year> No No Release Year.

Do not use. Use <premiered> instead

<status></status> No No Continuing or Ended show
No No Not used
<aired></aired> No No Not used
<studio></studio> No Yes Production studio
<trailer></trailer> No No Local or online path to TV Show trailer
<actor>
  <name></name>
  <role></role>
  <order></order>
  <thumb></thumb>
</actor>
No Yes The <order> tag determines where in the list the actor will appear. 0 = first in the list

Supports "clear" attribute

<namedseason number=""></namedseason> No Yes Allows naming of Seasons- eg Game of Thrones named seasons

number="" = Season number to be renamed

<resume>
  <position></position>
  <total></total>
</resume>
No No Not used for TV Show
<dateadded></dateadded> No No mTime of the playable video file. Can be altered in advancedsettings.xml
See... Advancedsettings.xml#videolibrary


References



Return to top