RawVoice RSS

“RawVoice RSS” Specification Version 1.2

An RSS module that supplements the <enclosure> element function of RSS 2.0 as well as extend Apple iTunes RSS (e.g. <itunes:xyz>) and/or the Yahoo Media RSS (e.g. <media:abc>) modules by including extra media information that would otherwise not be syndicated.

Namespace declaration

The namespace for RawVoice RSS is defined to be: http://www.rawvoice.com/rawvoiceRssModule/

Example:

<rss version=”2.0″ xmlns:rawvoice=”http://www.rawvoice.com/rawvoiceRssModule/”>

Description

“RawVoice RSS” is a RSS module that supplements the <enclosure> element function of RSS 2.0 as well as extend iTunes Media RSS (e.g. <itunes:xxx>) and/or the Yahoo Media RSS modules by including extra media information that would otherwise not be syndicated. RawVoice extends the enclosures as well as the Apple iTunes/Yahoo Media RSS modules to include additional media information such as TV specific ratings, live stream/embed data, episode poster art, location and episode frequency.

Prerequisites

The RawVoice RSS Module assumes that at the RSS feed’s purpose is to distribute audio and/or video content by utilizing the <enclosure> element, a child of the <item> element. The following elements either apply to all of the items and enclosures as episode wide attributes or are episode specifc, found within a specific <item> element which also contains an <enclosure> element. At least one <item> with a child <enclosure> is required in the RSS2 feed to utilize the RawVoice RSS Module.

The RawVoice RSS Module works best in conjunction with the iTunes RSS Module. Using the Apple iTunes RSS Module is not required but is highly recommended.

The RawVoice RSS Module may also work in conjunction with the Yahoo Media RSS Module. Using the Yahoo Media RSS Module is not required and not recommended.

When the RawVoice RSS Module is present, it is assumed that there is only one <enclosure> per <item>. The RSS 2.0 specification is not explicit that only one enclosure is permitted per item, even though many applications and services only process either the first or last enclosure found in each item. Combined with the thoughts of Dave Winer (the creator of RSS 2.0) and the recommendation from the RSS advisory board that there be only one enclosure per item, the RawVoice RSS Module assumes only one enclosure per item.

Elements

All RawVoice RSS elements are optional. Each element should appear only once in their respective parent <channel> / <item> unless otherwise noted. All values should be plain text (no markup or HTML).

<rawvoice:rating>

rating, if present as a sub-element of <channel>, allows for the parental rating to be specified for the series of syndicated episodes. It has two optional attributes movie and tv.

<rawvoice:rating tv=”TV-PG” movie=”PG”>TV-PG</rawvoice:rating>

Element value must be one of the following TV (V-chip) parental ratings.

  • TV-Y
  • TV-Y7
  • TV-Y7-FV
  • TV-G
  • TV-PG
  • TV-14
  • TV-MA

Please refer to the FCC TV Parental Guidelines for an explanation of each element value. These ratings should be applied to any media content, audio or video. If you are distributing media that is better described as a movie, you may use any one of the 5 MPAA movie parental ratings (G, PG, PG-13, R, NC-17).

Note: The <rawvoice:rating> element is similar to the Yahoo Media rating element (<media:rating scheme=”urn:mpaa”> or <media:rating scheme=”urn:v-chip”>) except the scheme attribute is not required and the value must have one of the TV or Movie rating codes described above.

movie value should be one of G, PG, PG-13, R, NC-17.

tv value should be be one of TV-Y, TV-V7, TV-V7-FV, TV-G, TV-PG, TV-14, TV-MA.

<rawvoice:liveEmbed>

liveEmbed, if present as a sub-element of <channel>, allows for syndicating an embed code of a live stream to the media. It has two required attributes schedule and duration.

<rawvoice:liveEmbed schedule=”Thu, 21 Dec 2000 16:01:07 +0200″ duration=”235″><![CDATA[<embed><param /></embed> ]]></rawvoice:liveEmbed>

schedule value should be a date in RFC 2822 format.

duration value should be the expected length of the media in seconds.

<rawvoice:flashLiveStream>

flashLiveStream, if present as a sub-element of <channel>, allows for syndicating an Adobe Flash live stream using the Real Time Messaging Protocol (RTMP). It has two required attributes schedule and duration.

<rawvoice:flashLiveStream schedule=”Thu, 21 Dec 2000 16:01:07 +0200″ duration=”235″>rtmp://www.example.com/stream</rawvoice:flashLiveStream>

The value should be a complete URL including schema and query string if applicable.

schedule value should be a date in RFC 2822 format.

duration value should be the expected length of the media in seconds.

<rawvoice:httpLiveStream>

