MythTV Universal Metadata Format

In order to unify metadata grabbing for all MythTV screens and plugins, the following universal metadata grabber format specification will be used. Metadata grabbing will be handled by common code with relatively little custom code necessary for new plugins. Grabber scripts must conform the the standard, and can otherwise "drop in" to provide metadata lookup for user plugins and core MythTV screens.

Explanation of supported tags

The "Used in" values below only reflect the tags which could be displayed in the plugins today. When writing your grabber script, you should feel free to use any and all tags listed to make data available to future improvements in MythTV.

Tag name

Description

Used in Video

Used in Music

Used in Games

metadata

All results are encapsulated in <metadata> tags. Metadata tags are the root node.

Yes

Yes

Yes

item

Any returned item is encapsulated in an <item> tag.

Yes

Yes

Yes

title

A textual title for the item being returned.

Yes

Yes

Yes

subtitle

The subtitle on the item being returned.

Yes

No

No

tagline

The tagline/catch phrase of the item being returned.

Yes

No

No

description

The plot of the item being returned. In music, this is used to contain the lyrics.

Yes

Yes

Yes

albumtitle

The title of the album on which this item was released.

No

Yes

No

system

The game system for which this item was released.

No

No

Yes

inetref

REQUIRED. The reference number/serial number of the item at the metadata source. Used for a detailed lookup.

Yes

Yes

Yes

imdb

the IMDB number for the item being returned.

Yes

No

No

tmsref

The Tribune Media Services code number for the item being returned (only provided by TheTVDB so far).

Yes

No

No

homepage

The homepage of the item being returned..

Yes

No

No

trailer

A web link to the trailer for the returned item.

Yes

No

No

language

The two-character (ISO-639) language code of the item.

Yes

Yes

No

releasedate

Rhe release date for the returned item in RFC-822 format.

Yes

Yes

No

lastupdated

The date and time the item was last updated at the source in RFC-822 format.

Yes

Yes

Yes

userrating

A float value of the user rating at the source.

Yes

Yes

No

tracknum

The integer track number of the returned item.

No

Yes

No

popularity

An integer popularity value for the item.

Yes

Yes

Yes

budget

The integer amount spent to produce the returned item.

Yes

No

No

revenue

The integer amount earned by the returned item.

Yes

No

No

year

The integer year of the returned item.

Yes

Yes

Yes

runtime

The runtime of the returned item in minutes.

Yes

No

No

runtimesecs

The runtime of the returned item in seconds.

No

Yes

No

certifications

Encapsulates <certification> items, this is the parental rating container.

Yes

Yes

No

certification

An individual parental rating item, must be contained in a <certifications> tag. Takes two attributes, locale and name.

Yes

Yes

Yes

categories

Encapsulates <category> items, this is the genre container.

Yes

Yes

Yes

category

An individual genre item, takes attribute name.

Yes

Yes

Yes

countries

Encapsulates <country> items, this is the locale container.

Yes

Yes

Yes

country

A locale of production for the returned item, takes attribute name.

Yes

Yes

Yes

studios

Encapsulates <studio> items, this is the production company container.

Yes

Yes

Yes

studio

The production company/publisher of the item, takes attribute name.

Yes

Yes

Yes

people

Encapsulates <person> items, this is the role/job container.

Yes

Yes

No

person

A person involved with the production of this item, requires attribute job and name, optionally takes character, thumb and url.

Yes

Yes

No

images

Encapsulates <image> items, this is the artwork container.

Yes

Yes

Yes

image

A binary graphic related to the returned item, requires attribute type and url, optionally takes attribute thumb for a thumbnail.

Yes

Yes

Yes

Query Results

Note: For consistency between grabbers, please use the following format for your grabber query command line:

./grabbername -MX "query phrase"

A query result is nothing more than a series of items filled as completely as you care or are able to fill them. The only caveat is that a query (and by definition, any returned single item) must return an inetref to use in a followup query.