Opera TV Snap is an industry-first, end-to-end solution that allows content publishers to create and submit a Smart TV app to the Opera TV Store quickly and easily, for free. See the Opera TV Snap page for more details.
Before starting to prepare your MRSS feed for Opera TV Snap, it might be good for you to familiarize with the following specifications and resources:
- RSS specification, the base standard for the MRSS specificaion
- MRSS specification, used as base for Opera MRSS specification.
- RSS feed validator, to validate the main structure of the feed. Note this is only a generic validator and not specific for Opera TV Snap.
- RFC822 spec for date and time formats
- HTML5 Audio and Video Support in Opera TV Store Applications
TV Snap 3.0 Template uses Opera Media RSS Specification (OMRSS).
- Feed must point to the MRSS compliant data.
- MRSS may contain more tags than TV Snap Template supports, but they will be ignored.
- We are still trying to provide backward compatibility with RSS, but OMRSS format is recommended and contains many improvements. Feed without
medianamespace will be parsed, but support for this format might be removed in the future.
Example feed: Opera MRSS
Required tags are:
<rss>as a top level tag.
<channel>as a child of
<title>and at least one
<item>must be a child of
<opera:metadata>as a child of
<channel>. This custom extension to the MRSS spec allows a more flxible definition of content structure. See below for more details.
- 16:9 thumbnail ratio is a must. 256 × 144 px is minimal and recommended for the best user experience. If the image is greater, it will be scaled down to 256 px.
<opera:metadata> is a custom extension to MRSS that has been defined to overcome some limitations of the original MRSS spec. Inside
<opera:metadata> you can use
<opera:categoryData> to define categories and collections (i.e. categories nested inside other categories).
Required attributes of
pathargument defines category nesting. For each nested category you should define exactly one
labelis name of the category as it will be presented to the user
Optional attributes of
descriptionis description of category.
orderargument is optional. If it’s not passed then order will be based on MRSS feed order.
thumbnailheightare used to provide a custom thumbnail for the category. If not provided, it will be randomly generated based on the thumbnails of the videos inside the category.
Important: If you use
<opera:metadata> to define categories then in
<media:category> you should use the string you used for the path attribute (in
<opera:metadata>), as the user visible category name will be taken from value of the
label attribute of
The Item element
Required tags are:
- You might also use
<media:group>to group multiple media elements (like video in different formats)
- Content might also contain
- Duration should be set as a number of seconds.
- For widest device support and best user experience we recommend making sure that your minimum bitrate doesn't exceed 4000 kbit/s. Higher bitrate can be supported using adative bitrate streaming formats (e.g. HLS)
- You might also use
urlpointing to an image.
- 256 × 144 px format is recommended
- If there is more than one thumbnail then best will be selected based on
widthattribute (if present).
- At least one
<media:category>is needed but item can belong to many categories. It should contain path to the actual category defined in
<opera:metadata>tag if one is present or just a simple name of the category.
<pubDate>publcation date of the video. It will be used in different ways
- it will be visible to the end user in the description of the video
- it will be used in the autogenerated "latest videos" category where videos are sorter by publication date (if not set then order will be set based on video indexing date)
- it will be used when autogenerating categories based on publication date (for feeds without category information
<media:description>if exist it will be displayed as description for the video.
<media:keywords>for content keywords (used in search)
<media:subTitle>for specifying the subtitles.
<opera:orderInCategory>is used to set order of item in category. If item is in many categories then it can have order set to each category separately. It has two required attributes:
pathwith value the same as defined in category
valueas a number (ascending)
Below is example application look with defined categories. Latest and Popular Videos categories are generated automatically. Background and thumbnail of this app (right top corner) is provided through the submission panel and is not a part of Opera MRSS format.
Main page view
Example of TV Snap player.