httpLiveStream, if present as a sub-element of <channel>, allows for syndicating an Apple HTTP Live Stream (HLS) using Hypertext Transfer Protocol (HTTP). It has two required attributes schedule and duration.

<rawvoice:httpLiveStream schedule=”Thu, 21 Dec 2000 16:01:07 +0200″ duration=”235″>rtmp://www.example.com/stream</rawvoice:httpLiveStream>

The value should be a complete URL including schema and query string if applicable.

schedule value should be a date in RFC 2822 format.

duration value should be the expected length of the media in seconds.

<rawvoice:shoutcastLiveStream>

shoutcastLiveStream, if present as a sub-element of <channel>, allows for syndicating a Shoutcast live stream  using Hypertext Transfer Protocol (HTTP). It has two required attributes schedule and duration.

<rawvoice:shoutcastLiveStream schedule=”Thu, 21 Dec 2000 16:01:07 +0200″ duration=”235″>rtmp://www.example.com/stream</rawvoice:shoutcastLiveStream>

The value should be a complete URL including schema and query string if applicable.

schedule value should be a date in RFC 2822 format.

duration value should be the expected length of the media in seconds.

<rawvoice:liveStream>

liveStream, if present as a sub-element of <channel>, allows for syndicating a generic live stream URL. It has two required attributes schedule and duration and one optional attribute type.

<rawvoice:liveStream schedule=”Thu, 21 Dec 2000 16:01:07 +0200″ duration=”235″ type=”rtsp”>rtmp://www.example.com/stream</rawvoice:liveStream>

The value should be a complete URL including schema and query string if applicable.

schedule value should be a date in RFC 2822 format.

duration value should be the expected length of the media in seconds.

type value should specify the type of stream. e.g. Real Player would use rtsp

Note: RTMP, HLS and Shoutcast live streams should use flashLiveStream, httpLiveStream, shoutcastLiveStream elements respectively.

<rawvoice:location>

location, if present as a sub-element of <channel>, allows for syndicating the readable location of the content. Value may not exceed 50 characters.

<rawvoice:location>Cleveland, OH</rawvoice:location>

<rawvoice:frequency>

frequency, if present as a sub-element of <channel>, allows for syndicating the readable frequency of the media episodes. Value may not exceed 50 characters.

<rawvoice:frequency>Weekly</rawvoice:frequency>

<rawvoice:mycast>

mycast, if present as a sub-item of <channel>, indicates whether the specific program is part of the currently signed in user’s MyCast subscription.  Any authenticated user who is subscribed to the requested program should specify the value “yes” to indicate it is included in a MyCast subscription. If the subscriber is not authenticated, this sub-item should not be included.

<rawvoice:mycast>yes</rawvoice:mycast>

Note: This element item is only applicable to feeds hosted by a RawVoice Generator and should be excluded in server side implementations.

<rawvoice:poster>

poster, if present as a sub-item of <item>, specifies the artwork image for the specific media episode included within <item>. The artwork image should be in either JPEG or PNG format. A square image 600 x 600 pixels in size is recommended. The URL must end in “.jpg” or “.png”. It has one required attribute url.

<rawvoice:poster url=”http://www.example.com/path/to/poster.png” />

