RSS-TV is an extensible markup language (XML)-based navigation protocol for Internet Media services based on the RSS standard. The adoption of RSS-TV enables video device manufacturers to develop applications to seamlessly navigate premium Internet video services. Example video devices include set top boxes, portable video players, game consoles, broadband-connected digital video disc (DVD) players, digital video recorders (DVRs), portable video players and mobile phones. By implementing the RSS-TV protocol, these devices provide user access to a growing library of online media (video, audio, games) services.

RSS-TV is an extension of RSS and includes additional XML elements and attributes to enable broadband media service features such as:
Readers familiar with digital video broadcasting (DVB) can compare RSS-TV with the DVB Service Information standards developed in the 1990s for digital TV EPGs. The difference is that RSS-TV has been developed for two-way Internet Protocol (IP) networks rather than broadcasting networks. RSS-TV leverages the increasing availability of products that support RSS such as caching engines and RSS-enabled content management and publishing systems.
RSS-TV-compliant applications can be implemented using any language and operating system including AJAX/HTML, Flash, OpenTV, or C. Similarly, service providers can use any web service technologies (Java, .NET, PHP) to build RSS-TV-compliant services.
RSS-compliant feeds that use enclosures for video/audio (podcasting) are fully compliant with RSS-TV. RSS-TV-compliant clients will display these feeds as a list of menu items and will play or download the media.
RSS-TV uses the namespace 'tv'. For example, the RSS-TV XML element duration is identified by <tv:duration>. The official schema will be made available at http://www.rss-tv.org/rss/tv1.0.
Similar to other XML-based standards, RSS-TV documents are assumed to be 8-Bit Unicode Transformation Format (UTF-8) encoded.
|
RSS 2.0 |
|
|
HTTP 1.1 |
|
|
RSS-TV |
|
|
ISO 8601 |
|
|
ISO 639 |
|
|
RFC 822 |
|
|
SAMI |
http://en.wikipedia.org/wiki/SAMI |
|
0.9 |
April 2006 |
Beta release for review |
|
1.0 |
July 2006 |
First official public release |
|
1.1 |
September 2006 |
Support for (secure) download models and messaging |
|
1.2 |
January 2007 |
Country availability, EPG, resuming media, and previews |
|
1.3 |
March 2007 |
Media Zap, Style, Help |
|
2.0 |
April 2007 |
Specification frozen. All future changes shall be backwards compatible. See below for change details. |
|
2.1 |
November 2007 |
Fixed documentation issues. Added hidden image support for web site analytics. Added attribute ‘visibleitems’ to the <tv:widget> to hint the number of visible items. Added ‘tv:roprovider’ attribute to support proprietary rights object (license) acquisition protocols for download content. Added <style> and <image> as optional input XML elements. Clarified implementation of (server side) play lists. Explained the use of RSS element <guid> to signal currently playing and downloading media. Changed <tv:zap> default value to ‘false’, and introduced override on single item possible. Bandwidth signaling through private HTTP header for multi bitrate support. Support for advertising video through attribute <item tv:noskip> |
|
2.2 |
January 2008 |
Added the <tv:autostart> element to enable the client device to immediately show a (pre)selected media. This enables a traditional channel zapping interface. Added the tv:preload attribute to <item> to inform the client the associated link (RSS-TV document) can be preloaded. Added explicit remarks regarding HTTP caching directives and the implications for document caching. |
|
2.3 |
April 2008 |
Removed the limitation that a response from the <tv:done> URI could only return a single item response rather than a full RSS-TV document. Added default location for device information in HTTP cookie to simplify authentication and upgrade process. RSS-TV services to implement redirection through HTTP redirect instead of RSS-TV single item response to simplify client status model. Added ability to associate <tv:meta> data with channel element. Added support for SAMI subtitling. Added support for local device scripting services (network settings, firmware upgrades, device info, etc) Added IP address input type Added tv:value attribute for title |
RSS-TV 2.0 was established after field tests and numerous protocol reviews. RSS-TV 2.0 is ready for commercial rollout of Internet video services to TV and other video capable devices. Any future specifications will be fully backwards compatible with RSS-TV 2.0.
Summary of changes introduced with RSS-TV 2.0:
The following XML document is an example of a 'root' menu representing the top level of a hierarchical menu structure:
<?xml version="1.0"?>
<rss version="2.0" xmlns:tv="http://www.rss-tv.org/rss/tv1.0">
<channel>
<language>en-us</language>
<title>Main Menu</title>
<tv:help>http://www.test.com/menu/?id=help</tv:help>
<item>
<title>TV On Demand</title>
<description>Watch TV from thousands of programs.</description>
<link tv:type="rss">http://www.test.com/menu/?id=tvod</link>
</item>
<item>
<title>Live TV</title>
<description>Tune in to hundreds of live channels</description>
<link tv:type="rss">http://www.test.com/menu/id=livetv</link>
</item>
<item>
<title>Movie Store</title>
<description>Starting at 1 Euro for 24 hours</description>
<link tv:type="rss">http://www.test.com/vod/</link>
</item>
<item>
<title>Local Weather</title>
<description>Check out our 7 day weather forecast</description>
<link>http://www.weather.com/iptv/</link>
</item>
<item>
<title>Settings</title>
<description>Change your PIN and network settings</description>
<link tv:type="rss">http://www.test.com/menu/?id=setting</link>
</item>
<item>
<title>Introduction video</title>
<description>How to use this video service</description>
<enclosure url="rtsp://www.test.com/v/intro.mp4" type="video/mpeg"/>
</item>
</channel>
</rss>
Most items in this sample RSS-TV document link to other RSS-TV documents, creating a hierarchical menu structure. The document also contains a node item linked to an HTML weather application. Depending on the capabilities of the box, this item may be hidden from the user.
The document also includes an example node that links directly to a MPEG-4 video streaming media file using the RSS enclosure element. All link types and RSS-TV extensions are described and specified in this document.
A typical RSS-TV-compliant Internet video device will boot up, connect to the network, check for firmware upgrades, load the navigation client application, authenticate (optional), and load a predefined RSS-TV URI that contains the top level of the menu structure.
One of the important features of RSS-TV is its support for a hierarchical menu structure. This structure is achieved by linking one RSS XML document (parent) to other RSS XML documents (children) using <link tv:type="rss">.
The endpoints or 'leaves' of the hierarchical menu link to video, audio, Flash applications (through RSS enclosures), HTML applications, or special RSS-TV menu actions. The available item types are documented in the RSS-TV <item> Extensions section.
The following diagram shows a small sample hierarchical menu:

