Adobe Media Player: Understanding the structure of the RSS feed

by Craig Syverson

Adobe Media Player is a next-generation desktop media player and management application that provides high-quality video playback of streamed, downloaded, or locally stored FLV content. Users can subscribe to television shows and other online video content that they can download automatically in the background and view later — even if they are offline. An elegant user interface makes navigating this seemingly complex world far less daunting and more enjoyable.

Adobe Media Player enables content providers and media publishers to create custom skins for their playback screens, offering deeper branding correlations and the opportunity to monetize through advertising. Publishers can also orchestrate the playback of their content and advertising using publisher playlists — and when they use Adobe Media Player in conjunction with Adobe Flash Media Server 3, they can enjoy greater levels of content delivery, protection, and integrity.

As you prepare to make content available for Adobe Media Player, it's best to start with a broad understanding of the structure of the system so you can make strategic decisions about how to participate. The good news is that publishers have a full range of options depending on how much of the Adobe Media Player platform they wish to take advantage of, and with the enhanced codec support of Adobe Flash Player 9, many publishers have existing content that is fully compatible today.

Figure 1 shows the main components of an Adobe Media Player playback window. Below it are some definitions of terms used in this article.

Branding and advertising components of the Adobe Media Player video playback window

Figure 1. Branding and advertising components of the Adobe Media Player video playback window.

Terms used in this article:

RSS feed: Standard, XML-based file structure that is the engine behind today's blogs, newsfeeds, and podcasts. Blog readers and other media aggregators refer directly to the RSS feed to display the content.

Show: Collective identity of a series of episodes of the same program (such as I Love Lucy).

Episode: Single installment of a show (for example, "Lucy does a commercial" is an episode of I Love Lucy).

Branding and advertising

From a strategic perspective, it is helpful for publishers to think of content delivery on Adobe Media Player for two primary purposes: branding and advertising.

You can embed static banners, backgrounds, and images that define the show and network brand in the skin of the player when a specific show is chosen. All of these elements are defined in the show's RSS feed using specific Adobe Media Player XML tags. Branding in Adobe Media Player is free to all publishers.

You can also orchestrate the viewing experience of a show with dynamic advertising content in the form of inline video segments, video overlays, and dynamic banners. Additionally, publishers can receive enhanced measurement metrics from users who have opted into the measurement capability. Advertising support requires a publisher to establish a business relationship with Adobe, which charges a nominal percentage of the advertising revenue generated by the show.

The RSS feed is the primary mechanism for all content to be delivered to Adobe Media Player, and if you seek only branding, all you need to do is simply add the branding-specific XML tags. If you are also seeking advertising, Adobe Media Player supports the creation of publisher playlists or Media Orchestration Documents (MODs), which are separate sets of instructions for individual episodes referenced from the basic RSS feed.

To understand the overall structure of how Adobe Media Player playlists work, it's important to first understand the distinctions between the traditional RSS feed and the MOD playlist. In a standard video podcast RSS feed, for example, the video program associated with an episode is a single media file in a specified tag. Figure 2 lists the typical show and episode information contained in a standard RSS feed.

Show and episode information from a standard RSS feed

Figure 2. Show and episode information from a standard RSS feed.

Since RSS feeds were originally designed for text (blogging) and instant information updates (news), the feed is structured in reverse-chronological order, showing the newest entries first. When users instruct their RSS aggregator to subscribe to a podcast feed, the default sequence of downloading is to start with the newest episode first. Some aggregators allow adjustment of the default settings for this behavior, and Adobe Media Player is no exception. Structurally, over time the feed looks like Figure 3.

Show data from a standard RSS feed over time.

Figure 3. Show data from a standard RSS feed over time.

For publishers using Adobe Media Player and seeking only branding support, you can make optional additions to the standard RSS feed, shown in Figure 4.

Show and episode RSS information with customized branding additions

Figure 4. You can make additions to the standard RSS feed,



This part of the RSS feed is where the specific tags and links to the media files are placed. Storyline is an optional scheme that the publisher can set to have the show episodes delivered in chronological order, or oldest first. This option makes sense for content providers who are creating serial narratives or course-based training content that is best experienced in a start-to-finish sequence.

For publishers seeking advertising support, the Show Information section remains the same — however, in the Episode Information section, the media enclosure file for the episode is represented by a MOD playlist rather than an individual media file (see Figure 5).

