My favorites | Sign in
Logo
                
Search
for
Updated Aug 23, 2009 by Stuart.Boston
Labels: Phase-Deploy, NFO
NFO_Files  
How to use .NFO files to enhance MovieJukebox's lookup

Purpose of .NFO files

MovieJukebox uses .NFO files to specifically identify which movie title is associated with a given movie file. This can be helpful when IMDB incorrectly selects a movie other than the one you want.

It is also useful for overriding movie details by using the XBMC xml nfo file layout, as specified at the bottom of this page.

Note: The scanner is case sensitive for the filename extension, so please make sure that you use either "nfo" or "NFO" and not any other version.

Note (before version 1.0.14): If you create/edit a NFO file for a movie that has already been scanned by MovieJukebox, you will need to delete the generated files from the jukebox directory to enable MovieJukebox to re-generate the files. (Advanced Usage: Use the parameters mjb.force* to avoid this, see PropertiesConfiguration).

How to create an NFO file

An NFO file is simply a plain text file that has an NFO extension instead of TXT. To create a file use any text editor such as Notepad in windows or vi in Linux.

Basic Usage

MovieJukebox will automatically use a .NFO file if it finds one in the same directory with the exact same name as a movie but with a .NFO extension.

Example

For instance if you had the file twb_blood.mkv for "There Will Be Blood" MovieJukebox will try to search IMDB for a match, but in this case the closest match will be "Town Bloody Hall (1979)" which is clearly not what you want.

In this case, create a file called "twb_blood.nfo". Edit the file, and add the URL

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

as the only content of the file.

You can then clear the movie specific files from the jukebox (twb_blood.html, twb_blood.jpg, twb_blood.png, twb_blood_small.jpg) and when MovieJukebox regenerates the files it will now use the link you have included in the .NFO file

Note: The whole .NFO file will be searched for the IMDB reference URL so other information can be stored in the file.


VIDEO_TS and BluRay

In the case of DVD folder structures containing a VIDEO_TS or BDMV folder the NFO file must either be at the same level as the top level movie folder or inside the movie folder itself. It must be named the same as the movie folder.

Examples

For instance if C:\Movies is where I have my movies stored, and inside that file I have the movie Casino.

C:\Movies\Casino\VIDEO_TS\movie.vob

OR

C:\Movies\Casino\BDMV\STREAM\movie.mt2s

There are two places that you can save the NFO file. The first is in the C:\Movies folder and the second is in the C:\Movies\Casino folder.

Either of these will work for both VIDEO_TS and BluRay:

C:\Movies\Casino.nfo
C:\Movies\Casino\Casino.nfo

TV Series

For TV Series, the .NFO file should be named the same as the first episode of the series. There is no need to have an .NFO file for each episode.

Alternatively you can name the .NFO file the same as the directory that it is in. Note: You will need to copy the whole TheTVDB.com URL into the file to ensure it is recognised by YAMJ. This URL should be from the Series home page and not the Season or Episode pages within TheTVDB.com

Example

If you TV series is here:

C:\TV\Series Name\Series 1\file S01E01.avi
C:\TV\Series Name\Series 1\file S01E02.avi

Then your .NFO file name should be either of these options:

C:\TV\Series Name\Series 1\file S01E01.NFO
C:\TV\Series Name\Series 1\Series 1.NFO

Multi-Part Films

If you have a film that is in two (or more) parts, then the easiest way for MovieJukebox to pick this up is to name each part with a suffix of [CDx]

Example

Movie [CD1].avi
Movie [CD2].avi
Movie [CD1].nfo

Poster URL

Another use for the nfo file is to specify the poster URL of the movie. To specify the poster file, simply enter a url that ends with .jpg

Example

http://www.themoviedb.org/image/backdrops/1118/tt0120667-2.jpg

XBMC NFO movie xml

Valid in version 1.0.13 and later

Utilizes the XBMC movie layout as specified here http://xbmc.org/wiki/?title=Import_-_Export_Library#Video_nfo_Files The episodedetails, & musicvideo layouts are not currently implemented, and will require additional internet database scanning features to be implemented first.

Some fields map directly to YAMJ, and others do not currently have a YAMJ counterpart. These fields are commented on below.

