Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: xmlns:opera="http://apps.tvstore.opera.com/broadcastspec/" has been replaced with xmlns:vmrss="http://snap.cloud.vewd.com/vmrss/"

...

Collection is a single element in the application’s category row. It may look like a single video, but it represents the collection of multiple videos and categories located inside. In the MRSS feed, it is represented by the <opera<vmrss:categoryData> tag.

Collections can be nested. Nesting of collection is defined in the path attribute of <opera<vmrss:categoryData> tag, with each level of nesting separated with a slash. For example, ‘Winter/Events’ path for ‘Events’ collection defines ‘Events’ collection as a child of ‘Winter’ collection. There are no limits to the nesting of collections. In theory, an infinite number of levels can be used, but it is best to limit your levels of nesting to two or three. More levels can make navigation too complicated for the users. Collections should not be used if the selection of the content is not big. For example, if, in total, there are only 20 video clips or less available in the feed it is better to have them available in the section without breaking down to collections.

...

  • <rss> as a top level tag.

  • One <channel> as a child of <rss>.

  • <channel> must contain <title> and at least one <item>.

  • Each <item> must be a child of <channel>.

Optional tags:

  • <opera<vmrss:metadata> as a child of <channel>. This custom extension to the MRSS spec allows a more flexible definition of content structure. See below for more details.

...

Code Block
languagexml
<rss xmlns:media="http://search.yahoo.com/mrss/" xmlns:operavmrss="http://appssnap.tvstorecloud.operavewd.com/broadcastspecvmrss/" version="2.0">
    <channel>
        <title>Channel Title</title>
        <description>Description of channel content</description>
        <opera<vmrss:metadata>
            <!-- categoryData items - see next section -->
        </operavmrss:metadata>
        <item><!-- See example in next section --></item>
        <item><!-- … --></item>
        <!-- More items -->
    </channel>
</rss>

...

Code Block
languagexml
<rss xmlns:media="http://search.yahoo.com/mrss/" xmlns:operavmrss="http://appssnap.tvstorecloud.operavewd.com/broadcastspecvmrss/" version="2.0">
    <channel>
        <title>News &amp; Weather</title>
        <description><![CDATA[ Local "News & Weather" channel. ]]></description>
        <item><!-- Example item here --></item>
        <!-- More items -->
    </channel>
</rss>

Metadata tag extension

<opera<vmrss:metadata> is a custom extension to MRSS that has been defined to overcome limitations of the original MRSS spec. Inside <opera<vmrss:metadata>, you can use <opera<vmrss:categoryData> to define categories and collections (i.e. categories nested inside other categories).

...

  • description is a description of the category.

  • order argument is optional. If it’s not passed then the order will be based on the MRSS feed order.

  • thumbnail, thumbwidth and thumbheight are used to provide a custom thumbnail for the category. 

    • If thumbwidth and thumbheight are not provided landscape orientation will be assumed and the thumbnail will be trimmed.

    • Please note that the first image in a row determines the orientation of the video thumbnails in the whole row. The same image orientation (portrait or landscape) should be used throughout the whole application. Mixing various image orientations will cause problems with cropping images in automatically generated categories.

Important: If you use <opera<vmrss:metadata> to define categories, then in <media:category> you should use the string you used for the path attribute (in <opera<vmrss:metadata>), as the user visible category name will be taken from the value of the label attribute of <opera<vmrss:categoryData>.

Example:

 

Code Block
languagexml
 <opera<vmrss:metadata>
    <!-- 1st category level. -->
    <opera<vmrss:categoryData order="1" path="videos" label="Clips" description="Section with cool clips."/>
    <!-- 2nd category level. -->
    <opera<vmrss:categoryData order="1" path="videos/fail" label="Fail Compilations" description="Fail compilations" thumbnail="http://domain.com/category55image.jpg" thumbwidth="256" thumbheight="144" />
    <opera<vmrss:categoryData order="2" path="videos/cats" label="Cute Cats" description="All the cute cats in one place" thumbnail="http://domain.com/category55image.jpg" thumbwidth="256" thumbheight="144" />
    <!-- 3rd category level. -->
    <opera<vmrss:categoryData order="1" path="videos/cats/black" label="Black Cats" description="Only black cats" />
    <opera<vmrss:categoryData order="2" path="videos/cats/white" label="White Cats" description="Only white cats" thumbnail="http://domain.com/category55image.jpg" thumbwidth="256" thumbheight="144" />
</operavmrss:metadata>

 

Item

Required tags:

...

  • At least one <media:category> is needed but an item can belong to many categories. It should contain a path to the actual category defined in the <opera<vmrss:metadata> tag (if one is present) or just a simple name of the category. In case the item belongs to a nested category, a fully nested category path should be provided.

...

  • <pubDate> publication date of the video. It is used in different ways:

    • it is visible to the end user in the description of the video

    • it is used in the auto-generated Latest Videos category where videos are sorted by publication date

    • it is used when auto-generating categories based on publication date (for apps built on one MRSS feed without category information)

  • <media:description> if it exists it will be displayed as the description for the video.

  • <media:keywords> for content keywords. Keywords are indexed by an application and used for search purposes. Keywords can be also used instead of categories if this option was chosen during submission (field ‘Use keywords to define categories’ must be selected).

  • <media:subTitle> for specifying the subtitles as follows:

    • Must contain href or url attribute that points to the subtitle file in the WebVTT format. Other formats are not guaranteed to be supported on all devices.

    • Must contain lang attribute to define subtitle language based on the RFC 3066

    • More than one such tag per media element can be used e.g. once per language.

  • <opera<vmrss:orderInCategory> is used to set the order of the item in the category. If an item is in many categories then it can have the order set to each category separately. It requires two attributes:

    • path with the same value as defined in the category

    • value as a number (ascending)

...

 

Code Block
languagexml
<item>
    <pubDate>Mon, 21 Mar 2016 11:00:01 GMT</pubDate>
    <media:title>
        Sam Smoothy Follows His Fathers
        Footsteps In The Andes | Lost…
    </media:title>
    <media:description>
        Many years ago, Sam Smoothy’s father
        climbed in the Andes mountains…
    </media:description>
    <media:category>Skiing</media:category>
    <media:category>Winter/Events</media:category>
    <opera<vmrss:orderInCategory path="Winter/Events" value="12"/>
    <media:content url="video.mp4" type="video/mp4" bitrate="2200" duration="772"/>
    <media:thumbnail url="thumb.jpg" width="256" height="144"/>
</item>

Feeds availability

Since our server are distributed, in general we require feeds to be accessible. It is important that your MRSS feeds are available worldwide without any restrictions to e.g. location, IP addresses, User Agents or other. If any restriction is set then TV Snap servers may not be able to access and present your content.

In case it is a must have to limit access to your feeds by white-listing IP addresses then please use the below list. Please note that we recommend to not apply any restriction if not really needed though.

The following IP addresses must be allowed to access MRSS feeds:

107.167.100.112
107.167.100.113
185.26.182.90
185.26.182.94
35.165.86.48
217.17.35.152/29
157.22.251.128/29
91.203.97.128/25
185.217.214.0/24
185.217.212.0/24

 

...