Truveo
Developer Center
Creating a Media RSS Feed
Overview
There is an ever growing corpus of video online today. Our goal is to have the most comprehensive index of high quality video found on the internet. To that end we have created Director Accounts which allow you to submit your videos to our search index. When your video is found in Truveo Video Search, we will link directly to your video for playback from your site.
Our support of Media RSS Feeds allows you to publish your video and related metadata to Truveo Video Search, making it searchable by millions of users. A Media RSS feed is simply a standard structured XML file containing URLs for your videos. Each URL has an associated description and a set of other structured data we use to make your video searchable in our index.
How It Works
Content owners who wish their videos to show up in Truveo Video Search may publish a Media RSS feed and submit it through the Director Account online interface. The format of the Media RSS feeds we accept is defined below. Once a feed is submitted, our crawlers will retrieve your feed, verify your video files, index the metadata from your videos, and integrate your videos in the Truveo Video Search index. Our crawlers will frequently revisit your feed to ensure any changes are rapidly integrated into our index. On a regular basis we will also check to make sure your videos still exist on your web site. If we find that a video you submitted to us in the past is no longer playable, we will remove it from our index. To remove a video from our index, simply remove it from your site and it will be removed from our index through our validation process.
Your feed must be submitted through our Director Account online interface. It must be accessible to our crawlers via HTTP. If direct links to your videos are available, we will use those links to confirm the existence of your videos and attempt to extract additional metadata from your videos. This additional metadata includes technical parameters like bitrate and codec.
User Experience
When you provide videos to Truveo through the Media RSS feeds, we will include those videos in our search results. For each video in the result set, we will provide some relevant metadata (title, description, format, etc.) and a thumbnail image representing your video. When a user clicks on your video in our results page, we will send the user to your site to play the video. If your video is embedded in a web page, we will direct the user to your web page where the user can play the video. If your page does not include an embedded video, we will direct the user to your web page and open the video in an external video player.
Media RSS Format
The Media RSS file contains XML tags. The data values must be entity encoded. The file must specify its character encoding, unless it is UTF-8.
Media RSS files are based on the RSS 2.0 spec. The namespace for Media RSS is: http://search.yahoo.com/mrss/
The Media RSS files must:
  • Begin with an <rss> tag and end with an </rss> tag.
  • Assign the media namespace as http://search.yahoo.com/mrss/
  • Thumbnail url must be provided using <media:thumbnail url=>
  • <media:player url= > or <link> for each item must include a URL pointing to a HTML page where the video can be played.
  • The <channel> element must have a child <link> element with the URL of the web site hosting the videos.
  • Contain only one <channel> tag
  • Enclose all <item> elements within the <channel> tag
  • Specify a <media:title> and <media:description> tag for each <item>
To assure your videos appear correctly:
  • <title> tag of parent <channel> should be used to include the host site name or channel where the videos are from.
  • HTML tags and entities should not be included inside of title or description.
  • Bitrate is used to determine the quality of the video. To include bitrate, specify <media:content bitrate=> for each item. If bitrate is not specified, the video will be set to poor quality.
  • Use the height and width attributes of <media:player url= height= width=> to set the size of the pop-up window that plays the video.
  • To display tags which describe the video, use <media:keywords>