In one example implementation, the user can navigate the services by simply using the up, down, left, and right navigation keys.
The user navigates <up> and <down> to make selections,
and <right>/<ok> to activate selected items. Navigating <left>/<cancel>
cancels the current menu and returns the user to the previous menu.
During navigation, the user's thumb remains around the arrow control, except when entering alphanumeric information such as a user PIN or a movie search query.
RSS-TV does not impose any specific user interface or design. The look and feel of the navigation client application can be completely customized and optimized for the client device platform, independently of the services. It is therefore possible to present the same RSS-TV items using a completely different navigation client application. RSS-TV does allow service directives to instruct the navigation client application to apply certain widgets (text, image, mosaic) and styles.
An RSS-TV-compliant client device maintains the notion of menu levels. Each menu is served on a particular level in the menu hierarchy, starting with level 0 at the root. This enables an RSS-TV application to jump to a previous menu level or to jump n steps backward in the hierarchy.
RSS-TV services that contain circular menu structures (one where a user enters an incorrect email address and password, for example) should ensure that menus are traversed correctly so that the 'back' function operates as expected.
For example, a user who attempts to enter a PIN code should be directed to the PIN entry menu through relative addressing (menu:-2) rather than hard-coded URIs. More information can be found in the section RSS-TV <item> Extensions.
The menu history may contain POST links resulting from an input item. The client shall automatically re-POST content entered by the user if a previous menu level is called.
By default, the client stores each menu TV URI in a menu history. This enables the device to go back in history when the user presses a 'back' button or 'left' button on the remote control.
An input item may indicate that the associated RSS-TV URI should not be stored in the menu history. See the section on 'Capturing User Input' for more details. This can be used for functionality such as capturing a PIN code, in which case the user should not return to the PIN entry screen when going 'back' from a subsequent menu page. Example sequence:

When the client navigates through the menu structure, the menu item list may contain a media item that is currently playing or downloading. In that case it is useful to show the user a specific icon (like a speaker icon for playing audio) or the state of the download process. This is referred to as ‘active media’.
In order for the client to identify active media, the RSS-TV service must include the RSS <guid> element in the media <item> elements. The client can use the RSS <guid> to match the currently active media with the media item in any media item list.
The <enclosure> URL can not be used to uniquely identify a media item because:
A menu may contain a number of media items with audio or video enclosures. An RSS-TV compliant client may or may not automatically start the subsequent item in a list after an item has finished playing. It is recommended that the client enables ‘zapping’ functionality using ‘next’ and ‘prev’ to allow the consumer to zap through the media items. See the specification of <tv:zap> for more information.
Server Side Play Lists can be used for dynamically inserting advertising or dynamically creating play lists for online radio channels. The RSS-TV service provides a URL which is called to return the ‘next’ item in the play-list. This URL will be called by the client at the end of the current item using the <tv:done> extension of the <item> element. See the specification of <tv:done> for more information. See the specification of <item tv:noskip> for more information about implementing advertising models.

