Accessibility
Adobe Media Player

Adobe

 

Created:
29 September 2008
User Level:
Intermediate
Products:
Media Player

How Adobe Media Player uses SMIL

Note: The following article is adapted from the Adobe Media Player 1.5 Content Developer Kit, available for download from the Adobe Media Player Developer Center home page.

Adobe Media Player supports an extended XML namespace, enabling you to implement custom features using Adobe Media Orchestration Documents (AMODs). AMODs themselves utilize tags from a handful of SMIL modules.

SMIL, the Synchronized Multimedia Integration Language, is a W3C-recommended XML markup language for describing multimedia content. It defines markup for timing, layout, animations, visual transitions, and media embedding, among other things.

Adobe Media Player supported SMIL formats

Adobe Media Player supports specific tags from the following SMIL modules:

Structure

This is the set of container elements such as smil, head, and body. Almost every variation on the SMIL 2.1 language profile needs this module.

BasicLayout

This module contains a layout element for organizing media elements into regions on the visual rendering surface. Layouts can have regions within them with coordinates. For example:

<layout>
    <region id="banner" top="auto" left="auto" width="auto" height="auto"/>
</layout>

Any number of regions can be defined within the layout element. They can be referenced by a media object as:

<video src="product_ad.flv" region="banner" title="Advertisement" />

BasicLinking

This module contains link elements such as a and area, which allow you to associate links with segments of a media element, such as a banner or overlay ad. For example:

<video region="overlayAd" src="foo.flv" >
    <area href="http://www.adNetwork.com/bar" />
</video>

BasicInlineTiming

This module is to time what the BasicLayout module is to space. Between the two, the support for orchestration is complete. This module contains the basic support for timing of video content. It contains elements, such as seq and par for sequential and parallel playback respectively, begin and dur attributes to specify the beginning and duration of a media object respectively, and directives such as repeatCount and repeatDur. For example:

Simple sequence container:

<seq>
    <img id="i1" begin="0s" dur="5s" src="img1.jpg" />
    <img id="i2" dur="10s" src="img2.jpg" />
    <img id="i3" begin="1s" dur="5s" src="img3.jpg" />
</seq>

Simple parallel container:

<par>
    <img id="i1" dur="5s" src="img.jpg" />
    <img id="i2" dur="10s" src="img2.jpg" />
    <img id="i3" begin="2s" dur="5s" src="img3.jpg" />
</par>

An AMOD might have a section that looks like the following:

<seq>
    <video src="http://www.advertiser.com/ad?id=127628734" />
    <video src="http://www.network.com/shows/MyShow/episode_1_part_1.flv" />
    <video src="http://www.advertiser.com/ad?id=349857495" />
    <video src="http://www.network.com/shows/MyShow/episode_1_part_2.flv" />
    <video src="http://www.advertiser.com/ad?id=034985098" />
    <video src="http://www.network.com/shows/MyShow/episode_1_part_3.flv" />
    <video src="http://www.advertiser.com/ad?id=234857683" />
    <video src="http://www.network.com/shows/MyShow/episode_1_part_4.flv" />
    <video src="http://www.advertiser.com/ad?id=093845093" />
    <video src="http://www.network.com/shows/MyShow/episode_1_part_5.flv" /> 
</seq>

BasicMedia

The BasicMedia module contains all the basic media objects, such as video, audio, text, and image. For example:

<par>
    <seq>
        <par>
            <img src="image1.jpg" region="foo1" fill="freeze" erase="never" .../>
            <video src="video1.flv"/>
        </par>
        <par>
            <img src="image2.jpg" region="foo2" fill="freeze" erase="never" .../>
            <video src="video2.flv"/>
        </par>
        <par>
            <img src="imageN.jpg" region="fooN" fill="freeze" erase="never" .../>
            <video src="video3.flv"/>
        </par>
    </seq>
</par>

BasicContentControl

This module contains extensions to the SMIL 1.0 test-attribute mechanism, which allows the playback engine to process an element, only when certain conditions are true. It includes the switch element. For more information, see Delivering your advertising in Adobe Media Player.

MediaClipping

This module enables time-based ad insertion. It contains the clipBegin and clipEnd attributes, which specify the active duration of a media element. You can distinguish between Simple duration and Active duration of a media element. Both clipBegin and clipEnd are optional attributes. When clipBegin is specified, it marks the beginning of a subclip of the original media object referenced by the element. This offset is measured in normal media playback time from the beginning. If absent, the value of the clipBegin attribute is 0s. The clipEnd attribute marks the end of the subclip, measured in normal media playback time from the start of the original media object. If absent, the value of the clipEnd attribute is equal to the value of the dur attribute (which is, unlike clipBegin and clipEnd, a mandatory attribute). For more information, see Delivering your advertising in Adobe Media Player.

MediaParam

This module is useful for creating unskippable advertisements. Specifically, it enables the specification of generic name-value pairs with a particular media object. Adobe Media Player implementation supports only the param element. The skippable param element determines whether a media object is skippable, that is, whether a viewer can scrub or fast-forward past the content. For more information, see Delivering your advertising in Adobe Media Player.

CustomTestAttributes

This module is an extension to the BasicContentControl module. It allows you to specify how viewers engage with your advertising content when they are online and offline. For more information, see Delivering your advertising in Adobe Media Player.

Where to go from here

Browse the other chapters to read more of the CDK:

About the author

This content was authored by Adobe Systems, Inc.