A sample Media RSS file is shown below. Required tags are in red.
<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:media="http://search.yahoo.com/mrss/" 
                   xmlns:av="http://www.searchvideo.com/schemas/av/1.0">
  <channel>
   <title>Metacafe</title>
   <link>http://www.metacafe.com/rss/today_videos/mrss.xml</link>
    <description>Today's Videos, Movies and  Funny Clips by Metacafe</description>
    <item>
      <author>mooncat56</author>
      <title>Making Of 300-The Movie</media:title>
      <link>http://www.metacafe.com/watch/504132/making_of_300_the_movie/</link>
      <description>Actors work and train as ONE in the fight scenes. Six weeks of training to learn the moves 
	  devised for this movie. </description>
      <guid isPermaLink="true">http://www.metacafe.com/watch/504132/making_of_300_the_movie/</guid>
      <pubDate>Tue, 17 Apr 2007 02:50:07 +0000</pubDate>
      <media:description>Actors work and train as ONE in the fight scenes. Six weeks of 
	  training to learn the moves devised for this movie.</media:description>
      <media:content url="http://www.metacafe.com/fplayer/504132/making_of_300_the_movie.swf" 
	  type="application/x-shockwave-flash" medium="video" height="345" width="400" duration="243" />
      <media:player url="http://www.metacafe.com/watch/504132/making_of_300_the_movie/" />
      <media:thumbnail url="http://images.metacafe.com/thumb/504132/3445872/4/rss_feed5/0/
	  making_of_300_the_movie.jpg" width="120" height="90" />
      <media:title>Making Of 300-The Movie</media:title>
      <media:keywords>spartans,300,fight</media:keywords>
      <media:credit>mooncat56</media:credit>
      <media:rating scheme="urn:simple">nonadult</media:rating>
      <media:category>Entertainment</media:category>
      </item>
</channel>
</rss>
RSS Tag Definitions
<title>
Parent-tag: <channel>
String containing the name for the web site hosting the videos. This title, or host site name, applies to all videos in the same channel. Example: AOL Uncut Video.
 
<link>
Parent tag: <channel>
URL for the web site hosting the videos. This URL applies to all the videos in the same channel. Example: http://uncutvideo.aol.com/
 
<description>
Parent-tag: <channel>
String containing a description of all the videos in this channel. The value of this tag should apply to all videos in the channel. These values will not be displayed in the search results but may be used as keywords when looking up videos in our index. (Note: We put this into the keywords field for all the items in this channel.)
 
<guid>
Parent tag: <item>
An arbitrary string that uniquely identifies the video in this item.
 
Media RSS Tag Definitions
<media:title>
Parent-tag: <item>
String containing the title of the video in this <item>. Each <item> must have a <media:title> or <title>. If both are present, the value of <media:title> is used.
 
<title>
Parent-tag: <item>
String containing the title of the video in this <item>. In the absence of a <media:title> element, we'll use this value.
 
<media:description>
Parent-tag: <item>
A string containing a text description of the video in this result. When provided, this length of this description is typically one to three sentences. Each <item> must have a <media:description> or <description>. If both are present, the value of <media:description> is used.
 
<description>
Parent-tag: <item>
A string containing a text description of the video in this result. When provided, this length of this description is typically one to three sentences. In the absence of a <media:description> element, we'll use this value.
 
<media:player url= height= width=>
Parent-tag: <item>
The URL attribute points to the HTML page where the video can be played. This is a standard HTML page with an embedded video player or a pop-up window that plays the video in a browser. The height and width attributes are the height and width of the pop-up window. Each item must have a <media:player url= height= width=> or <link>. If both are present, the value of <link> will be assumed to be an associated page that contains more details about the video.
 
<link>
Parent tag: <item>
A URL that points to the HTML page where the video can be played or page containing more details about this video. In the absence of a <media:player url=> tag, this tag should contain the URL of a standard HTML page with an embedded video player or a pop-up window that plays the video in a browser. Otherwise, this item will be assumed to be a URL to an associated page that contains more details about the video.
 
<media:category>
Parent-tag: <item>
The category for the video. If the category supplied is not one of the accepted categories, it will be superseded by the category you set when you added the feed through the Director Account page. Supported categories are: News, Sports, Entertainment, Movies, Music, Video Games, Technology, Business, Government, Lifestyles, Health & Fitness, Comedy, Commercials, Dance, Documentary, Educational, Gambling, Home Video, Nature, Religious, Stock Footage, Travel, Autos & Vehicles, Arts & Literature, Animation, Pets & Animals, Adult, History, Fashion, Food, Home & Garden, Science, Women, Stunts
 
