500 error when streaming adaptive bitrate MP4 set content from Azure Media Services

If you are using Azure Media Services to deliver video content and encoded your video with one of the Adaptive Bitrate MP4 Set profiles you may see one of the following errors.

In the web portal:

We are unable to connect to the content you've requested. We apologize for the inconvenience.
A network error caused the video download to fail part-way. ExtendedMessage: An error has occurred while downloading the manifest.

 

If you try browsing to the manifest directly or you use a network trace tool to monitor the manifest request you see the error:

500 - Internal server error.
There is a problem with the resource you are looking for, and it cannot be displayed.

When you see these errors the most likely cause is that you do not have a Streaming Unit for the dynamically packaged video content.

Dynamic Packaging is a technology that Azure Media Services uses that allows you to create a single video asset and have that asset streamed over the Smooth Streaming, HLS, and MPEG-DASH protocols.  In the past when you created a video asset you could only stream that video asset using the protocol specific to the format that it was encoded as.  For example, if you encoded an asset as Smooth Streaming you would get a group of ISMV video files that made up that asset.  The server would only be able to deliver those videos over the Smooth Streaming protocol.  If you wanted to stream over HLS or another protocol you had to encode another video asset with the MPEG-2 TS files that HLS used to stream over that protocol.  Dynamic Packaging allows you to create a single Adaptive Bitrate MP4 set and from that one asset deliver content over a number of different protocols.  With Azure Media Services this repackaging is done at browse time for each client.  Because this takes extra work, a Streaming Unit is required to use this feature.  For an overview of how to use Dynamic Packaging, see https://azure.microsoft.com/en-us/documentation/articles/media-services-dynamic-packaging-overview/.

Use the follow steps to enable a Streaming Unit:

  1. Open the web portal for Azure Media Services and got to the STREAMING ENDPOINTS tab.  If you have at least one Streaming Unit then the issue you are seeing is not related to this article.
  2. Click the arrow beside 'default' to open your streaming endpoint.
  3. Move the STREAMING UNITS slider to the right so that you have at least one streaming unit.  Note: this will have a pricing impact on your account.  Please review https://go.microsoft.com/fwLink/?LinkID=309724&clcid=0x409 for the cost of streaming units.  Save the changes.

It will take a few minutes for the Streaming Unit to be active.  Once it is active you should no longer see the playback error.