Metadata matching, extraction, renaming from files and downloading from the Internet

MCEBuddy can extract metadata in many ways from a file, summarizing the sequence:

  1. Extract from WTV and DVRMS file using Windows DirectShow filters (see this thread on how to install the filters in Windows Servers)

  2. Extract from containers that support metadata like MP4, MKV, M4V, AVI, MP3, TS and WMV

  3. Extract from proprietary recording software containers like TiVO, PlayLater, SiliconDust DVR

  4. Extract using supporting metadata files like XML, NFO and PROPERTIES from Media Portal, nPVR, ICETv, SageTV, ArgusTV, XBMC/Kodi and Channels DVR (these will overwrite any data extracted above)

  5. If no embedded/extracted metadata is found, then MCEBudddy look at parsing metadata from the filename. Currently it supports the following formats:

  • SHOWNAME_AIRDATE_AIRTIME.<ext> where AIRDATE is in YYYYMMDD format and AIRTIME is in HHMMHHMM (Start and End) format (AIRTIME is optional). The underscore can also be substituted with a dash.
    e.g.
    CSI_20140423_14301530.ts

  • SHOWNAME.SxxEyy.SUBTITLE.<ext> where SUBTITLE is the Episode name of the Season xx Episode yy of the Show. The dot can be substituted with a space, dash or any character (MCEBuddy will ignore it).

  • SHOWNAME.XXxYY.SUBTITLE.<ext> where SUBTITLE is the Episode name of the Season XX Episode YY of the Show. The dot can be substituted with a space, dash or any character and there may or may not be a space before and after the Season (XX) and Episodes (YY) and MCEBuddy will ignore it.

  • SHOWNAME (YEAR).SxxEyy.SUBTITLE.<ext> where SUBTITLE is the Episode name of the Season xx Episode yy of the Show which Premiered in YEAR. The dot can be substituted with a space, dash or any character (MCEBuddy will ignore it) and year brackets are optional.

  • SHOWNAME (YEAR).XXxYY.SUBTITLE.<ext> where SUBTITLE is the Episode name of the Season XX Episode YY of the Show which Premiered in YEAR. The dot can be substituted with a space, dash or any character and there may or may not be a space before and after the Season (XX) and Episodes (YY) (MCEBuddy will ignore it) and year brackets are optional.
    e.g.
    Law & Order Special Victims Unit S05E21 Criminal.mpg
    Law & Order Special Victims Unit.S05E21.Criminal.mpg
    Law.&.Order.Special.Victims.Unit.S05E21.Criminal.mpg
    Elementary 2x22 Paint It Black.mp4
    Elementary 2 x 22 Paint It Black.mp4
    Elementary2x22Paint It Black.mp4
    Elementary.2.x.22.Paint It Black.mp4
    Elementary_2x22_Paint It Black.mp4
     
    However with the 3rd example while matching the Showname against the internet databases will work to download additional metadata, the Showname will have dots in it. If you don’t want the dots in the Showname then select the option to Overwrite Title from IMDB in the Conversion task → Expert settings → Metadata correction page.

  • SHOWNAME (YEAR) - YYYY-MM-DD hh mm ss - SUBTITLE.<ext> where SUBTITLE is the Episode name, YYYY-MM-DD hh mm ss is the Original Broadcast Air/Recorded Date Time (Time is optional) and which Premiered in YEAR. The separating dash before and after the recorded date can be substituted with a space, dot or any character and year brackets are optional.

  • MOVIE_IMDBID.<ext> or SHOWNAME_IMDBID.<ext> where IMDBID is the IMDb ID for the Movie or Episode (Series name is taken from SHOWNAME). Note: This is the Episode IMDb ID (specific for that exact Episode only) and NOT the Series IMDb ID.
    e.g.
    Movie_tt0103064.ts
    Battlestar Galactica_tt0519763.ts

  • MOVIE (YEAR).<ext> where YEAR is the year in which the Movie was released
    e.g.
    Connors War (2006).ts

  1. User metadata correction options from the Conversion TaskExpert settings are applied to correct any Titles and Series ID’s.

Once it extracts the metadata it then it proceeds to match the metadata against the various databases on the internet (TVDB, IMDb, TMDB) to download the missing metadata and supplement the information. To do this successfully it needs ATLEAST 2 pieces of information

  1. Show name
  2. AND any one or more the following
  • Episode name (for Shows)
  • Season AND Episode numbers (for Shows)
  • Original Broadcast Air Date (only date required, does not match time)
  • TVDB ID/IMDb ID for the Movie or Show

If the Showname and one or more of the above pieces of information are found while extracting metadata MCEBuddy will try to match and download the remaining information from the internet. If the data does not match the information on the internet it will not be able to download the information. (see conversion log file for details on the extraction and matching results)

Internet Download Series Information Matching flow:

Movie

  1. Match IMDb
    a. (optional) - if IMDb ID given, then force match using that
    b. Match movie name, case insensitive (optional, if movie year is available, additional filtering)
  2. Match The Movie Database (TMDB)
    a. (optional) - if IMDb ID given, then force match using that
    b. Match movie name, case insensitive (optional, if movie year is available, additional filtering)

All Else

  1. Match The TVDB
    a. (optional) - if TVDB ID or IMDb ID is given, for match using that instead of showname
    b. Match Show name and Episode name (case insensitive)
    c. Match Show name and Episode no
    d. Match Show name and Show first air date
  2. Match The Movie Database (TMDB)
    a. (optional) - if IMDb ID given, then force match using that
    b. Match Show name and Episode no
    c. Match Show name and Show first air date
  3. Match IMDb
    a. (optional) - if IMDb ID given, then force match using that
    b. Match show name and episode name (also match AKA’s - also known as), case insensitive
    b. Match show name and episode no
    b. Match show name and Show first air date

In Conversion task → Expert settings → Metadata correction you can change the default order and force the primary metadata matching method from the one options below:

  • Episode name
  • Season/episode no
  • Original air date

NOTE: Changing the primary matching method will re-order the remaining methods in the same round-robin order. e.g. If you select Season/episode no as the primary matching option, then it would follow this order, Season/Episode no → Original air date → Episode name

This can help depending on the accuracy of the database being used and the specific shows, e.g.

  • for some shows the Original air date is more accurate then the Episode name.
  • for some series the Episode names are identical across all seasons, in such a case selecting Season/Episode no as the primary matching method would be a better option.

There is limited approximate match, (case insensitive and ignoring whitespace/special characters). Thus if you’re getting a wrong match, you can force the IMDb ID or TVDB ID in the same Metadata correction page.