<media:credit>
Parent-tag: <item>
Gives attribution to the creators or contributors of a video. We support the following roles.
 
<media:credit role = "actor">
Parent-tag: <item>
A string containing the names of one or multiple actors associated with the video in this item. When available, this string is typically a comma-separated list of actor names.
 
<media:credit role = "author">
Parent-tag: <item>
A string containing the name of the person or organization responsible for authoring the video associated with this result.
 
<media:credit role="director">
Parent-tag: <item>
A string containing the names of one or multiple directors associated with the video in this item. When available, this string is typically a comma-separated list of director names.
 
<media:credit role="producer">
Parent-tag: <item>
A string containing the names of one or multiple producers associated with the video in this item. This field is commonly used for movie trailers and clips. When available, this string is typically a comma-separated list of director names.
 
<media:credit role="writer">
Parent-tag: <item>
A string containing the names of one or multiple writers associated with the video. Typically this is person who wrote the script or dialog for a video. When available, this string is typically a comma-separated list of writer names.
 
<media:credit role="artist">
Parent-tag: <item>
A string containing the name of the musical artist or group associated with the video in this item. This field is typically used for clips such as music videos. Multiple artist tags should be used for each artist related to the video. The artist tags will be consolidated in to a single artist field in the search results.
 
<media:credit role="distribution company">
Parent-tag: <item>
A string containing the name of the distribution organization, such as 'Warner Brothers' or 'Sony Pictures', associated with the video in this item.
 
<media:copyright>
Parent-tag: <item>
A string containing any applicable copyright message for the video in this item
 
<media:keywords>
Parent tag: <item>
A string that contains a comma-delimited list of phrases that are used to describe the video. For example, this string might be something like 'funny, jerry seinfeld, TV'. A single phrase cannot contain a comma as the phrases are comma separated. Terms in this field will be used for tagging the video. These terms may be displayed in the results page for the video.
 
<media:thumbnail>
Parent tag: <item>
URL for the thumbnail image for the video. This should be in JPEG format. If multiple thumbnail URLs are provided for a single item, we will use the first thumbnail URL and ignore the rest.
 
<media:content duration= >
Parent tag: <item>
An integer which represents the runtime of the video in seconds.
 
<media:content lang= >
Parent tag: <item>
Example: <media:content lang="en" /> A string that contains the primary language associated with the video in this item. Language codes possible are detailed in RFC 3066. This attribute is used similar to the xml:lang attribute detailed in the XML 1.0 Specification (Third Edition).
 
<media:content type= >
Parent tag: <item>
Example: <media:content type="video/quicktime" /> A string containing the standard MIME type of the video.
 
<media:content bitrate= >
Parent tag: <item>
Example: <media:content bitrate="512" /> An integer representing the kilobits per second rate of media.
 
<media:content fileSize= >
Parent tag: <item>
Example: <media:content fileSize="12216320" /> An integer representing the number of bytes in the video file.
 
<media:content height= width=>
Parent tag: <item>
Example: <media:content height="120" width="160" /> Integers representing the value in pixels for the height and width of the video in this item.
 
<media:content framerate= >
Parent tag: <item>
Example: <media:content framerate="24" /> An integer that specifies the frames per second for this video in this item.
 
<media:content url= >
Parent tag: <item>
The direct URL for the video, such as "rtsp://www.hosthame.com/video.rm". This is the URL that is passed to a media player so it can play the video.
Television Schema Support
We support the television and music category schemas from the Media RSS specification. The television hierarchy is:
  Television
    Series Name
      Episode
        Episode Number
<media:category scheme="http://search.yahoo.com/mrss/category_schema"> television
Parent tag: <item>
Example: <media:category scheme="http://search.yahoo.com/mrss/category_schema"> television/The Simpsons/Bart Sells His Soul</media:category>
 