An example URL and HTTP response of such a play list web service:
http://www.last.tv/playlist/
<?xml version="1.0"?>
<item xmlns:tv="http://www.rss-tv.org/rss/tv1.0">
<title>Umbrella</title>
<tv:meta type="artist" display="Artist">Rihanna</tv:meta>
<guid>8435987546</guid>
<enclosure url="rtsp://www.cdn.com/v/?id=8435987546"/ >
<tv:done>http://www.last.tv/playlist/</tv:done>
</item>
The web service may use session and cookie information to determine the next media item in the list and construct a personalized play list.
A TV service can be made more compelling if basic user and device information can be accessed by services automatically. This enables various features such as:
RSS-TV defines an HTTP cookie-based mechanism to set and access user information. Implementation of user information is not mandatory for RSS-TV compliance. The RSS-TV specification only makes it easier to exchange this information if it exists.
Service providers should ensure that information shared with third-party services is in line with privacy policies accepted by the user.
All information is exchanged through the use of standard HTTP cookies. Cookies are typically set on the domain level (e.g. iptv.net) to ensure that multiple RSS-TV media services can access the cookies (e.g. music.iptv.net, movies.iptv.net, or sports.iptv.net).
User data is exchanged using a multi-value cookie named 'User'. The following parameters are defined:
|
Parameter |
Description |
|
Name |
User name |
|
Language |
Two-character, ISO 639-compatible |
|
TZ |
Regional time zone identifier e.g. 'America/New_York' |
|
TZOffset |
Time zone offset in minutes from GMT |
|
IPCountry |
Three-character ISO 3166-1 parameter based on IP address |
|
IPState |
Local state name based on IP address |
|
IPCity |
Local city name based on IP address |
Example:
User=Name=Robert&Language=en&IPCountry=us&IPState=ca&IPCity=San Diego
A DNS entry of localhost.<domain> (e.g. localhost.iptv.net) on the client device can be mapped to localhost (127.0.0.1) to ensure that cookie values are also passed to the local web services. Similar techniques can be used to provide other local home network servers access to the cookies (homepc.iptv.net).
Since version 2.3, RSS-TV also supports local device services through scripting. RSS-TV 2.3 documents may contain links to local script functions (such as JavaScript or Flash ActionScript) that generate RSS-TV XML documents. More information about scripting can be found in the item extension section describing the link type=”action”.
Cookie values can be modified by the user and cookies can also be modified by any of the other web services that operate in the same domain. Therefore, web services should not rely on cookies for tasks that require authenticity.
Client devices will differ in capabilities based on installed hardware and software. Presenting services to users that can not be accessed with the device can be frustrating and should be prevented.
Basic device information is exchanged using a multi-value cookie named 'Device'. The following parameters are defined:
|
Parameter |
Description |
|
DeviceType |
Type of device using an integer: 1 (PC), 2 (PC-MCE), 3 (STB), 4 (MOBILE). Default value is 1. |
|
Storage |
‘true’ or ‘false’ to indicate support for media download. Default is ‘true’ |
|
DeviceId |
String containing unique identifier of the device. Can be used to ease the binding of a device to a user (in combination with a user PIN code) |
|
Model |
String that uniquely identifies the hardware configuration of a STB (e.g. MBox.50) |
|
Version |
Version string that is used to detect possible upgrade of firmware. |
Example:
Device=DeviceId=1234-ABCD&DeviceType=3&Storage=false&Model=MBox.50&Version=45
Additional device information should be carried in the standard HTTP header 'User-Agent' to include device information that can be linked with device capabilities. The minimum information about the device included in the User-Agent HTTP header is:
Example:
Mozilla/4.0 (compatible; Sony; PS3; V3.289.2; 720x576)
Network information is exchanged using a multi-value cookie named 'Network'. The following parameters are defined:
|
Parameter |
Description |
|
Bandwidth |
Approximate bandwidth available in kbps. |
Instead of returning an RSS document with multiple items, a service may return a single item containing a media enclosure or a menu action. The item is immediately executed by the client device. For example:
A single item response may not contain a link to another RSS-TV feed (redirect): To redirect to another RSS-TV feed the web service should use a regular HTTP redirect response (status code 3xx).
A single-item response contains a single XML item element. The following example provides a sample response:
<?xml version="1.0"?>
<item xmlns:tv="http://www.rss-tv.org/rss/tv1.0">
<link tv:type="action">menu:0</link>
</item>
In this response, the client returns to the top-level root or 'home' menu. The response may also contain a link of another type (rss or action) or enclosures (audio, video, or flash), and the item may include any regular item XML elements such as title and <tv:meta>.
The single item response may also include an enclosure with metadata as shown by the following example:
<?xml version="1.0"?>
<item xmlns:tv="http://www.rss-tv.org/rss/tv1.0">
<title>The Matrix</title>
<description>A computer hacker learns from mysterious rebels about the true nature of his reality and his role in the war against the black force</description>
<tv:meta type="rating" display="Rating">PG-13</tv:meta>
<tv:meta type="genre" display="Genre">Action</tv:meta>
<enclosure url="rtsp://www.cdn.com/v/?id=23"/ >
</item>
A single-item response should not be added to the menu history of the client device. Pressing 'back' on a menu that resulted from a single-item response shall return the client device to the most recently processed RSS menu or user input request. Read section 'Menu Structure' for more information about maintaining menu history information.
The RSS-TV protocol allows a service provider to capture user input such as a PIN code, an email address, or a search string to find a movie. This is achieved using the 'input' XML document.
The RSS protocol only allows a single input field per RSS document. This ensures a user-friendly, wizard-like experience. Capturing multiple fields such as email and password must be implemented using two separate RSS-TV documents (thus using two consecutive screens). This is an intended limitation.
The RSS-TV input response includes elements that enable features such as strict input text types (password, email, text, pin, or telephone), automated suggestions, and input language selection.
The following example shows a sample response to capture a search string:
<?xml version="1.0"?>
<input xmlns:tv="http://www.rss-tv.org/rss/tv1.0">
<name>search</name>
<action>http://www.iptv.net/search.jsp</action>
<type>alphanumeric</type>
<maxlength>10</maxlength>
<suggest>http://www.iptv.net/suggest.jsp</suggest>
<title>Search</title>
<description>Type the name of the movie or actor</description>
<style>premium</style>
<image>
<url>images/boxart.jpg</url>
<height>180</height>
</image>
</input>
When the user confirms the input, the client device shall POST the value of the input field to the action URI using regular FORM POST syntax (the value must be URL encoded). The following example assumes the name of the input field is 'search' and the user entered 'james' to complete the search query:
search=james
The following sections specify the input XML elements:
|
XML element |
<action> |
|
Type |
URI |
|
Occurrence |
Required |
|
Attributes |
None |
The element 'action' contains the URI where the final result shall be posted, e.g.:
<action>script:submit()</action>
The URI may also contain a local script (JavaScript, ActionScript, C++ method) rather than a URL to send the input value to a local service, for example:
<action>script:submit()</action>
The client shall call the local script and pass the input parameter as follows:
<function>(string inputName, string inputValue)
The client will assign the name of the input element to the first parameter (name) and the value of the input element to the second parameter (value). For example:
setVideo (“ratio”, “4:3”)
The client will assign the name of the input element to the first parameter (name) and the value of the input element to the second parameter (value). For example:
|
XML element |
<description> |
|
Type |
String with basic markup |
|
Occurrence |
Optional |
|
Attributes |
None |
The element 'description' contains a long string to describe the input field. This information helps the user understand what input is required. Example values are 'Enter the first characters of a movie name or the name of an actor to find a movie'. The description may contain basic markup as specified in the section RSS-TV <description> Extensions.
|
XML element |
<image> |
|
Type |
See RSS <image> XML schema |
|
Occurrence |
Optional |
|
Attributes |
None |
The input can be associated with an image to remind the user why the input is required. For example a thumbnail of a movie to confirm a purchase, or an image of a lock for entry of a PIN code.
|
XML element |
<language> |
|
Type |
ISO 639, two-character language string |
|
Occurrence |
Optional |
|
Attributes |
None |
The 'language' element is used to determine the appropriate character set for entering user input.
|
XML element |
<maxlength> |
|
Type |
Number |
|
Occurrence |
Optional |
|
Attributes |
None |
The 'maxlength' element contains the maximum length of the field. The default value is device dependent.
|
XML element |
<menuhistory> |
|
Type |
Boolean |
|
Occurrence |
Optional (default = true) |
|
Attributes |
None |
The 'menuhistory' element can be set to 'false' to prevent the client device from adding the input item in the menu history. See also Menu History.
|
XML element |
<name> |
|
Type |
String |
|
Occurrence |
Required |
|
Attributes |
None |
The element 'name' contains the form field name of the value that shall be posted to the action URI.
The service can request the navigation client application to change the style (background, colors, etc.) of the input menu page.
Read the RSS-TV Channel Extensions section for more information about styles.
|
XML element |
<suggest> |
|
Type |
URI |
|
Occurrence |
Optional |
|
Attributes |
None |
The 'suggest' element is used to retrieve suggestions based upon currently entered characters.
The 'suggest' URI can be used by the client device to display a list of suggestions based on the input characters entered so far. See also 'Google Suggest' (http://www.google.com/webhp?hl=en&complete=1) for an example implementation of such functionality. The client device shall POST the contents of the input element to the 'suggest' URI when a new character is entered by the user, using the same HTTP POST syntax as submitting the final result to the 'action' URI. The server responds with an RSS-TV compliant XML document with the suggested items included in the response. The user can select one of the suggestions to activate the associated RSS-TV item.
Client device implementation of the suggest URI is optional and is not required for RSS-TV compliance.
The suggest URI may also contain a local script (JavaScript, ActionScript, C++ method) rather than a URL to send the input value to a local service. See input <action> for more details.
|
XML element |
<title> |
|
Type |
String |
|
Occurrence |
Required |
|
Attributes |
None |
The element 'title' contains a short string to describe the input field. Example values are 'Find a Movie' or 'Enter your PIN'.
|
XML element |
<type> |
|
Type |
String |
|
Occurrence |
Optional |
|
Attributes |
None |
The element 'type' is used to indicate what type of input field is expected. This can be used by the client device to simplify the user interface. For example, entering a field of type 'email' could make the characters '.' and '@' more prominent and leave out the option of capitols, spaces and special characters that are not allowed as part of an email address.
Accepted values for <type> are:
|
text |
Case sensitive single line string |
|
password |
Secret text field |
|
numeric |
0-9 |
|
pin |
Secret numeric field |
|
|
Email address |
|
telephone |
Telephone number including numeric, '+', '*' and '#' symbols. |
|
url |
Uniform Resource Locator |
|
ipaddress |
Standard IPv4 address in string format (e.g. “192.1.10.104”) |
|
date |
Date conforming ISO 8601.date standard |
|
time |
Time confirming ISO 8601.time standard |
|
XML element |
<value> |
|
Type |
String |
|
Occurrence |
Optional |
|
Attributes |
None |
The 'value' element allows the service provide to pre-fill the value of the input field to minimize user input efforts. For example, a URL input request could set <value> to 'http://www.'.
This section lists the RSS-TV extensions of the RSS <channel> element that shall be supported by a RSS-TV-compliant client device.
This section describes the following extensions in alphabetical order:
|
<tv:autostart> |
Activate (start) the media item when selected. |
|
<tv:help> |
RSS-TV compliant service URI to context sensitive help |
|
<tv:meta> |
Channel level meta data. |
|
<tv:preview> |
Preview video or background audio for this channel |
|
<tv:style> |
Change the style (background, colors, etc) of the navigation client application |
|
<tv:subtitle> |
Text located below the channel title. |
|
<tv:tracker> |
Contains URI to enable third party site analytics |
|
<tv:widget> |
Suggested user interface (UI) widget for displaying items |
|
<tv:zap> |
Allow user to zap through menu items |
|
XML element |
<tv:autostart> |
|
Type |
Boolean |
|
Occurrence |
Optional |
|
Attributes |
None |
The service may request the client to immediately start the selected media item. The user only needs to enter the corresponding number (see <tv:number>), or the service may have pre-selected a media item (see <tv:selected>). The user does not require to activate (press the RCU ‘OK’ button) the selected menu item.
The default value is ‘false’.
<?xml version="1.0"?>
<rss version="2.0" xmlns:tv=" http://www.rss-tv.org/rss/tv1.0">
<channel>
<title>Live TV</title>
<tv:autostart>true</tv:autostart>
...
|
XML element |
<tv:help> |
|
Type |
URI |
|
Occurrence |
Optional |
|
Attributes |
None |
The service may provide contextual help for the current and descending menu pages. The navigation client application may provide a special 'help' RCU button to access help. If no special RCU button is available, the navigation client application may provide an on-screen option to access help.
<?xml version="1.0"?>
<rss version="2.0" xmlns:tv=" http://www.rss-tv.org/rss/tv1.0">
<channel>
<title>Live TV</title>
<tv:help>/menu/?id=help156</tv:help>
...
|
XML element |
<tv:meta> |
|
Type |
String |
|
Occurrence |
Optional |
|
Attributes |
type, display |
The service may associate META data with the channel. See item extension <tv:meta> for a list of the meta types and other details.
<?xml version="1.0"?>
<rss version="2.0" xmlns:tv="http://www.rss-tv.org/rss/tv1.0">
<channel>
<title>Action Movies</title>
<tv:meta type="rating" display="Rating">PG-13</tv:meta>
...
|
XML element |
<tv:preview> |
|
Type |
XML element |
|
Occurrence |
Optional |
|
Attributes |
force, in addition to standard RSS <enclosure> attributes |
The client device can process this instruction to play the specified video/audio as a preview to the selected menu. The syntax of the preview element follows the RSS <enclosure> syntax. Read the section RSS-TV <enclosure> Extensions for more details about the enclosure element.
The attribute force can be set to "true" to ensure that any playing media (audio/video) is stopped. The default value for force is "false".
It is also possible to set a different preview for each RSS item. See item extensions for further details.
Note that the client device will have less space for displaying item titles if a video preview is included. See the section on maximum string lengths for further details.
Example:
<?xml version="1.0"?>
<rss version="2.0" xmlns:tv=" http://www.rss-tv.org/rss/tv1.0">
<channel>
<title>Movies On Demand</title>
<tv:preview force="true" url="mms://aod.iptv.net/featured.wmv" type="video/asf"/>
...
</rss>
|
XML element |
<tv:style> |
|
Type |
String |
|
Occurrence |
Optional |
|
Attributes |
None |
The service can request the navigation client application to change the style (background, colors, etc.) of the current and descending menu pages. The allowed values and detailed implementation is outside the scope of the RSS-TV specification. The style element can contain spaces, which typically is used to signal multiple classes in style sheets.
<?xml version="1.0"?>
<rss version="2.0" xmlns:tv=" http://www.rss-tv.org/rss/tv1.0">
<channel>
<title>Live TV</title>
<tv:style>primetv livetv</tv:style>
...
|
XML element |
<tv:tracker> |
|
Type |
URI |
|
Occurrence |
Optional |
|
Attributes |
None |
The client device should load an image from the URI and not render the image to the user. The image will typically be small (1x1) and is used to implement third party site analytics. Cookies do not need to be supported.
<?xml version="1.0"?>
<rss version="2.0" xmlns:tv=" http://www.rss-tv.org/rss/tv1.0">
<channel>
<title>Live TV</title>
<tv:tracker>http://siteanalytics.net/i/38/Main:Live%20TV</tv:tracker>
...
|
XML element |
<tv:widget>
|
|
Type |
String |
|
Occurrence |
Optional |
|
Attributes |
visibleitems, width, height |
An RSS-TV service can suggest a specific UI widget for navigating menu items. The widget type defines the navigation paradigm for the returned menu items, such as a list of text items, image items with text, or a mosaic with only images.
It is possible for the <tv:widget> element to contain multiple widget types options. This allows a client to gracefully degrade from a complex (custom) widget type to a simple (standard) one. It also allows services to introduce custom widget types that are not necessarily implemented on all device types. When a client detects multiple widget types, it should check if it supports the first widget type and use this if available. If the first widget type isn't available it should try the second type and so forth until ultimately it will use text.
Example:
<tv:widget>my_widget,image</tv:widget>
RSS-TV defines the following standard widget types: text, image, mosaic and epg. They are described in the following sections.
The client device shall display menu items using text items. The title shall be displayed as the descriptive text for each item. This is the default client widget type.
The client device can display the items using a widget that lets the user select an item by scrolling through images. The recommended maximum number of visible items on a screen is included in the attribute ‘visibleitems’. The recommended size of each image is included in attributes 'width' and 'height'. Depending on the resolution of the device, the client application may chose to reduce the recommended size of the images. In case of low resolution devices, the client application may chose to reduce the recommended number of visible items.
The following width and height combinations are recommended for best image quality display on most RSS-TV devices:
|
Boxart |
140x196 |
|
Album cover |
128x128 |
|
Video scenes |
140x100 |
|
Icon |
64x64 |
The RSS-TV service is assumed to include images for all items if the widget type is set to image.
The RSS-TV client application may decide to downscale images to fit the available screen resolution, but should never upscale images to avoid degrade of quality.
Example:
<tv:widget visibleitems="7" width="140" height="196">image</tv:widget>
Example implementation of an image-based widget:

The client device implements the mosaic widget by showing images in a grid that can be navigated by using the arrow keys. A user will need to use an 'Enter/OK' key to activate the selected item and a 'Back/Exit' key to return to the previous menu page.
The grid dimensions will be calculated based on the recommended number of visible items, the ratio of the image widget and the ratio of the resolution of the ‘work area’. The exact calculation of the ‘box size’ for images is device specific.
The image dimensions follow the same guidelines as outlined for the image widget.
The client device implements the epg widget by showing a 2 dimensional grid with the x-axis representing time and the y-axis representing the (live) services. Each item should include a <tv:eventinfo> element to provide related schedule information. See the section RSS-TV <item> Extensions for more information about <tv:eventinfo>.
|
XML element |
<tv:zap> |
|
Type |
Boolean |
|
Occurrence |
Optional |
|
Attributes |
None |
The client device can enable zapping across listed menu items that are contained in a single RSS-TV response (siblings). The value can be set to 'true' or 'false' (default).
Zapping is typically implemented by the client device using the Channel UP/DOWN or Previous/Next RCU buttons. It can be used for:
Note that an RSS-TV document may contain video, audio, (flash) applications and RSS-TV menu items. Zapping should work consistently across all types of menu items.
The service may exclude certain items from the zap list by using the <tv:zap> element on an RSS-TV item level.
The following image shows an example client implementation for some of the RSS-TV channel extensions:

This is the associated RSS-TV XML document:
<?xml version="1.0"?>
<rss version="2.0" xmlns:tv=" http://www.rss-tv.org/rss/tv1.0">
<channel>
<language>en-us</language>
<title>Movies On Demand</title>
<subtitle>Matrix</subtitle>
<description>In The Matrix Revolutions, the final chapter in the Matrix trilogy, the rebels' long quest for freedom culminates in a final explosive battle. <tv:br/><tv:big>24 hours for 2 Euro</tv:big>
</description>
<image>
<url>images/boxart.jpg</url>
<height>180</height>
</image>
<item>
<title>Confirm</title>
<description>Yes, I want to see this movie</description>
<link type="rss">http://www.test.com/purchase/?cid=188734</link>
</item>
<item>
<title>Cancel</title>
<description>No thank you</description>
<link type="action">menu:-1</link>
</item>
</channel>
</rss>
This section lists (in alphabetical order) the RSS-TV extensions of the RSS <item> element that shall be supported by an RSS-TV-compliant client device.
|
<tv:done> |
RSS-TV URI that shall be called after the media is stopped or finished |
|
<tv:duration> |
Duration of a media item |
|
<tv:eventinfo> |
Event information associated with (semi) live media. |
|
<tv:image> |
Image associated with a media item |
|
<tv:meta> |
Used for short metadata of various types relating to a media item. |
|
<item tv:noskip> |
Used to disable player controls to prevent a user from skipping an advertisement. |
|
<tv:number> |
Used for quick access to an item using numeric keys |
|
<item tv:preload> |
Used to inform the client that the associated child RSS-TV document can be preloaded. |
|
<tv:preview> |
Preview video or background audio for selected media item |
|
<tv:sami> |
URI to the associated SAMI subtitling file |
|
<item tv:selected> |
Media item should be selected by default |
|
<tv:start> |
Start date/time of a live video or audio item |
|
<item tv:status> |
Indicates the status of the media item (playing, viewed, unauthorized, etc) |
|
<link tv:type> |
Attribute to explicitly declare type of item link |
|
<tv:zap> |
Override value of channel zap on item level |
|
XML element |
<tv:done> |
|
Type |
URI |
|
Occurrence |
Optional |
|
Attributes |
None |
The <tv:done> element is used in combination with a link to video, audio, or a game and is used to control the navigation of the client after the media is stopped or finished. The <tv:done> element contains a URI that must return a valid RSS-TV XML document. After the media has finished playing, the client device calls the URI of the <tv:done> element using an HTTP GET request and processes the response. The <tv:done> element may return a single item containing another enclosure, enabling the implementation of server side play lists.
The navigation client application shall append the position of the video to the <tv:done> URI to enable a 'resume media' service function. The URI parameter is 'position' and the value is the position in milliseconds.
The navigation client application shall store the <tv:done> URL in the history on the next menu level.
The element is optional. By default, the navigation client application will return to the last menu page after the media is stopped or finished.
The following item node instructs the player to go to a 'done' URI after playing the media.
<item>
<title>Tonight Show</title>
<tv:done>http://test.com/done/?id=2864</tv:done>
<enclosure url="rtsp://www.test.com/videos/intro.mp4" type="video/mpeg"/>
</item>
If the user stops the media 781 seconds and 235 milliseconds into the media, the navigation client application calls the following URI:
http://test.com/done/?id=2864&position=781235
The done service can return the client to the previous menu with the following response:
<?xml version="1.0"?>
<item xmlns:tv="http://www.rss-tv.org/rss/tv1.0">
<link tv:type="action">menu:-1</link>
</item>
Example use:
The done service may return a single item response with a media item to implement dynamic playlist functionality.
The done service may also return a menu page with multiple items combined with <tv:autostart> to implement dynamic playlist functionality. The advantage this method is that the device can enable the user to browse to previous or next media items in the playlist.
|
XML element |
<tv:duration> |
|
Type |
ISO 8601.time |
|
Occurrence |
Optional |
|
Attributes |
None |
The <tv:duration> element is used in combination with a link to a video or audio and is used to indicate the duration of the video/audio stream.
An example video item with a duration element:
<item>
<title>Tonight Show</title>
<pubDate>Sat, 07 Sep 2008 09:00:00 GMT</pubDate>
<tv:duration>02:00:00</tv:duration>
<enclosure url="rtsp://www.test.com/v/intro.mp4" type="video/mpeg"/>
</item>
|
XML element |
<tv:eventinfo> |
|
Type |
URI |
|
Occurrence |
Optional |
|
Attributes |
None |
The <tv:eventinfo> element is used in combination with a link to a video or audio and is used to associate event information with the (semi) live video/audio stream. The client can send a regular HTTP request to the link to receive event information associated with the live stream. The client can append URI parameters 'begin' and 'end' (ISO 8601) to indicate for which period event information is requested. Omitting these parameters will indicate that only 'now' and 'next' event information is returned.
An example video item with an <tv:eventinfo> element:
<item>
<title>NBC</title>
<tv:eventinfo>http://meta.test.com/rss/?id=nbc</tv:eventinfo>
<enclosure url="rtsp://video.test.com/nbc" type="video/mpeg"/>
</item>
|
XML element |
<tv:image> |
|
Occurrence |
Optional |
|
Attributes |
None |
The image element enables an operator to associate images with items. The client device can use these images to allow a user to scroll through images rather than text.
It is recommended that the RSS-TV web service associates images to all items. See RSS-TV channel extension <tv:widget> for more information.
The XML schema of the item <tv:image> is consistent with the RSS-defined channel image XML element, limited to the sub-elements 'url', 'height' and 'width'.
Example item with an image:
<item>
<title>The Matrix (1999)</title>
<description>A computer hacker learns from mysterious rebels about the true nature of his reality and his role in the war against the black force</description>
<tv:image>
<url>images/matrix.jpg</url>
<width>80</width>
<height>180</height>
</tv:image>
<tv:meta type="rating" display="Rating">PG 13</tv:meta>
</item>
It is not mandatory for an RSS-TV-compliant client to process the image XML element. It is good practice for the web service to either associate images with all of the items, or not at all.
|
XML element |
<tv:meta> |
|
Type |
String |
|
Occurrence |
0 or more |
|
Attributes |
type, display |
The <meta> element is used for short pieces of metadata of various types relating to a content item. A content item may have one or more arbitrarily defined pieces of metadata, such as genre, episode or cast. Metadata are generally shown on the client as name and value pairs. The name is defined by the "display" attribute and the value by the contents of the <tv:meta> element. However since it is also important to have a language independent, machine readable identifier for the metadata there is also a "type" attribute.
|
Display |
Used for the display name of the piece of metadata |
|
Type |
Used to identify the function of a particular piece of metadata. |
Known <tv:meta> types are: rating, cast, artist, album, tags, series, episode, language, subtitles, copyright, genre, director, producer
Example item with some <tv:meta> data:
<item>
<title>The Matrix</title>
<description>A computer hacker learns from mysterious rebels about the true nature of his reality and his role in the war against the black force</description>
<tv:meta type="rating" display="Rating">PG-13</tv:meta>
<tv:meta type="genre" display="Genre">Action</tv:meta>
<tv:meta type="copyright" display="Copyright">Sony, 1999</tv:meta>
<tv:meta type="cast" display="Cast">Keanu Reeves, Laurence Fishburne</tv:meta>
<tv:meta type="language" display="Original Language">English</tv:meta>
<tv:meta type="subtitles" display="Subtitles">German, French</tv:meta>
<enclosure url="rtsp://www.server.com/video/?id=39813"/>
</item>
|
XML attribute |
<item tv:noskip> |
|
Type |
Boolean |
|
Occurrence |
Optional |
The <item tv:noskip> attribute is used to disable the player controls ‘skip’ and ‘forward’ to prevent a user from skipping (parts of) this media item. The ‘noskip‘ attribute is typically used to force the user to view an advertisement, in combination with a server side playlist. Note that the service should not assume any level of security since the XML can be spoofed or a client can be tampered to ignore this attribute.
<item tv:noskip="true">
<enclosure url="rtsp://ads.net/v/?id=24981" type="video/mpeg"/>
</item>
|
XML element |
<tv:number> |
|
Type |
Number |
|
Occurrence |
Optional |
|
Attributes |
None |
The number acts as a shortcut for the user by entering the corresponding number using a remote control.
Implementation of this RSS-TV extension is recommended, but not mandatory for RSS-TV compliance.
|
XML attribute |
<item tv:preload> |
|
Type |
Boolean |
|
Occurrence |
Optional |
The <item tv:preload> attribute is used to inform the player it is safe to preload the RSS-TV document associated with the item (link). This feature is used to improve performance on slow networks. Client applications that preload XML documents should be careful to adhere to HTTP caching directives. The default value is ‘false’.
<item tv:noskip="true">
<enclosure url="rtsp://ads.net/v/?id=24981" type="video/mpeg"/>
</item>
|
XML element |
<tv:preview> |
|
Type |
XML element |
|
Occurrence |
Optional |
|
Attributes |
Same as RSS <enclosure> |
The client device can process this instruction to play the specified video/audio as a preview to the selected item. The syntax of the preview element follows the RSS <enclosure> syntax.
Note that the client device will have less space for displaying item titles if a video preview is included. See the section on string lengths for further details.
Example:
<?xml version="1.0"?>
<rss version="2.0" xmlns:tv=" http://www.rss-tv.org/rss/tv1.0">
<channel>
<title>Action Movies</title>
<item>
<title>View to a Kill</link>
<link type="rss">/purchase</link>
<tv:preview url="mms://aod.iptv.net/prev?id=132" type="video/asf"/>
</item>
...
</rss>
|
XML element |
<tv:sami> |
|
Type |
URI |
|
Occurrence |
Zero or more |
|
Attribute |
language |
The SAMI element is used for displaying subtitles synchronized with the media. The optional language attribute contains a 2 character ISO 639 language code that represents the language of the subtitling text. The STB may use multiple entries to enable the user to ‘cycle’ through the available languages.
Example:
<item>
<title>Media with subtitling (closed caption)</title>
<tv:sami language="en">http://www.serv.net/198.en.sami</tv:sami>
<tv:sami language="sv">http://www.serv.net/198.sv.sami</tv:sami>
<enclosure url="rtsp://www.video.net/1028/198.wmv"/>
</item>
|
XML attribute |
<tv:selected> |
|
Type |
Boolean |
|
Occurrence |
Optional |
|
Default |
false |
'Selected' determines whether the item should be selected by default by the navigation client application menu cursor.
Only a single item should have this attribute set to true. If none of the items is selected, the client shall select the first item in the list or select the item on the basis of the user's selection history.
Example:
<item tv:selected="true">
<title>Cancel</title>
<link tv:type="action">menu-1</link>
</item>
<item>
<title>Ok</title>
<link tv:type="rss">/purchase/?action=confirm</link>
</item>
|
XML attribute |
<item tv:status> |
|
Type |
String |
|
Occurrence |
Optional |
The <item tv:status> attribute can be used to signal a specific status of a media item to the user. The client navigation client application can implement this by using special icons or colors for those menu items with a special status. Implementation of this feature is not mandatory to be RSS-TV compliant. The following item status values are defined:
|
unauthorized |
The user is not authorized to access the associated media |
|
viewed |
The user has already viewed this media |
|
playing |
The user is currently playing this media |
|
expire |
The system will soon expire this media from the network |
Example:
<item tv:status="viewed">
<title>View to a kill</title>
<enclosure url="rtsp://www.test.com/v/?id=24981" type="video/mpeg"/>
</item>
|
XML element |
<tv:start> |
|
Type |
Conform date and time specification of RFC 822 |
|
Occurrence |
Optional |
|
Attributes |
None |
The <tv:start> element is used in combination with a live video or audio stream and is used to indicate the start of a specific item/event.
|
XML attribute |
<link tv:type> |
|
Type |
String |
|
Occurrence |
Optional |
|
Default |
html |
The client will process the item <link> element based on the value of the <tv:type> attribute. The default type is "html".
The client will process the item <link> element as a submenu of the current menu. The HTTP response of this URI must be an RSS-TV document.
The client will process the item <link> element as a link to an HTML application that will be loaded in the browser.
Client devices are allowed to ignore (and hide) items with type 'html' to prevent users from accessing unsupported HTML applications. This is specifically applicable if the client device has no (or limited) support for HTML.
The client will process the item <link> element as one of the predefined actions. The following action links are defined:
|
XML attribute |
<tv:zap> |
|
Type |
Boolean |
|
Occurrence |
Optional |
|
Default |
Value of <tv:zap> at <channel> level |
Override zapping behavior on single item. This is typically used in case the menu contains a list of media items combined with a single (or few) action items. In this case, the channel level ‘<tv:zap>’ can be set to ‘true’ and the menu item with an action item can be set to ‘false’.
The RSS <title> element of the <item> element has been extended for RSS-TV. The title element of an item element may contain a tv:value attribute to denote the value of a configuration setting. Example:
<title tv:value="4:3">TV Display</title>
The client can use this extension to – for example – right align the string contained in the tv:value element. See the settings menu of the iPhone for an example implementation.

The RSS <description> element, which can be a child element of the channel element, the item element and the input element, has been extended for RSS-TV. The description element may contain some basic HTML-like elements which are listed below. A long description may also be broken up into different visible sections using the <tv:card> element.
|
<tv:b> |
Inline element which makes its contents bold. |
|
<tv:i> |
Inline element which makes its contents italic. |
|
<tv:big> |
Inline element which makes its content bigger than default. |
|
<tv:small> |
Inline element which makes its content smaller than default. |
|
<tv:br /> |
Inline element which causes the client to insert a carriage return. |
|
<tv:ol> |
Block level container element which denotes the start of an ordered list. |
|
<tv:ul> |
Block level container element which denotes the start of an unordered list. |
|
<tv:li> |
Block level container element which contains a single list item. This element is a child element of either <tv:ol> or <tv:ul>. |
|
<tv:p> |
Block level container element used for containing paragraph text. |
|
<tv:card> |
Used for breaking long descriptions up into discrete elements. |
All markup elements behave as they would be expected to in a normal web page. For HTML-based clients it is normal procedure to translate these into the HTML elements that they represent and then copy these into the navigation client application and let the browser take care of rendering these elements.
HTML-like elements that have been defined as being block level may not be nested inside each other. The only exception is <tv:li> which must be nested within <tv:ol> or <tv:ul>. It is therefore not permissible to have nested lists or have lists nested in <tv:p> elements. Inline elements may be nested within block-level elements.
An example:
<description>
<tv:p>Here is a list of fun things to watch</tv:p>
<tv:ul>
<tv:li>TV Shows</tv:li>
<tv:li><tv:b>Short</tv:b> Films</tv:li>
<tv:li><tv:i>Funny</tv:i> Films</tv:li>
</tv:ul>
</description>
All of the permitted HTML-like elements (listed above), with the exception of <tv:br /> support the following attributes. Any other attributes should be actively removed by the client.
|
Id |
Optionally indicates the id of the element. |
|
Class |
Optionally indicates the class of the element. |
Sometimes a description may contain more than the recommended maximum number of characters. The client navigation application may simply hide the extra characters. Intelligent clients may implement a means to scroll through the entire description. Cards can be used by the service to 'hint' to the client navigation application how the large description should be broken into visible sections. The client navigation application should include visual hints to explain the user how to scroll through the entire description.
|
XML element |
<tv:card> |
|
Type |
May contain the same data and the same HTML-like elements, which a description element does. It may however not contain <tv:card> elements as child elements. |
|
Occurrence |
Optional |
|
Attributes |
None |
RSS feeds contain enclosures that represent links to actual media content. RSS-TV introduces some extensions to enable secure download and resume functionality.
Internet media services are delivered in real-time using streaming protocols such as RTSP/RTP and MMS, or they can be downloaded to the client using protocols such as HTTP or FTP. Streaming is useful for immediate viewing or listening, while download can be used to deliver games or high quality video files over slower connections.
|
<tv:delivery> |
Type of delivery (streaming, download, P2P) |
|
<tv:notify> |
URI to notify service about download progress |
|
<tv:publish> |
Flag to indicate if downloaded media should be published within local (HOME) network. |
|
<tv:remove> |
Remove the downloaded media at a certain date/time |
|
<tv:roprovider> |
Identifies the technology provider for acquiring the rights object. |
|
<tv:rourl> |
URI to acquire rights object (license) |
|
<tv:startat> |
Start the media at a random position |
|
XML attribute |
<tv:delivery> |
|
Type |
String ("download" | "streaming") |
|
Occurrence |
Optional |
|
Default |
"streaming" |
The RSS-TV navigation server shall include the RSS-TV enclosure extension <enclosure tv:delivery> to explicitly indicate that content is intended for download (and storage) rather than for real-time streaming. The default value is "streaming". The client should process this instruction by initiating a file download process rather than streaming the content. The enclosure URL shall be used to signal the delivery protocol (HTTP, FTP or other delivery protocols such as BitTorrent/P2P).
See the end of this section for an example enclosure.
|
XML attribute |
<tv:notify> |
|
Type |
URI |
|
Occurrence |
Optional |
An enclosure linking to a downloadable content item may include an <enclosure tv:notify> attribute with a URI to notify the service that a download has completed. The client shall call this URI when the download process has completed. The URI shall be expanded by the client navigation application with a parameter named 'event' and a value set to 'complete'.
For example, if the URI is set to
Then the navigation client application will call the following URI when the download has completed:
http://test.iptv.com/notify/?event=complete
See the end of this section for an example enclosure.
|
XML attribute |
<tv:publish> |
|
Type |
Boolean |
|
Occurrence |
Optional |
The <enclosure tv:publish> attribute is used to indicate whether the downloaded media should be published within the local (home) network using standards such as UPnP and/or DLNA. Publish is assumed to be "true" by default.
See the end of this section for an example enclosure.
|
XML attribute |
<tv:remove> |
|
Type |
Date |
|
Occurrence |
Optional |
An enclosure linking to a downloadable content item may include an <enclosure tv: remove> attribute containing a date conforming RFC 822. The client should automatically remove the downloaded content file at the indicated GMT date and time to comply with copyrights. Note that secure and timely removal of the file should be enforced by DRM technology such as Windows Media DRM or OMA DRM.
See the end of this section for an example enclosure.
|
XML attribute |
<tv:roprovider> |
|
Type |
String |
|
Occurrence |
Optional |
An enclosure linking to a downloadable content item may include an <enclosure tv:roprovider> attribute with a String to identify the Rights Object (license) provider. This identifier allows the client device to apply the appropriate protocol for acquiring the rights object. The protocol of acquiring the Rights Object is outside the scope of this document, the device manufacturers will need to work with the rights object issuers to exchange the details of the protocol.
The value of <tv:roprovider> should start with the publicly known company name of the Rights Object provider and may be augmented with a protocol version number. Examples are ‘entriq.1’ or ‘theplatform.1’.
See the end of this section for an example enclosure.
|
XML attribute |
<tv:rourl> |
|
Type |
URI |
|
Occurrence |
Optional |
An enclosure linking to a downloadable content item may include an <enclosure tv:rourl> attribute with a URI to acquire a Rights Object (license). Encrypted content that is downloaded can only be viewed if the user has a corresponding key, contained in a Rights Object with certain access and copy control parameters. The Rights Object acquisition protocol is implemented by a Rights Object provider <enclosure tv:roprovider> as described in the associated section.
See the end of this section for an example enclosure.
|
XML attribute |
<tv:startat> |
|
Type |
Number |
|
Occurrence |
Optional |
An enclosure linking to a streaming media item may include an <enclosure tv:startat> attribute containing a position measured in milliseconds from the beginning of the media. The client shall start the media at the indicated position. This attribute shall be ignored for live streams.
<enclosure
url="http://server.cdb.com/file.mp4"
tv:delivery="download"
tv:publish="false"
tv:roprovider="entriq.1"
tv:rourl="http://roserver.cp.com/?keyid=7A8f6gy3i6o4"
tv:remove="Wed, 03 Jan 2018 15:00:00 GMT"/>
<enclosure
url="rtsp://server.cdb.com/video/?id=234"
tv:startat="635200"/>
RSS-TV enables associating event information with live streams. This feature is used to create an EPG for live TV or radio channels, and can also be used to control PVR recording triggers.
Event information is associated with live or semi-live streams by including a video/audio enclosure to the media and a URI to locate the event information. The TV device can use this URI to retrieve information about previous, current, and upcoming events scheduled on the live channel. The event URI returns an RSS compliant response with items, each item containing a start and a duration element.
It is not mandatory for a service provider to provide event information for live video/audio channels. Event information is optional and can be processed by the TV device if it is available.
For more information on the event information read the sections on RSS-TV item extension '<tv:eventinfo>', '<tv:start>' and '<tv:duration>'.
An RSS-TV web service may encounter system errors or other errors that prevent users from accessing the service.
The web service should respond with a valid RSS-TV response to inform users accordingly. This RSS-TV response may or may not contain information about the error. Users can be informed of errors and provided a single menu option to go to the root of the menu as demonstrated in the following example:
<?xml version="1.0"?>
<rss version="2.0" xmlns:tv=" http://www.rss-tv.org/rss/tv1.0">
<channel>
<language>en-us</language>
<title>System Problem</title>
<description>A system problem occurred. Our apologies for the inconvenience. Please try again later.</description>
<item>
<title>OK</title>
<link tv:type="action">menu:0</link>
</item>
</channel>
</rss>
The RSS-TV protocol contains various string elements such as 'title' and 'description'. To prevent scrolling of text or missing characters, RSS-TV recommends the following maximum element length guidelines (for standard character sets):
|
channel.title |
25 characters |
|
channel.description |
Maximum 300 characters in total or per card |
|
item.title |
40 characters |
|
item.description |
Maximum 300 characters in total or per card |
|
input.title |
25 characters |
|
input.description |
Maximum 80 characters |
Unnecessary whitespace in text elements such as item title and item description should be removed before they are rendered, inline with standard HTML processing.
A device may claim RSS-TV compliance to indicate the ability to seamlessly integrate with RSS-TV-compliant services. This section specifies under what conditions a product may claim RSS-TV compliance.
A device manufacturer may either implement the RSS-TV ‘Basic Profile’ or the ‘Standard Profile’. The following tables outline which functions are included by the basic and standard profiles.
|
|
Basic Profile |
Standard Profile |
|
<tv:help> |
|
X |
|
<tv:preview> |
|
X |
|
<tv:style> |
|
X |
|
<tv:subtitle> |
|
X |
|
<tv:tracker> |
|
X |
|
<tv:widget> |
|
X |
|
<tv:zap> |
|
X |
|
|
Basic Profile |
Standard Profile |
|
<tv:done> |
|
X |
|
<tv:duration> |
|
|
|
<tv:eventinfo> |
|
|
|
<tv:image> |
|
X |
|
<tv:meta> |
|
X |
|
<tv:number> |
|
X |
|
<tv:preview> |
|
X |
|
<item tv:selected> |
|
X |
|
<tv:start> |
|
|
|
<item tv:status> |
|
X |
|
<link tv:type> |
X |
X |
|
|
Basic Profile |
Standard Profile |
|
<action> |
X |
X |
|
<description> |
X |
X |
|
<language> |
|
X |
|
<maxlength> |
|
X |
|
<menuhistory> |
X |
X |
|
<name> |
X |
X |
|
<suggest> |
|
X |
|
<title> |
X |
X |
|
<type> |
|
X |
|
<value> |
|
X |
|
|
Basic Profile |
Standard Profile |
|
<tv:b> |
|
X |
|
<tv:i> |
|
X |
|
<tv:big> |
|
X |
|
<tv:small> |
|
X |
|
<tv:br /> |
|
X |
|
<tv:ol> |
|
X |
|
<tv:ul> |
|
X |
|
<tv:li> |
|
X |
|
<tv:p> |
|
X |
|
<tv:card> |
|
X |
|
|
Basic Profile |
Standard Profile |
|
<tv:delivery> |
|
X |
|
<tv:notify> |
|
X |
|
<tv:publish> |
|
X |
|
<tv:remove> |
|
X |
|
<tv:rourl> |
|
X |
|
<tv:startat> |
|
X |
A device is RSS-TV compliant if it implements the ‘Basic Profile’ of RSS-TV 2.0. A suite of test cases is available at www.rss-tv.org to validate compliance of the navigation client application.
A service is RSS-TV compliant if a device that only implements the RSS-TV ‘Basic Profile’ can navigate and access the online media services.
The following table provides definitions for acronyms used in this document.
|
AJAX |
Asynchronous JavaScript and XML |
|
DHTML |
Dynamic hypertext markup language |
|
DNS |
Refers to the Domain Name System, an Internet service that translates domain names into IP addresses |
|
DVB |
Digital Video Broadcasting. Refers to standards for the delivery of digital television and data services developed by the Digital Video Broadcasting Project. |
|
DVD |
Digital Versatile Disc |
|
DVR |
Digital Video Recorder |
|
EPG |
Electronic program guide |
|
HTTP |
Hyper text transfer protocol |
|
IP |
Internet Protocol |
|
IPTV |
Internet protocol television |
|
OS |
Operating system |
|
MPEG |
Refers to standards for coding representations of digital audio and video developed by the Moving Picture Experts Group. |
|
NTSC |
National Television System Committee. Refers to standards for analog television broadcasting developed by the National Television System Committee. |
|
PAL |
Phase-alternating line. Refers to the analog video encoding system used in broadcast television systems. |
|
PHP |
PHP: Hypertext Preprocessor. Programming language originally designed for producing dynamic web pages. |
|
PIN |
Personal identification number |
|
PVR |
Personal video recorder |
|
UTF-8 |
Unicode Transformation Format (8-Bit) |
|
RSS |
Really Simple Syndication |
|
XML |
Extensible markup language |