NFO files/TV shows: Difference between revisions

From Official Kodi Wiki
Jump to navigation Jump to search
No edit summary
(Updated for v19)
(26 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{|class="infobox" style="width:200px"
{{NFO_content}}
! NFO Contents
{{mininav|[[NFO files]]}}
|-
|
* '''[[NFO_files|NFO Files]]'''
** '''[[NFO_files/movies|Movies]]'''
** '''[[NFO_files/tvshows|TV Shows]]'''
** '''[[NFO_files/music|Music]]'''
** '''[[NFO_files/musicvideos|Music Videos]]'''
 
<small>Report NFO corrections:<br />
[https:// here in the forum]</small>
|}
{{mininav|[[NFO_files]]}}
 
 
 
= Requirements =
TV Shows require the following nfo files
#One nfo file for the TV Show. This file holds the overall show information
#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.


If you choose not to use nfo files for each episode, but only for the main TV Show, then the tvshow.nfo file must contain a valid ''<episodeguideurl>'' to allow online updates. If not, only episodes with .nfo files will be added.
__TOC__


TV Shows and Episodes '''must''' abide by the standard naming conventions even if you are using nfo files.<br /><br />


If using a Parsing nfo, then only one '''''tvshow.nfo''''' is required. No episode nfo's are required.
= Introduction =
<br /><br />
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.


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


When Kodi locates the nfo file it will load the *.nfo file and:
#If the file is a metadata nfo, Kodi will import the meta-data directly into the library from the .nfo file or
#If the file is a parsing nfo, Kodi will parse the nfo file for a direct URL to the scraper info page, then scrape the online metadata.
#If the file is a combination nfo, Kodi will parse the nfo file and scrape the online metadata, then import the metadata from the nfo file.


= 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


== Known Issues ==
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.
The parsing nfo requires the URL to be '''''http''''' only (no '''s'''). Currently '''''https''''' addresses are not recognised during parsing.
 
 
 
= nfo Placement =
Correct placement of the nfo file is essential. '''Regardless of what settings you have set for the source and scraper, Kodi will always search for and scrape a nfo file if it is available.''' Failing to save the file 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.
 
 
 
== TV Show ==
One TV Show nfo is required. Be aware the nfo filename is actually '''tvshow.nfo'''. This is not meant to indicate that it is replaced with the name of the show.
 
<div style="{{linear-gradient|bottom|#f5f5a1, #a1f5e4}}">
'''''Naming & Saving conventions for your TV Show *.nfo files:'''''
{|
|- valign="top"
| width=200px |'''''Saved TV Show as'''''
| width=300px |'''''File Name'''''
| width=600px |'''''Save Location'''''
|- valign="top"
| width=200px |All formats
| width=300px |tvshow.nfo
| width=600px |f:\MyTVShows\iZombie\tvshow.nfo
|}
</div>






== TV Episode ==
= nfo Name and Location =
One nfo file for every episode is required.
'''{{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.}}'''


<div style="{{linear-gradient|top|#f5f5a1, #a1f5e4}}">
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
'''''Naming & Saving conventions for your TV Episode *.nfo files:'''''
{|
|- valign="top"
| width=200px |'''''Saved Episodes as'''''
| width=300px |'''''File Name'''''
| width=600px |'''''Save Location'''''
|- valign="top"
| width=200px |BluRay Structure:
| width=300px |index.nfo
| width=600px |f:\MyTVShows\iZombie\iZombie S01E01\BDMV\index.nfo
|- valign="top"
| width=200px |DVD Structure:
| width=300px |VIDEO_TS.nfo
| width=600px |f:\MyTVShows\iZombie\iZombie S01E01\VIDEO_TS\VIDEO_TS.nfo
|- valign="top"
| width=200px |Single Episode file in directory:
| width=300px |<EpisodeFileName>.nfo
| width=600px |f:\MyTVShows\iZombie\iZombie S01E01\<EpisodeFileName>.nfo
|- valign="top"
| width=200px |All episodes in TV Show directory:
| width=300px |<EpisodeFileName>.nfo
| width=600px |f:\MyTVShows\iZombie\<EpisodeFileName>.nfo
|}
</div>


<gallery mode="packed" widths="1000px" heights="562px">
File:LocalTVShowArtwork01.jpg|'''''Location of tvshow.nfo along with artwork'''''
</gallery>




= TV nfo Tags =
The only required tags are indicated below in the tables. All other tags are optional. Of course, the less tags used, the less information that will be scraped into the library unless you are using a parsing or combination nfo.
:'''''See also: [[Databases]]


= nfo Tags =
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.


== TV Show Tags ==
The following table lists the XML tags available for the TV Show in Kodi. Children tags are displayed correctly with parent tags.


{|class="prettytable"
{|class="prettytable"
! NFO (xml) Tag || Required || Multiple || Notes
! 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
<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
|-
|<aired></aired> || No || No || Not used
|-
|-
|<code><code></code></code> || || || Unknown
|<title></title> || {{Yes}} || No || The title of the TV Show
|-
|-
|<dateadded></dateadded> || No || No || Date the file was added to library. Can be altered in advancedsettings.xml
|<originaltitle></originaltitle> || No || No || The original title, usually in the language of the country of origin.
|-
|-
|<displayepisode></displayepisode> || No || No || Not used in TV Shows
|<showtitle></showtitle> || No || No || Not in common use, but some skins may display an alternate title
|-
|-
|<displayseason></displayseason> || No || No || Not used in TV Shows
|<sorttitle></sorttitle> || No || No || Allows alternate title sort without modifying the TV Show title. Not displayed in any library listing.
|-
|<episode></episode> || No || No || Number of episodes in TV Show
|-
|-
|
|
<episodeguide>
  <ratings>
  <url cache=""></url>
    <rating name="" max="10" default="">
</episodeguide>
      <value></value>
|| Yes/No || No || Required if no or missing episode nfo's
      <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
<fanart url="">
    <thumb dim="" colors="" preview=""></thumb>
</fanart>
|| No || No || Path to available TV Show fanart. Multible <thumb> entries allowed. dim=Dimensions
|-
|-
|<id></id> || No || No || Scraper site ID
|<top250></top250> || No || No || Ranking in IMDB Top 250
|-
|-
|<genre></genre> || No || Yes || Supports "clear" attribute
|<season></season> || No || No ||Number of seasons of this TV Show in the library
|-
|-
|<lastplayed></lastplayed> || No || No ||
|<episode></episode> || No || No || Number of episodes of this TV Show in the library
|-
|-
|<mpaa></mpaa> || No || No ||
|<displayepisode></displayepisode> || No || No || Not used
|-
|-
|<originaltitle></originaltitle> || No || No ||
|<displayseason></displayseason> || No || No || Not used
|-
|-
|<outline></outline> || || || Not Used
|<outline></outline> || No || No || Not Used
|-
|-
|<playcount></playcount> || || || Setting this to 1, or greater, will mark the TV Show as watched if the ''importwatchedstate'' flag is set in advancedsettings.xml
|<plot></plot> || No || No || Can contain more information on multiple lines, will be wrapped
|-
|-
|<plot></plot> || || ||  
|<tagline></tagline> || No || No || Short TV Show slogan
|-
|-
|<premiered></premiered> || No || No ||
|<runtime></runtime> || No || No || Not used
|-
|-
|
|<thumb aspect="" preview=""></thumb>
  <ratings>
<thumb aspect="poster" type="season" season="" preview=""></thumb>  
    <rating name="default" max="10" default="true">
|| No || Yes || Path to available TV Show Posters. Not needed when using local artwork<br>
      <value></value>
Example use of ''aspect=""''
      <votes></votes>
:<thumb aspect="banner"
    </rating>
:<thumb aspect="clearart"
  </ratings>
:<thumb aspect="clearlogo"
|| No || No ||
:<thumb aspect="landscape"
:<thumb aspect="poster"<br>
''type="season"'' used for season specific artwork<br>
''season="2"'' nominates season number eg. season 2
|-
|-
|
|
  <resume>
  <fanart>
  <position></position>
    <thumb preview=""></thumb>
  <total></total>
  </fanart>
  </resume>
|| No || Yes^ || Path to available TV Show fanart.<br>
|| No || No || Not used for TV Show  
:^ Multiple <thumb> entries allowed between the <fanart></fanart> tags
|-
|-
|<runtime></runtime> || No || No || Minutes only
|<mpaa></mpaa> || No || No || Country specific mpaa rating system. Check with skin author which prefix is required to diplay your country local rating system
|-
|-
|<season></season> || No || No || Used to display total number of seasons in TV Show
|<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]]
|-
|-
|<showtitle></showtitle> || No || No ||
|<lastplayed></lastplayed> || No || No || Date TV Show was last played
|-
|-
|<sorttitle></sorttitle> || No || No || Allows alternate title sort without modifying show title in library.
|
<episodeguide>
  <url cache=""></url>
</episodeguide>
|| 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 a URL is used, the corresponding scraper must be set.
|-
|-
|<status></status> || No || No || Continuing or Ended show
|<id></id> || No || No || The default ID. <br>
Do not use as this is a Kodi generated tag. See next item.
|-
|-
|<studio></studio> || No || Yes || Supports "clear" attribute
|<uniqueid type="" default=""></uniqueid> || {{Yes}} || Yes ||The ID from the scraper site.<br>
''type=""'' Identifier of the ID. Do not use "default". Examples of identifier include...<br>
::''<uniqueid type="imdb"''<br>
::''<uniqueid type="tvdb"''<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 ommit the default attribute<br>
Example of complete entry...
::''<uniqueid type="tmdb" default="true">''<br>
::''<uniqueid type="imdb" default="false"> or <uniqueid type="imdb">''<br>
|-
|-
|<tag></tag> || No || Yes || TV Show tags
|<genre></genre> || No || Yes || Genre
|-
|-
|<tagline></tagline> || No || No ||
|<tag></tag> || No || Yes || Tags. See: ''[[Video library tags]]''
|-
|-
|<thumb aspect="" type="" season=""></thumb> || No || Yes || Path to TV Show and Season artwork
|<premiered></premiered> || No || No || Release date of TV Show. Comes from Aired Date of the first episode.<br>
Format as ''2019-01-31''
|-
|-
|<title></title> || No || No ||
|<year></year> || No || No || Release Year.<br>
Do not use. Use <premiered> instead
|-
|-
|<top250></top250> || No || No ||
|<status></status> || No || No || Continuing or Ended show
|-
|-
|<trailer></trailer> || No || No || Path to TV Show trailer
| <code><code></code></code> || No || No || Not used
|-
|-
|<tvshow></tvshow> || Yes || No || The top level parent tag for the nfo file. '''All other tags must be contained within these two tags'''
|<aired></aired> || No || No || Not used
|-
|-
|<uniqueid type="unknown" default="true"></uniqueid> || No || No || Scraper site ID
|<studio></studio> || No || Yes || Production studio
|-
|-
|<userrating></userrating> || No || No ||
|<trailer></trailer> || No || No || Local or online path to TV Show trailer
|-
|<year></year> || No || No ||
|}
 
 
== TV Episode Tags ==
The following table lists the XML tags available for TV Episodes in Kodi. Children tags are displayed correctly with parent tags.
 
For multi-part episodes, simply add multiple <episodedetails> XML blocks in succession.
 
{|class="prettytable"
! NFO (xml) Tag || Required || Multiple || Notes
|-
|-
|
|
Line 236: Line 173:
Supports "clear" attribute
Supports "clear" attribute
|-
|-
|<aired></aired> || No || No || Original air date of the episode
| <namedseason number=""></namedseason> || No || Yes || Allows naming of Seasons- eg Game of Thrones named seasons<br>
|-
''number=""'' = Season number to be renamed
|<code><code></code></code> ||  ||  || Unknown
|-
|<credits></credits> || No || Yes || Writers
|-
|<dateadded></dateadded> || No || No || Date the file was added to library. Can be altered in advancedsettings.xml
|-
|<director></director> || No || No ||
|-
|<displayepisode></displayepisode> || No || No || Used to place Special Episodes in the correct viewing order
|-
|<displayseason></displayseason> || No || No || Used to place Special Episodes in the correct viewing order
|-
|<episode></episode> || No || No || Episode numbering
|-
|<episodedetails></episodedetails> || Yes || No || The top level parent tag for the nfo file. '''All other tags must be contained within these two tags'''
|-
|
<fileinfo>
  <streamdetails>
    <video>
      <codec>h264</codec>
      <aspect>1.777778</aspect>
      <width>1920</width>
      <height>1080</height>
      <durationinseconds>2626</durationinseconds>
      <stereomode></stereomode>
    </video>
    <audio>
      <codec>mp2</codec>
      <language>eng</language>
      <channels>2</channels>
    </audio>
  </streamdetails>
</fileinfo>
|| No || No || While it is possible to manually set the information contained within the <streamdetails> tag, there is little point in doing so.
Kodi will always overwrite this data when it plays back the video file.<br />
In other words, no matter how many times you try to manually set it, it will be overwritten the moment the video is played
|-
|<id></id> || No || No || Scraper site ID
|-
|<genre></genre> || No || Yes || Supports "clear" attribute
|-
|<lastplayed></lastplayed> || No || No ||
|-
|<mpaa></mpaa> || No || No ||
|-
|<originaltitle></originaltitle> || No || No ||
|-
|<outline></outline> ||  ||  ||
|-
|<playcount></playcount> ||  ||  || Setting this to 1, or greater, will mark the TV Show as watched if the ''importwatchedstate'' flag is set in advancedsettings.xml
|-
|<plot></plot> ||  ||  ||
|-
|<premiered></premiered> || No || No ||
|-
|
  <ratings>
    <rating name="default" max="10" default="true">
      <value></value>
      <votes></votes>
    </rating>
  </ratings>
|| No || No ||
|-
|-
|
|
Line 308: Line 181:
   <total></total>
   <total></total>
  </resume>
  </resume>
|| No || No ||
|| No || No || Not used for TV Show
|-
|<runtime></runtime> || No || No || Minutes only
|-
|<season></season> || No || No || Season the episode belongs to
|-
|<showtitle></showtitle> || No || No ||
|-
|-
|<status></status> || No || No || Not used in Episodes
|<dateadded></dateadded> || No || No || mTime of the playable video file. Can be altered in advancedsettings.xml<br>See... '''[[Advancedsettings.xml#videolibrary]]'''
|-
|<studio></studio> || No || Yes || Supports "clear" attribute
|-
|<tagline></tagline> || No || No ||
|-
|<thumb></thumb> || No || Yes || Path to episode artwork
|-
|<title></title> || No || No ||
|-
|<top250></top250> || No || No ||
|-
|<trailer></trailer> || No || No || Path to TV Show trailer
|-
|<uniqueid type="unknown" default="true"></uniqueid> || No || No || Scraper site ID
|-
|<userrating></userrating> || No || No ||
|-
|<year></year> || No || No ||
|}
|}






 
= References =
= Sample nfo Files =
<references />
Provided below is a sample nfo file for the TV Show and for Episodes to assist with the manual creation process.
 
'''Press Expand at right edge of the green bar to view'''
 
 
== TV Show nfo ==
Sample TV Show nfo
 
{{collapse top| TV Show nfo file  (click 'expand' to view)}}
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<tvshow>
    <title>Angel</title>
    <originaltitle>TtvshowC09</originaltitle>
    <showtitle>Angel</showtitle>
    <sorttitle>TtvshowC15</sorttitle>
    <ratings>
        <rating name="default" max="10" default="true">
            <value>8.600000</value>
            <votes>88</votes>
        </rating>
    </ratings>
    <userrating>9</userrating>
    <top250>0</top250>
    <season>5</season>
    <episode>110</episode>
    <displayseason>-1</displayseason>
    <displayepisode>-1</displayepisode>
    <outline></outline>
    <plot>Angel is an American television series, a spin-off from the television series Buffy the Vampire Slayer. &#x0D;&#x0A;Angel (David Boreanaz), a 240-year old vampire cursed with a conscience, haunts the dark streets of Los Angeles alone. But after he meets a half-demon with mysterious visions, Angel realizes his true purpose: to help those in danger with the hope that he may have a chance to redeem himself and save his own soul. With Cordelia (Charisma Carpenter) and Doyle (Glenn Quinn) at his side, he forms Angel Investigations. He is soon joined by Wesley (Alexis Denisof), Gunn (J. August Richards), Lorne (Andy Hallett) and Fred (Amy Acker), and he will need all their expertise to fight the growing forces of evil, and the supernatural law firm of Wolfram and Hart.</plot>
    <tagline></tagline>
    <runtime>45</runtime>
    <thumb aspect="banner">http://thetvdb.com/banners/graphical/71035-g7.jpg</thumb>
    <thumb aspect="banner">http://thetvdb.com/banners/graphical/71035-g2.jpg</thumb>
    <thumb aspect="banner">http://thetvdb.com/banners/graphical/12-g.jpg</thumb>
    <thumb aspect="banner">http://thetvdb.com/banners/graphical/71035-g8.jpg</thumb>
    <thumb aspect="banner">http://thetvdb.com/banners/graphical/71035-g6.jpg</thumb>
    <thumb aspect="banner">http://thetvdb.com/banners/graphical/71035-g3.jpg</thumb>
    <thumb aspect="banner">http://thetvdb.com/banners/graphical/71035-g4.jpg</thumb>
    <thumb aspect="banner">http://thetvdb.com/banners/graphical/71035-g10.jpg</thumb>
    <thumb aspect="banner">http://thetvdb.com/banners/graphical/71035-g.jpg</thumb>
    <thumb aspect="banner">http://thetvdb.com/banners/graphical/71035-g9.jpg</thumb>
    <thumb aspect="banner">http://thetvdb.com/banners/graphical/71035-g5.jpg</thumb>
    <thumb aspect="banner">http://thetvdb.com/banners/text/71035.jpg</thumb>
    <thumb aspect="banner">http://thetvdb.com/banners/text/12.jpg</thumb>
    <thumb aspect="poster" type="season" season="0">http://thetvdb.com/banners/seasons/71035-0-2.jpg</thumb>
    <thumb aspect="poster" type="season" season="5">http://thetvdb.com/banners/seasons/71035-5-2.jpg</thumb>
    <thumb aspect="poster" type="season" season="3">http://thetvdb.com/banners/seasons/71035-3-3.jpg</thumb>
    <thumb aspect="poster" type="season" season="4">http://thetvdb.com/banners/seasons/71035-4-2.jpg</thumb>
    <thumb aspect="poster" type="season" season="2">http://thetvdb.com/banners/seasons/71035-2-2.jpg</thumb>
    <thumb aspect="poster" type="season" season="2">http://thetvdb.com/banners/seasons/12-2.jpg</thumb>
    <thumb aspect="poster" type="season" season="3">http://thetvdb.com/banners/seasons/71035-3-2.jpg</thumb>
    <thumb aspect="poster" type="season" season="4">http://thetvdb.com/banners/seasons/12-4.jpg</thumb>
    <thumb aspect="poster" type="season" season="4">http://thetvdb.com/banners/seasons/71035-4-3.jpg</thumb>
    <thumb aspect="poster" type="season" season="5">http://thetvdb.com/banners/seasons/71035-5-3.jpg</thumb>
    <thumb aspect="poster" type="season" season="3">http://thetvdb.com/banners/seasons/71035-3-4.jpg</thumb>
    <thumb aspect="poster" type="season" season="2">http://thetvdb.com/banners/seasons/71035-2-3.jpg</thumb>
    <thumb aspect="poster" type="season" season="5">http://thetvdb.com/banners/seasons/12-5.jpg</thumb>
    <thumb aspect="poster" type="season" season="1">http://thetvdb.com/banners/seasons/71035-1-3.jpg</thumb>
    <thumb aspect="poster" type="season" season="1">http://thetvdb.com/banners/seasons/12-1.jpg</thumb>
    <thumb aspect="poster" type="season" season="1">http://thetvdb.com/banners/seasons/71035-1.jpg</thumb>
    <thumb aspect="poster" type="season" season="3">http://thetvdb.com/banners/seasons/12-3.jpg</thumb>
    <thumb aspect="poster" type="season" season="4">http://thetvdb.com/banners/seasons/71035-4.jpg</thumb>
    <thumb aspect="poster" type="season" season="2">http://thetvdb.com/banners/seasons/71035-2.jpg</thumb>
    <thumb aspect="poster" type="season" season="3">http://thetvdb.com/banners/seasons/71035-3.jpg</thumb>
    <thumb aspect="poster" type="season" season="0">http://thetvdb.com/banners/seasons/71035-0.jpg</thumb>
    <thumb aspect="poster" type="season" season="5">http://thetvdb.com/banners/seasons/71035-5.jpg</thumb>
    <thumb aspect="poster" type="season" season="1">http://thetvdb.com/banners/seasons/71035-1-5.jpg</thumb>
    <thumb aspect="poster" type="season" season="1">http://thetvdb.com/banners/seasons/71035-1-2.jpg</thumb>
    <thumb aspect="poster" type="season" season="1">http://thetvdb.com/banners/seasons/71035-1-4.jpg</thumb>
    <thumb aspect="poster" type="season" season="4">http://thetvdb.com/banners/seasons/71035-4-4.jpg</thumb>
    <thumb aspect="poster" type="season" season="5">http://thetvdb.com/banners/seasons/71035-5-4.jpg</thumb>
    <thumb aspect="poster" type="season" season="2">http://thetvdb.com/banners/seasons/71035-2-4.jpg</thumb>
    <thumb aspect="poster" type="season" season="3">http://thetvdb.com/banners/seasons/71035-3-5.jpg</thumb>
    <thumb aspect="banner" type="season" season="5">http://thetvdb.com/banners/seasonswide/71035-5.jpg</thumb>
    <thumb aspect="banner" type="season" season="3">http://thetvdb.com/banners/seasonswide/71035-3.jpg</thumb>
    <thumb aspect="banner" type="season" season="4">http://thetvdb.com/banners/seasonswide/71035-4.jpg</thumb>
    <thumb aspect="banner" type="season" season="1">http://thetvdb.com/banners/seasonswide/71035-1.jpg</thumb>
    <thumb aspect="banner" type="season" season="2">http://thetvdb.com/banners/seasonswide/71035-2.jpg</thumb>
    <thumb aspect="poster">http://thetvdb.com/banners/posters/71035-1.jpg</thumb>
    <thumb aspect="poster">http://thetvdb.com/banners/posters/71035-2.jpg</thumb>
    <thumb aspect="poster">http://thetvdb.com/banners/posters/71035-5.jpg</thumb>
    <thumb aspect="poster">http://thetvdb.com/banners/posters/71035-8.jpg</thumb>
    <thumb aspect="poster">http://thetvdb.com/banners/posters/71035-3.jpg</thumb>
    <thumb aspect="poster">http://thetvdb.com/banners/posters/71035-4.jpg</thumb>
    <thumb aspect="poster" type="season" season="-1">http://thetvdb.com/banners/posters/71035-1.jpg</thumb>
    <thumb aspect="poster" type="season" season="-1">http://thetvdb.com/banners/posters/71035-2.jpg</thumb>
    <thumb aspect="poster" type="season" season="-1">http://thetvdb.com/banners/posters/71035-5.jpg</thumb>
    <thumb aspect="poster" type="season" season="-1">http://thetvdb.com/banners/posters/71035-8.jpg</thumb>
    <thumb aspect="poster" type="season" season="-1">http://thetvdb.com/banners/posters/71035-3.jpg</thumb>
    <thumb aspect="poster" type="season" season="-1">http://thetvdb.com/banners/posters/71035-4.jpg</thumb>
    <fanart url="http://thetvdb.com/banners/">
        <thumb dim="1920x1080" colors="" preview="_cache/fanart/original/71035-6.jpg">fanart/original/71035-6.jpg</thumb>
        <thumb dim="1920x1080" colors="|182,161,96|51,49,50|154,46,33|" preview="_cache/fanart/original/71035-3.jpg">fanart/original/71035-3.jpg</thumb>
        <thumb dim="1920x1080" colors="" preview="_cache/fanart/original/71035-5.jpg">fanart/original/71035-5.jpg</thumb>
        <thumb dim="1280x720" colors="|87,86,55|6,1,7|118,106,84|" preview="_cache/fanart/original/71035-12.jpg">fanart/original/71035-12.jpg</thumb>
        <thumb dim="1920x1080" colors="|45,29,30|126,67,49|179,127,116|" preview="_cache/fanart/original/71035-4.jpg">fanart/original/71035-4.jpg</thumb>
        <thumb dim="1920x1080" colors="" preview="_cache/fanart/original/71035-15.jpg">fanart/original/71035-15.jpg</thumb>
        <thumb dim="1280x720" colors="" preview="_cache/fanart/original/71035-2.jpg">fanart/original/71035-2.jpg</thumb>
        <thumb dim="1920x1080" colors="" preview="_cache/fanart/original/71035-10.jpg">fanart/original/71035-10.jpg</thumb>
        <thumb dim="1920x1080" colors="|251,223,201|65,52,78|36,29,36|" preview="_cache/fanart/original/71035-1.jpg">fanart/original/71035-1.jpg</thumb>
        <thumb dim="1920x1080" colors="" preview="_cache/fanart/original/71035-17.jpg">fanart/original/71035-17.jpg</thumb>
        <thumb dim="1280x720" colors="|253,251,254|0,0,8|219,153,119|" preview="_cache/fanart/original/71035-11.jpg">fanart/original/71035-11.jpg</thumb>
        <thumb dim="1280x720" colors="" preview="_cache/fanart/original/71035-9.jpg">fanart/original/71035-9.jpg</thumb>
        <thumb dim="1280x720" colors="" preview="_cache/fanart/original/71035-8.jpg">fanart/original/71035-8.jpg</thumb>
        <thumb dim="1280x720" colors="" preview="_cache/fanart/original/71035-13.jpg">fanart/original/71035-13.jpg</thumb>
        <thumb dim="1920x1080" colors="" preview="_cache/fanart/original/71035-7.jpg">fanart/original/71035-7.jpg</thumb>
        <thumb dim="1920x1080" colors="" preview="_cache/fanart/original/71035-14.jpg">fanart/original/71035-14.jpg</thumb>
        <thumb dim="1920x1080" colors="" preview="_cache/fanart/original/71035-16.jpg">fanart/original/71035-16.jpg</thumb>
        <thumb dim="1920x1080" colors="" preview="_cache/fanart/original/71035-19.jpg">fanart/original/71035-19.jpg</thumb>
        <thumb dim="1920x1080" colors="" preview="_cache/fanart/original/71035-18.jpg">fanart/original/71035-18.jpg</thumb>
    </fanart>
    <mpaa>TV-PG</mpaa>
    <playcount>0</playcount>
    <lastplayed>2017-09-13</lastplayed>
    <episodeguide>
        <url cache="71035-en.xml">http://thetvdb.com/api/439DFEBA9D3059C6/series/71035/all/en.zip</url>
    </episodeguide>
    <id>71035</id>
    <uniqueid type="unknown" default="true">71035</uniqueid>
    <genre>Action</genre>
    <genre>Adventure</genre>
    <genre>Comedy</genre>
    <genre>Drama</genre>
    <genre>Fantasy</genre>
    <genre>Horror</genre>
    <tag>BestTag</tag>
    <premiered>1999-10-05</premiered>
    <year>1999</year>
    <status>Ended</status>
    <code></code>
    <aired></aired>
    <studio>The WB</studio>
    <trailer></trailer>
    <actor>
        <name>David Boreanaz</name>
        <role>Angel</role>
        <order>0</order>
        <thumb>http://thetvdb.com/banners/actors/6309.jpg</thumb>
    </actor>
    <actor>
        <name>J. August Richards</name>
        <role>Charles Gunn</role>
        <order>1</order>
        <thumb>http://thetvdb.com/banners/actors/6304.jpg</thumb>
    </actor>
    <actor>
        <name>Charisma Carpenter</name>
        <role>Cordelia Chase</role>
        <order>2</order>
        <thumb>http://thetvdb.com/banners/actors/6311.jpg</thumb>
    </actor>
    <actor>
        <name>Alexis Denisof</name>
        <role>Wesley Wyndam-Pryce</role>
        <order>3</order>
        <thumb>http://thetvdb.com/banners/actors/6307.jpg</thumb>
    </actor>
    <actor>
        <name>Glenn Quinn</name>
        <role>Alan Francis Doyle</role>
        <order>4</order>
        <thumb>http://thetvdb.com/banners/actors/6313.jpg</thumb>
    </actor>
    <actor>
        <name>Amy Acker</name>
        <role>Winifred &quot;Fred&quot; Burkle|Illyria</role>
        <order>5</order>
        <thumb>http://thetvdb.com/banners/actors/6312.jpg</thumb>
    </actor>
    <actor>
        <name>Mercedes McNab</name>
        <role>Harmony &quot;Harm&quot; Kendall</role>
        <order>6</order>
        <thumb>http://thetvdb.com/banners/actors/6310.jpg</thumb>
    </actor>
    <actor>
        <name>James Marsters</name>
        <role>Spike</role>
        <order>7</order>
        <thumb>http://thetvdb.com/banners/actors/6308.jpg</thumb>
    </actor>
    <actor>
        <name>Vincent Kartheiser</name>
        <role>Connor</role>
        <order>8</order>
        <thumb>http://thetvdb.com/banners/actors/6306.jpg</thumb>
    </actor>
    <actor>
        <name>Andy Hallett</name>
        <role>Lorne</role>
        <order>9</order>
        <thumb>http://thetvdb.com/banners/actors/6305.jpg</thumb>
    </actor>
    <actor>
        <name>Elisabeth Rohm</name>
        <role>Kate Lockley</role>
        <order>10</order>
        <thumb>http://thetvdb.com/banners/actors/109231.jpg</thumb>
    </actor>
    <actor>
        <name>Stephanie Romanov</name>
        <role>Lilah Morgan</role>
        <order>22</order>
        <thumb></thumb>
    </actor>
    <resume>
        <position>0.000000</position>
        <total>0.000000</total>
    </resume>
    <dateadded>2017-05-10 08:44:24</dateadded>
</tvshow>
 
{{collapse bottom}}
 
 
 
 
== TV Episode nfo ==
Sample TV Episode nfo
 
{{collapse top| TV Episode nfo file  (click 'expand' to view)}}
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<episodedetails>
    <title>City of</title>
    <originaltitle>TepisodeC14</originaltitle>
    <showtitle>Angel</showtitle>
    <ratings>
        <rating name="default" max="10" default="true">
            <value>7.500000</value>
            <votes>29</votes>
        </rating>
    </ratings>
    <userrating>10</userrating>
    <top250>0</top250>
    <season>1</season>
    <episode>1</episode>
    <displayseason>-1</displayseason>
    <displayepisode>-1</displayepisode>
    <outline></outline>
    <plot>Newly arrived in Los Angeles, Angel is befriended by  a half-demon named Doyle whose visions lead him to a powerful vampire whose next victim just may be Cordelia Chase.</plot>
    <tagline></tagline>
    <runtime>43</runtime>
    <thumb>http://thetvdb.com/banners/episodes/71035/31099.jpg</thumb>
    <mpaa>TV-PG</mpaa>
    <playcount>10</playcount>
    <lastplayed>2017-09-13</lastplayed>
    <id>31099</id>
    <uniqueid type="unknown" default="true">31099</uniqueid>
    <genre>Action</genre>
    <genre>Adventure</genre>
    <genre>Comedy</genre>
    <genre>Drama</genre>
    <genre>Fantasy</genre>
    <genre>Horror</genre>
    <credits>Joss Whedon</credits>
    <credits>David Greenwalt</credits>
    <director>Joss Whedon</director>
    <premiered>1999-10-05</premiered>
    <year>1999</year>
    <status></status>
    <code>TepisodeC11</code>
    <aired>1999-10-05</aired>
    <studio>The WB</studio>
    <trailer></trailer>
    <fileinfo>
        <streamdetails>
            <video>
                <codec>h264</codec>
                <aspect>1.777778</aspect>
                <width>1920</width>
                <height>1080</height>
                <durationinseconds>2626</durationinseconds>
                <stereomode></stereomode>
            </video>
            <audio>
                <codec>mp2</codec>
                <language>eng</language>
                <channels>2</channels>
            </audio>
        </streamdetails>
    </fileinfo>
    <actor>
        <name>Gina McClain</name>
        <role></role>
        <order>0</order>
        <thumb></thumb>
    </actor>
    <actor>
        <name>Sam Pancake</name>
        <role></role>
        <order>1</order>
        <thumb></thumb>
    </actor>
    <actor>
        <name>Renee Ridgeley</name>
        <role></role>
        <order>2</order>
        <thumb></thumb>
    </actor>
    <actor>
        <name>Jon Ingrassia</name>
        <role></role>
        <order>3</order>
        <thumb></thumb>
    </actor>
    <actor>
        <name>Christian Kane</name>
        <role></role>
        <order>4</order>
        <thumb></thumb>
    </actor>
    <actor>
        <name>Vyto Ruginis</name>
        <role></role>
        <order>5</order>
        <thumb></thumb>
    </actor>
    <actor>
        <name>Josh Holloway</name>
        <role></role>
        <order>6</order>
        <thumb></thumb>
    </actor>
    <actor>
        <name>Tracy Middendorf</name>
        <role></role>
        <order>7</order>
        <thumb></thumb>
    </actor>
    <actor>
        <name>Michael Mantell</name>
        <role></role>
        <order>8</order>
        <thumb></thumb>
    </actor>
    <actor>
        <name>Ron Rifkin</name>
        <role></role>
        <order>9</order>
        <thumb></thumb>
    </actor>
    <actor>
        <name>David Boreanaz</name>
        <role>Angel</role>
        <order>0</order>
        <thumb>http://thetvdb.com/banners/actors/6309.jpg</thumb>
    </actor>
    <actor>
        <name>J. August Richards</name>
        <role>Charles Gunn</role>
        <order>1</order>
        <thumb>http://thetvdb.com/banners/actors/6304.jpg</thumb>
    </actor>
    <actor>
        <name>Charisma Carpenter</name>
        <role>Cordelia Chase</role>
        <order>2</order>
        <thumb>http://thetvdb.com/banners/actors/6311.jpg</thumb>
    </actor>
    <actor>
        <name>Alexis Denisof</name>
        <role>Wesley Wyndam-Pryce</role>
        <order>3</order>
        <thumb>http://thetvdb.com/banners/actors/6307.jpg</thumb>
    </actor>
    <actor>
        <name>Glenn Quinn</name>
        <role>Alan Francis Doyle</role>
        <order>4</order>
        <thumb>http://thetvdb.com/banners/actors/6313.jpg</thumb>
    </actor>
    <actor>
        <name>Amy Acker</name>
        <role>Winifred &quot;Fred&quot; Burkle|Illyria</role>
        <order>5</order>
        <thumb>http://thetvdb.com/banners/actors/6312.jpg</thumb>
    </actor>
    <actor>
        <name>Mercedes McNab</name>
        <role>Harmony &quot;Harm&quot; Kendall</role>
        <order>6</order>
        <thumb>http://thetvdb.com/banners/actors/6310.jpg</thumb>
    </actor>
    <actor>
        <name>James Marsters</name>
        <role>Spike</role>
        <order>7</order>
        <thumb>http://thetvdb.com/banners/actors/6308.jpg</thumb>
    </actor>
    <actor>
        <name>Vincent Kartheiser</name>
        <role>Connor</role>
        <order>8</order>
        <thumb>http://thetvdb.com/banners/actors/6306.jpg</thumb>
    </actor>
    <actor>
        <name>Andy Hallett</name>
        <role>Lorne</role>
        <order>9</order>
        <thumb>http://thetvdb.com/banners/actors/6305.jpg</thumb>
    </actor>
    <actor>
        <name>Elisabeth Rohm</name>
        <role>Kate Lockley</role>
        <order>10</order>
        <thumb>http://thetvdb.com/banners/actors/109231.jpg</thumb>
    </actor>
    <actor>
        <name>Stephanie Romanov</name>
        <role>Lilah Morgan</role>
        <order>22</order>
        <thumb></thumb>
    </actor>
    <resume>
        <position>1883.000000</position>
        <total>2626.000000</total>
    </resume>
    <dateadded>2017-05-01 09:08:24</dateadded>
</episodedetails>
 
 
{{collapse bottom}}








{{Top}}


{{top}}
{{updated|19}}


{{updated|17}}
[[Category:Karellen]]
[[Category:Guides]]
[[Category:First time user]]
[[Category:FAQ]]
[[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