Music Schema Support
For the music schema we accept the artist, album name, and song title. The hierarchy for music is:
  Music
    Artist
      Album
        Song Title
<media:category scheme="http://search.yahoo.com/mrss/category_schema"> music
Parent tag: <item>
Example: <media:category scheme="http://search.yahoo.com/mrss/category_schema"> music/Depeche Mode/ Some Great Reward/People Are People</media:category>
 
<media:rating scheme="urn:mpaa">
Parent tag: <item>
String containing the rating for the video in this item. Currently we only support the MPAA rating system.
 
<pubDate>
Parent tag: <item>
A string that describes the date or time period when the video in this result was originally produced.
Embedded Playback Support
<av:videoPlayerEmbedTag>
Parent tag: <item>
A string containing the HTML tag which, when embedded in an existing web page, will launch an inline media player to play the video in this result.

The <EMBED ...> tag must be used with the following attributes and requires a closing </EMBED> tag:
    *We currently don't support use of iframe or object tags.

src: URL of the video source to be embedded

type: Specifies the type of the embed file which determines the plug-in to load

height: height of the embedded object

width: width of the embedded object

Example: <![CDATA[ <embed src="http://www.youtube.com/v/sR2rvxSUr7w" type="application/x-shockwave-flash" width="425" height="350"></embed>]]>

    *We currently don't support use of iframe or object tags.
E-Commerce Support
Our search engine also supports ecommerce assets. If your video assets are purchasable or rentable, you may provide a number of tags describing the ecommerce attributes or your videos. These tags are not part of the Media RSS standard but are part of the Truveo Video namespace.
<av:registerUrl>
Parent tag: <item>
A string containing the URL which provides more information about how to register to access the video in this result. This field is only populated for video that can be viewed for free but requires each user to register with the host site before the video can be viewed.
 
<av:currency>
Parent tag:<item>
A string containing the code for the currency that prices are listed in. For example, this field would contain the value 'USD' when prices are listed in US Dollars. The possible codes are detailed in ISO 4217.

    *We currently don't support use of iframe or object tags.
    *We currently don't support use of iframe or object tags.
 
<av:subscribeUrl>
Parent tag:<item>
A string containing the URL which provides more information about how to subscribe to access the video in this result. This field is only populated for video which requires users to purchase a subscription before the video can be viewed.
 
<av:subscribePrice>
Parent tag: <item>
A number containing the subscription price, as described by the <av:subscribeUrl>. For example, this field could contain the value '5.99'.
 
<av:rentUrl>
Parent tag: <item>
A string containing the URL which provides more information about how to rent the video in this result. This field is only populated for video that can be rented for a fee.
 
<av:rentPrice>
Parent tag: <item>
A string containing the rent price, as described by the <av:rentUrl>. For example, this field could contain the value '1.99', etc.
 
<av:buyUrl>
Parent tag: <item>
A string containing the URL which provides more information about how to buy the video in this result. This field is only populated for video that can be purchased to own.
 
<av:buyPrice>
Parent tag: <item>
A string containing the purchase price, as described by the <av:buyUrl>. For example, this field could contain the value '10.99'.
Help Company Info Developer Resources Video Publisher Resources
Building Queries About Truveo Developer Center Truveo Director Accounts
Basic Searching Press Truveo API Overview Submitting A Feed Using Media RSS
Using Modifiers Team XML API Director Account FAQ
Using Filters Jobs AJAX API  
Using Sorters Contact Us Flash API  
Advanced Searching Terms of Use Ruby API  
  Privacy Policy Application Gallery  
  Adult FAQ    

Truveo video search lets you search and find videos from across the Web. Use Truveo to find all types of online video including hit television shows, full-length movies, breaking news clips, sports highlights, music videos, or the latest viral videos. If you are looking for a specific video, Truveo video search can help you find exactly the video you want. Truveo can also help you browse through video across the web and discover new videos that you might like.

©2004-2007 Truveo, Inc. All Rights Reserved.