Any fields may be populated or left blank as the user sees fit. If a field is populated, then it will take precedence over anything retrieved from the Internet. However, if a field is left blank in the NFO, then that field will still be loaded as before.

On fields where multiple may exist, like <genre> or <actor>, if even one is present in the NFO, then YAMJ will not attempt to look up additional.

<movie>
    <title></title>
    <originaltitle></originaltitle> <!-- currently unused in YAMJ -->
    <rating></rating>               <!-- 0 - 10 rating, can be decimal -->
    <year></year>
    <top250></top250>               <!-- the IMDB top 250 ranking, integer 1 - 250 or empty -->
    <votes></votes>                 <!-- currently unused in YAMJ -->
    <outline></outline>             <!-- a short plot description -->
    <plot></plot>                   <!-- a longer plot description -->
    <tagline></tagline>             <!-- currently unused in YAMJ -->
    <runtime></runtime>
    <thumb></thumb>                 <!-- url of poster image. use URL formatting, such as http:// for internet resources or file:// for local resources -->
    <fanart></fanart>               <!-- url of fanart image. use URL formatting, such as http:// for internet resources or file:// for local resources -->
    <mpaa></mpaa>
    <playcount></playcount>         <!-- currently unused in YAMJ -->
    <watched></watched>             <!-- currently unused in YAMJ -->
    <id></id>                       <!-- the IMDB id of the movie. includes the leading "tt". Use an id of 0 or -1 to disable further internet plugin scraping. -->
    <id moviedb="allocine"></id>    <!-- the allocine id of the movie. This should work for other plugins using their PLUGIN_ID as "moviedb" value -->
    <id moviedb="filmweb"></id>     <!-- the filmweb id of the movie. This should work for other plugins using their PLUGIN_ID as "moviedb" value -->
    <filenameandpath></filenameandpath> <!-- currently unused since YAMJ determines path from searching the configured libraries -->
    <trailer></trailer>             <!-- multiple trailer records may exist -->
    <genre></genre>                 <!-- multiple genre records may exist, including any custom ones -->
    <credits></credits>             <!-- currently unused in YAMJ -->
    <director></director>
    <actor>                         <!-- multiple actor records may exist -->
        <name></name>
        <role></role>               <!-- currently unused in YAMJ -->
    </actor>
    <sets>
      <set>First Set Name</set>
      <set order="?">Another Set With An Order</set>
    </sets>
<!-- NOTE: All of the following tags will OVERWRITE the derived data -->
    <videosource></videosource>     <!-- The video source of the file -->
    <videooutput></videooutput>     <!-- The video output of the file -->
    <fileinfo>
        <streamdetails>
            <video>
                <codec></codec>
                <aspect></aspect>   <!-- currently unused in YAMJ -->
                <width></width>     <!-- Width of the video file -->
                <height></height>   <!-- Height of the video file -->
            </video>
            <audio>
                <codec></codec>
                <language></language>
                <channels></channels>
            </audio>
            <subtitle>
                <language></language>    <!-- currently unused in YAMJ -->
            </subtitle>
        </streamdetails>
    </fileinfo>
</movie>

XML Encoding

XML must be either provided in UTF-8 charset or the encoding must be explicitly specified in the xml header

Example:

<?xml version="1.0" encoding="windows-1252"?>
<movie>
...

If existing(old) NFO files do not have the described header and you do not want to re-encode or add the header to all the files, there is a parameter in the moviejukebox.properties which can be used to force the XML parser to read all the NFO files using the specified encoding.

mjb.forceNFOEncoding=YOUR-ENCODING

XBMC NFO tvshow xml

Valid in version 1.0.15 and later

Utilizes the XBMC tvshow layout as specified here http://xbmc.org/wiki/?title=Import_-_Export_Library#TV_Shows However, unlike the xbmc docs, this nfo file should be named the same as the TV Series naming mentioned above, and this nfo only needs to exist for the first episode of a given season. The episodedetails is not currently implemented.

Some fields map directly to YAMJ, and others do not currently have a YAMJ counterpart. These fields are commented on below.