url value should be a complete URL including schema (http://) to the image.

Note: The <rawvoice:poster> element is nearly identical to the Yahoo Media <media:thumbnail> element except that there can be only one <rawvoice:poster> element in a given <item>.

Possible image sizes:

  • Square image either 300 x 300, 600 x 600 or 1400×1400 pixels in size.
  • Letterbox (4:3 aspect ratio) image 320 x 240 or 640 x 480 pixels in size.
  • Widescreen (16:9 aspect ratio) image 640 x 360, 1280 x 72, or 1920 x 1080  pixels in size.

<rawvoice:isHd>

isHd, if present as a sub-item of <item>, indicates if the video media specified in the <item>’s child <enclosure> is in High Definition (HD). Any video that is widescreen (16:9 aspect ratio) with a 720p, 720i, 1080p or 1080i resolution (or better) should specify the value “yes” to indicate it is HD.

<rawvoice:isHd>yes</rawvoice:isHd>

If this tag is present and set to “yes” (case insensitive), then the corresponding media content specified by item’s <enclosure> is assumed to be in HD. If the tag is not present or uses any other value, it is assumed the corresponding media content is not HD.

<rawvoice:embed>

embed, if present as a sub-item of <item>, includes a block of embed HTML markup that corresponds to the item’s media content.

<rawvoice:embed><![CDATA[<embed><param /></embed>]]></rawvoice:embed>

<rawvoice:webm>

webm, if present as a sub-item of <item> and <item> includes an <enclosure> item, specifies an alternative ‘WebM’ version of the video specified in <enclosure>. Media content should be identical to the media found in the <enclosure>. The src URL must end in “.webm”. It has one required attribute src and two optional attributes type and length.

<rawvoice:webm src=”http://www.example.com/path/to/media.webm” type=”video/webm” length=”753682846″ />

If this item is present, then the corresponding media content specified by item’s <enclosure> is assumed to be the primary format for playback. The WebM version is assumed to be an alternative format for playback on hardware/software that does not support the video format specified in the <enclosure>.

src value should specify URL to the media.

type value should specify the content type of source. e.g. video/webm

length value should specify the size of source file in bytes.

<rawvoice:mp4>

mp4, if present as a sub-item of <item> and <item> includes an <enclosure> item, specifies an alternative ‘H.264/mp4′ version of the video specified in <enclosure>. Media should be identical to the media found in the <enclosure>. The src URL must end in “.mp4″ or  “.m4v”. It has one required attribute src and two optional attributes type and length.

<rawvoice:mp4 src=”http://www.example.com/path/to/media.mp4″ type=”video/mp4″ length=”753682846″ />

If this item is present, then the corresponding media content specified by item’s <enclosure> is assumed to be the primary format for playback. The mp4 version is assumed to be an alternative format for playback on hardware/software that does not support the video format specified in the <enclosure>.

src value should specify URL to the media.

type value should specify the content type of source. e.g. video/mp4

length value should specify the size of source file in bytes.

Note: It is highly recommended that <enclosure> attribute be used for the mp4 video and an alternative WebM version utilize the <rawvoice:webm> item. Following our recommendation, there should be no need to use the <rawvoice:mp4> item.

<rawvoice:metamark>

metamark, if present as a sub-item of <item> and <item> includes an <enclosure> item, specifies additional meta information that may complement the enclosure and/or may be used during the playback of the enclosure’s media. It has four attributes type, link, position and duration and may contain a value.

<rawvoice:metamark type=”tag” position=”480″>This is where I discuss how to properly beat eggs</rawvoice:metamark>

<rawvoice:metamark type=”ad” position=”120″ duration=”60″ link=”http://www.example.com/path/to/advertisement.html”>campaign:5634</rawvoice:metamark>

<rawvoice:metamark type=”video” link=”http://www.example.com/path/to/media.mp4″ position=”240″ />

<rawvoice:metamark type=”comment” link=”http://www.example.com/path/to/comment/” position=”360″ duration=”60″>Tom: Loved how you discuss how to make cookies with a toaster oven.</rawvoice:metamark>

If this item is present, the information within the metamark’s attributes and value correspond with the item’s <enclosure> and can be used for and possibly displayed during media playback.

link value should specify URL to the media, web page or image.

type value should specify the type of metamark. e.g. video

position value should specify the position in seconds where the metamark should be handled during playback.

duration value should specify the duration in seconds the metamark should be displayed.

Element attribute type must be one of the following and include the noted attributes and/or values.

  • video – Attributes link and position must be specified. The link value should be to a valid video in the same format as <enclosure>, e,g, http://example.com/path/to/video.mp4.
  • audio – Attributes link and position must be specified. The link value should be to a valid audio in the same format as <enclosure>, e,g, http://example.com/path/to/video.mp3.
  • image – Attributes link, position and duration must be specified. The link value should be to a valid image in jpg or png format.
  • comment – Attributes position and duration must be specified, a value in the form of a textual comment should be present. Attribute link is optional.
  • tag – Attributes position must be specified, a value in the form of a textual label should be present.
  • ad – Attributes position and duration must be specified, a value in the form of a unique identifier may be present. Attribute link is optional. Note: the value is intended to be an identifier, it is not intended to be re-displayed.
  • lowerthird – Attributes link, position and duration must be specified and a value in the form of a URL to a web page is optional. Note: This type is for video enclsoures and intended for the video player to display the image specified in link as the lower third advertisement. The link value should be to a valid image in png format with appropriate transparency set if desired.

<rawvoice:subscribe>

subscribe, if present as a sub-element of <channel>, allows for syndicating subscription information. It has three attributes feed, itunes and html. The feed attribute is required. The itunes and html attributes is optional.

<rawvoice:subscribe feed=”http://example.com/feed/podcast/” itunes=”http://itunes.apple.com/podcast/title-of-podcast/id000000000″ html=”http://example.com/subscribe-to-podcast/”></rawvoice:subscription>

feed value should specify the URL to the podcast RSS feed.

itunes value should specify the URL to the iTunes subscribe page.

html value should specify the URL to a local subscribe page.

(RawVoice RSS version 1.2)

Thank you.