SALES: 1-800-867-1380

Dynamic Packaging

Updated: May 28, 2014

Microsoft Azure Media Services can be used to deliver many media source file formats, media streaming formats, and content protection formats to a variety of client technologies (for example, iOS, XBOX, Silverlight, Windows 8). These clients understand different protocols, for example iOS requires an HTTP Live Streaming (HLS) V4 format and Silverlight and Xbox require Smooth Streaming. If you have a set of adaptive bitrate (multi-bitrate) MP4 (ISO Base Media 14496-12) files or Smooth Streaming files that you want to serve to clients that understand MPEG DASH, HLS or Smooth Streaming, you should take advantage of Media Services dynamic packaging.

With dynamic packaging all you need is to create an asset that contains a set of multi-bitrate MP4 files or multi-bitrate Smooth Streaming source files. Then, based on the specified format in the manifest or fragment request, the On-Demand Streaming server will ensure that you receive the stream in the protocol you have chosen. As a result, you only need to store and pay for the files in single storage format and Media Services service will build and serve the appropriate response based on requests from a client.

TraditionalEncodeandPackage

DynamicPackaging
noteNote
To take advantage of dynamic packaging, you must first get at least one On-demand Streaming reserved units. For more information, see How to Scale a Media Service.

noteNote
You can use Dynamic Packaging to deliver DASH/CSF encrypted with CENC, HLS v3 and v4 encrypted with PlayReady, or Smooth Streaming encrypted with PlayReady only if your input asset is Smooth Streaming encrypted with PlayReady. You must use static packaging and encryption to protect your Smooth Streaming with PlayReady. For more information, see Protecting Smooth Streaming and MPEG DASH with PlayReady.

Currently, you cannot use Dynamic Packaging to deliver DASH/CSF, HLS, or Smooth Streaming encrypted with Advanced Encryption Standard (AES).

For an overview of Dynamic Packaging, see Introduction to dynamic packaging

This topic walks you through the steps of

Preparing assets for dynamic streaming

To prepare your asset for dynamic streaming you have the two options described in this section.

noteNote
Not all MP4 file-formats are supported by dynamic packaging, for more information, see Unsupported formats for dynamic packaging.

Upload a master file and produce H.264 MP4 adaptive bitrate sets using the Azure Media Encoder

To take advantage of dynamic packaging, you must perform the following steps:

  1. Upload an input file (called a mezzanine file). For example, H.264, MP4, or WMV (for the list of supported formats see Formats Supported by the Media Services Encoder).

  2. Encode your mezzanine file to H.264 MP4 adaptive bitrate sets.

  3. Publish the asset that contains the adaptive bitrate MP4 set by creating the On-Demand Locator.

  4. Build the streaming URLs to access and stream your content.

The Creating an Encoding Job with the Media Services SDK for .NET topic demonstrates how to perform these steps.

Upload existing adaptive bitrate sets and validate them using the Media Packager

You would typically want to perform this task if you are uploading a set of adaptive bitrate MP4 files that were not encoded with Media Services Encoder. The Validating Multi-bitrate MP4s Encoded with External Encoders topic shows how to achieve this task.

Streaming your content to clients

Once you have the adaptive bitrate sets on the Azure Media On-demand Streaming server, you can request a locator and compose the streaming URLs for Smooth Steaming, MPEG DASH, HLS, and HDS (for Adobe PrimeTime/Access licensees only).

ImportantImportant
Make sure to get at least one On-demand Streaming reserved units. For more information, see How to Scale a Media Service.

To provide users with streaming URLs, you first must create an OnDemandOrigin locator. Creating the locator, gives you the base Path to the asset that contains the content you want to stream. However, to be able to stream this content you need to modify this path further. To construct a full URL to the streaming manifest file, you must concatenate the locator’s Path value and the manifest (filename.ism) file name. Then, append /Manifest and an appropriate format (if needed) to the origin locator path. The following table describes the formats and gives examples:

 

Smooth Streaming

{media services account name}.origin.mediaservices.net/{locator ID}/{filename}.ism/Manifest

http://test001.origin.mediaservices.windows.net/fecebb23-46f6-490d-8b70-203e86b0df58/BigBuckBunny.ism/Manifest

MPEG DASH

{media services account name}.origin.mediaservices.net/{locator ID}/{filename}.ism/Manifest(format=mpd-time-csf) 

http://test001.origin.mediaservices.windows.net/fecebb23-46f6-490d-8b70-203e86b0df58/BigBuckBunny.ism/Manifest(format=mpd-time-csf)

Apple HTTP Live Streaming (HLS) V4

{media services account name}.origin.mediaservices.net/{locator ID}/{filename}.ism/Manifest(format=m3u8-aapl)

http://test001.origin.mediaservices.windows.net/fecebb23-46f6-490d-8b70-203e86b0df58/BigBuckBunny.ism/Manifest(format=m3u8-aapl)

Apple HTTP Live Streaming (HLS) V3

{media services account name}.origin.mediaservices.net/{locator ID}/{filename}.ism/Manifest(format=m3u8-aapl-v3)

http://test001.origin.mediaservices.windows.net/fecebb23-46f6-490d-8b70-203e86b0df58/BigBuckBunny.ism/Manifest(format=m3u8-aapl-v3)

HDS (for Adobe PrimeTime/Access licensees only)

{media services account name}.origin.mediaservices.net/{locator ID}/{filename}.ism/Manifest(format=f4m-f4f)

http://test001.origin.mediaservices.windows.net/fecebb23-46f6-490d-8b70-203e86b0df58/BigBuckBunny.ism/Manifest(format=f4m-f4f)

For more information about streaming the content see: Delivering Content, Delivering Assets with the Media Services SDK for .NET, and Delivering Assets with the Media Services REST API.

Unsupported formats for dynamic packaging

The following source file formats are not supported by dynamic packaging.

  • Source files containing the following codecs:

    • Dolby digital plus mp4 files.

    • Dolby digital plus smooth files.

    noteNote
    These codecs are supported in the Azure Media Packager.

  • Protected content:

    • Storage Encrypted

    • PlayReady Protected

      You can use Dynamic Packaging to deliver DASH/CSF encrypted with CENC, HLS v3 and v4 encrypted with PlayReady, or Smooth Streaming encrypted with PlayReady only if your input asset is Smooth Streaming encrypted with PlayReady. Currently, you must use static encryption to encrypt Smooth Streaming with PlayReady. For more information, see Protecting Smooth Streaming and MPEG DASH with PlayReady.

    • Advanced Encryption Standard (AES) Encrypted

      Currently, you cannot use Dynamic Packaging to deliver DASH/CSF, HLS, or Smooth Streaming encrypted with AES.

    noteNote
    These codecs are supported in the Azure Media Encryptor and Azure Media Packager.

  • HLS sources:

    • PlayReady Protected HLS

      You can use Dynamic Packaging to deliver HLS v3 and v4 encrypted with PlayReady only if your input asset is Smooth Streaming encrypted with PlayReady.

    • IIS MS HLS archives

    • IIS MS HLS presentations from Transform Manager or the Media Services Packager

    • Segmented HLS

See Also


Build Date:

2014-08-26
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

ADD
Show:
© 2014 Microsoft