Any fields may be populated or left blank as the user sees fit. If a field is populated, then it will take precedence over anything retrieved from the Internet. However, if a field is left blank in the NFO, then that field will still be loaded as before.

On fields where multiple may exist, like <genre> or <actor>, if even one is present in the NFO, then YAMJ will not attempt to look up additional.

<tvshow>
    <title></title>
    <rating></rating>               <!-- 0 - 10 rating, can be decimal -->
    <season></season>               <!-- currently unused at series level -->
    <episode></episode>             <!-- currently unused at series level -->
    <displayseason></displayseason> <!-- currently unused at series level -->
    <displayepisode></displayepisode> <!-- currently unused at series level -->
    <plot></plot>                   <!-- a longer plot description -->
    <thumb></thumb>                 <!-- url of poster image. use URL formatting, such as http:// for internet resources or file:// for local resources -->
    <fanart></fanart>               <!-- url of fanart image. use URL formatting, such as http:// for internet resources or file:// for local resources -->
    <mpaa></mpaa>
    <id></id>                       <!-- the TheTVDB id of the series. Use an id of 0 or -1 to disable further internet plugin scraping. -->
    <id moviedb="imdb"></id>        <!-- the IMDB id of the movie. includes the leading "tt" -->
    <id moviedb="allocine"></id>    <!-- the allocine id of the movie. This should work for other plugins using their PLUGIN_ID as "moviedb" value -->
    <id moviedb="filmweb"></id>     <!-- the filmweb id of the movie. This should work for other plugins using their PLUGIN_ID as "moviedb" value -->
    <trailer></trailer>             <!-- multiple trailer records may exist -->
    <genre></genre>                 <!-- multiple genre records may exist, including any custom ones -->
    <premiered></premiered>         <!-- the original air date of the series (YYYY-MM-DD) -->
    <studio></studio>
    <actor>                         <!-- multiple actor records may exist -->
        <name></name>
        <role></role>               <!-- currently unused in YAMJ -->
        <thumb></thumb>             <!-- currently unused in YAMJ -->
    </actor>
    <sets>
      <set>First Set Name</set>
      <set order="?">Another Set With An Order</set>
    </sets>
<!-- NOTE: All of the following tags will OVERWRITE the derived data -->
    <videosource></videosource>     <!-- The video source of the file -->
    <videooutput></videooutput>     <!-- The video output of the file -->
    <fileinfo>
        <streamdetails>
            <video>
                <codec></codec>
                <aspect></aspect>   <!-- currently unused in YAMJ -->
                <width></width>     <!-- Width of the video file -->
                <height></height>   <!-- Height of the video file -->
            </video>
            <audio>
                <codec></codec>
                <language></language>
                <channels></channels>
            </audio>
            <subtitle>
                <language></language>    <!-- currently unused in YAMJ -->
            </subtitle>
        </streamdetails>
    </fileinfo>
</tvshow>

XML must be either provided in UTF-8 charset or the encoding must be explicitly specified in the xml header (See also mjb.forceNFOEncoding).

Example:

<?xml version="1.0" encoding="ISO 8859-2"?>
<tvshow>
...

Comment by altman.matthew, Dec 10, 2008

< > and & are invalid XML cdata you can use their escape code equivalents: &lt; for < &gt; for > &amp; for &

Comment by fr.grasso, Dec 12, 2008

Thanks for the reply, but I can't get it to work:

ABCDEFG &lt;br&gt; ABCDEFG &lt;br /&gt;

Isn't it supposed to be right?

Comment by cyklonefij, Dec 17, 2008

Cannot get the <thumb> to work. I have a jpg in same folder as .avi and .nfo. Am using <thumb>file://filename</thumb> But YAMJ not using the image for thumbs. no folders being used. Is there somewhere where the file has to go? Do you need a path also?

Comment by garp999, Dec 27, 2008

The ending tag for <tvshow> is incorrect, needs to be </tvshow>

For Multi-part movies, square brackets are NOT required and besides CDx, you can also use DISCx, DISKx or PARTx (keywords are NOT case sensitive)

Comment by TomasHallberg, Dec 28, 2008

Same problem as cyklonefij. Dosen't even work with complete search path.

