Converting XBMC metadata to aTV


I’m sharing my video repository (time capsule) between my macinstosh and my AppleTv.

I use xbmc on my mac and ATV on my Apple TV.

I think that getting metadata for film is easier on my mac. I can give the name of the film instead  of only the file name, change scrapper…

There is an option to export xbmc metadata as files. These files are stored along the films.

I manage to convert theses metadata to ATV. Perhaps not the best solution but it works for me.

  1.  for the film thumbnail, xbmc store it in .tbn files. In fact they are .jpg files. So, to have it in ATV copy or rename it changing extension .tbn to .jpg

  2. for the metadata, xbmc store them in .nfo file. This file is an xml file. So I have written a smal xsl code to translate it in ATV format with xsltproc available on mac. 

    the xsl file is below.

I hope this can help !

It could be great if this can be integrated in next ATV release ;)

I’m looking for  doing something with fanart but local fanart seem not to be supported by ATV.


Best Regards,



<?xml version=“1.0” encoding=“UTF-8”?>

<xsl:stylesheet xmlns:xsl=“


    <xsl:template match=“movie”>

        <media type=“Movie”>

            <xsl:apply-templates select=“title”></xsl:apply-templates>

            <xsl:apply-templates select=“plot”></xsl:apply-templates>

            <xsl:apply-templates select=“rating”></xsl:apply-templates>

            <xsl:apply-templates select=“year”></xsl:apply-templates>


                <xsl:apply-templates select=“genre”></xsl:apply-templates>



                <xsl:apply-templates select=“actor”></xsl:apply-templates>



                <xsl:apply-templates select=“director”></xsl:apply-templates>




    <xsl:template match=“title”>

        <title><xsl:value-of select=“ancestor-or-self::title”/></title>


    <xsl:template match=“plot”>

        <description><xsl:value-of select=“ancestor-or-self::plot”/></description>


    <xsl:template match=“rating”>

        <userStarRating><xsl:value-of select=“floor(.)”/></userStarRating>


    <xsl:template match=“year”>

        <published><xsl:value-of select=“ancestor-or-self::year”/></published>


    <xsl:template match=“genre”>

        <genre><xsl:value-of select=“ancestor-or-self::genre”/></genre>


    <xsl:template match=“actor”>

        <name><xsl:value-of select=“descendant::name”/></name>


    <xsl:template match=“director”>

        <name><xsl:value-of select=“ancestor-or-self::director”/></name>