Show and episode RSS information with customized branding and advertising additions.

Figure 5. Show and episode RSS information with customized branding and advertising additions.

The MOD is based on the Synchronized Multimedia Integration Language (SMIL) 2.1 standard, which enables the precise programming of media files to present themselves synchronously in sequential and parallel orders. (Figure 6 shows an example of a MOD with two video files and a SWF file.)

Show data from a customized RSS feed over time.

Figure 6. Over time, the overall structure of a feed incorporating MODs.

In the case of Adobe Media Player, MODs play a key role in leveraging the advanced capabilities built into the platform. MODs enable content providers to:

The MOD playlist uses a series of commands that set the timing and duration of these dynamic elements. For example, imagine you have a two-minute episode of a show and you wish to include two different banner advertisements, a preroll video advertisement, a midroll video advertisement, and an overlay bug with the show branding as well as a short Flash animation overlay promoting another show on the network. Figure 7 shows the structure of the MOD playlist that meets this description.

A MOD playlist that incorporates several dynamic elements.

Figure 7. A MOD playlist that incorporates several dynamic elements.

Note that each of the elements — banner, video, and video overlay — runs for 120 seconds. This is important because the MOD needs to orchestrate the playback of all the elements so they will end at the same time.

A time-based media control feature, called the MediaClipping module, enables publishers to dynamically insert and combine different video sources without creating separate media elements specific to that time restraint. Using the example from Figure 7, a publisher can specify the stop and start times of the media file that contains the content of the episode (which starts at the 0:10 mark, stops at the 1:00 mark, and resumes at the 1:10 mark) without having to create two separate media files.

Specific information on the parameters and syntax of the XML tags that enable the capabilities described in this article can be found in the Adobe Media Player Content Publishing Guide.

Now that we have examined the basic structure of the feed architecture, let's look at the types of media files Adobe Media Player supports.

FLV format

Adobe Media Player is based on the FLV architecture and supports playback of video files in the FLV container. In November 2007, Adobe announced that the FLV specification would support the popular H.264 codec. As many online video assets have already been encoded in the H.264 codec, many publishers may not need to re-encode their content to use it with Adobe Media Player. Table 1 lists the supported file types of H.264 encoded video.

H.264 supported file types.

Table 1. H.264 supported file types.

Keep in mind that video files outside the formal FLV container must be encoded with H.264. Video files within the FLV container can be encoded with other codecs normally supported by Flash (such as On2).

Progressive download and streaming

Adobe Media Player supports the management and playback of video content in both progressive download and streaming (via RTMP) methodologies. For end users who are online, the viewing and interaction experience of the content is basically indistinguishable, but Adobe Media Player was designed to support both types. Publishers who want to stream their content may need to perform some setup of the Flash Media Server to deliver a fully qualified URL to the FLV content.

P2P support

Adobe Media Player also supports peer-to-peer distribution of media files using Akamai Red Swoosh. Users need to have the Red Swoosh client installed on their computers for the protocol to be recognized by Adobe Media Player. Publishers who use P2P technology for distribution are also encouraged to include an HTTP-based source for their content as a backup, which they can specify in their feed.

Online – offline

In addition to providing a consistent user experience in the streaming and progressive download modes, Adobe Media Player is designed to work seamlessly both online and offline. When content is collected as a progressive download, all elements are cached locally on the user's computer for playback offline. Publishers can also specify certain attributes of its users' playback experience depending on whether they are online or offline.

Supported asset types

As described earlier, Adobe Media Player supports any video content that is supported in the FLV container as well as any video encoded with the H.264 codec. Table 2 lists the file formats supported by the other elements in the player.

Other supported elements of Adobe Media Player.

Table 2. Other supported elements of Adobe Media Player.

Content preparation

Because Adobe Media Player was designed to comply with and incorporate existing web graphic standards, content publishers likely won't need to apply any special treatment to existing content to use it with Adobe Media Player. Publishers should:

To learn more about Adobe Media Player, visit the product page on Adobe Labs.

Craig Syverson is the host and producer for gruntmedia, a publishing company that produces sequential video podcast programs that explain how and why basic things work. Gruntmedia's first program, videogrunt, tells stories about the terms and technologies of digital video.