Comment by tomer.ben.arye, Jan 01, 2009

I have a lot of Music videos going like this:

Folder MUSIC_VIDEOS contains all of this:

Folder: "AEROSMITH" contains: Aerosmith - Crazy.vob Aerosmith - Amazing.vob

Folder "The Corrs": The Corrs - Only when I sleep.vob The corrs - Radio.vob

What is the best way to handle these directories/files

Thanks in advance. Tomer

Comment by m0rph13, Jan 22, 2009

How does a NFO entry look like to reference a poster in the same folder as the movie itwself?

Comment by felgamous, Mar 25, 2009

i've heard specials on thetvdb should be treated as season 0, haven't tried it myself

Comment by chris.buckley, Apr 10, 2009

This wiki simply is not correct regarding XBMC NFO files. XBMC compatible generated NFO files, generated via MediaInfoPlus?, will not work with YAMJ. Please see http://code.google.com/p/moviejukebox/issues/detail?id=685&start=100

Comment by leighhunter59, Apr 10, 2009

I'm having trouble with replacing the cover art for a tv series. I have created the .nfo file and entered only the URL. I have deleted the files for the series in the Jukebox folder and I have just edited the .nfo file and let the application detect the change and rescan the file.

I've also saving the image and using file://folder.jpg, without success.

Any advise? much appreciated. thanks in advance.

Comment by davidrose9, Apr 22, 2009

tomer.ben.arye ... has the same issue I think there should be an easy way to do this. I have music videos all in one folder and they are all part1?..etc looks great except it is labeled from IMDB some crazy title. So someone please tell me how do I use the name I gave it "HD Videos" and have the titles show up, no .nfo file is what I thought would do it but it is titled wrong from IMDB and I can't change it.

Comment by hannson, Jun 04, 2009

I've got a question.

Can I define the spoken language for dubbed movies? If so, how and where can I find the country codes?

Comment by dw15308, Jun 13, 2009

This is a great help! But it does not handle home movies well. I have to re-title my home movies with some name that it will not find in IMDB. Is there a way to easily tell it "don't look up info for this title" and have it just use the generic movie reel and file name for the info?

Comment by henrik.johansen, Jun 18, 2009

Almost same question as dw15308.. How do i force it NOT to lookup a movie. I have a docu that is not on IMDB, and it keeps finding a wrong movie. I just want yamj to show my own poster...

Comment by mattwil...@deloitte.com, Aug 18, 2009

I'm not sure if my question belongs in this section, but here goes. I have a couple of films that list alphatbetically, but due to the naming convention the 2nd film comes before the first, for example.

Star Wars Star Wars I Star Wars II Star Wars III Star Wars V Star Wars VI

the first entry is actually IV but due to the IMDB naming, this moves forward. Anyone know any neat tricks to move this into order? Also get this problem with Batman and other trilogy or 4 series films. Someone has suggested changing the NFO's, but I have no idea of what and where I need to change the info in the NFO.

Comment by thehuntersworld, Sep 06, 2009

My movie library consists mainly of VOBs. Some have the VIDEO_TS directory structure but many do not. In this case, all the VOBs are all in a single directory.

Everything works great with the VIDEO_TS folder movies but YAMJ does not process the other movies correctly. Instead it discovers each single VOB file as a "movie". Is this an NFO config issue or a YAMJ issue?

Any ideas?

Comment by spinbot, Nov 06, 2009

Looking for some direction on DVD Sets.

I have the Jack Ryan Collection ( 4 DVDs ) Patriot Games.iso Clear And Present Danager.iso The Hunt For Red October.iso The Sum Of All Fears.iso

Do most people just break the set apart and list them individually or is their a more slick way to do with with the "set" command?

Comment by atikansari, Today (7 hours ago)

I have some hindi movies whose information not available on IMDB Site, when i created my custome NFO file, its getting extra information from some closest english movie. i just want to use the my custom nfo file for YAMJ. any idea? how can YAM read and create the movie information using my custom NFO file.

Comment by Stuart.Boston, Today (6 hours ago)

Just use 0 or -1 as the ID for the movie and information won't be scraped for it


Sign in to add a comment
Hosted by Google Code