Question

I've been trying to use MPEG-DASH's dash.js reference player to play media from my Windows Azure Media Services (WAMS) account. Unfortunately Chrome 33 (which supports Media Source Extensions, and thus DASH) gives me a standard CORS error:

XMLHttpRequest cannot load totallyrad.origin.mediaservices.windows.net/6c8d4ddf-1579-4047-8f15-ae1fe95bd2d5/interview1.ism/manifest(format=mpd-time-csf). No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'localhost:3000' is therefore not allowed access.

Unfortunately, you can't just upload a crossdomain.xml to WAMS so the browser will allow the request (it's a disallowed type for some reason). I found an article on how to enable CORS for Azure Storage but this is to enable an upload scenario from a browser: This is the opposite of what I need.

It seems that Azure doesn't really support dash if this is not possible... so I must have done something wrong because someone has already done this, as this media link works in the dash player.

For testing, you can use the online Dash.js player

Was it helpful?

Solution

After Kirk Shoop responded on my github issue (https://github.com/Dash-Industry-Forum/dash.js/issues/118):

WAMS should produce the headers correctly if the content was published correctly.

Pasting from a WAMS PM:

Next steps for you would be:

  • Check the streaming URL, perhaps hit Publish again if you've Unpublished it.
  • Check that you can get a Smooth manifest for you file. Remove ‘(format=mpd-time-csf)’ from your url to get the smooth manifest
  • Check that the smooth plays (http://smf.cloudapp.net/healthmonitor).
  • Check that you have a streaming RU.
  • Check that the DASH manifest downloads.
  • Try it again in the DASH-IF sample player.

Kirk

Software Design Engineer

Microsoft Open Technologies, Inc.

Thanks for the quick response. I got it working based on the feedback. Here's what I found:

  1. My WAMS account didn’t have a Reserved Unit (RU). Although I believe this is for encoding, I assigned one.
  2. My content was unpublished, so I published it.
  3. Finally, my encoding job apparently wasn’t using smooth streaming – the default in the MediaServicesGettingStarted project is “H264 Broadband 720p”.

I had tested my uploaded video in a Flash player with the Microsoft OSMF smooth streaming plugin... and it had worked. So I'm completely confused as to why it became unpublished, or how the smooth streaming plugin played it previously. But, it works now... so thank you for the tips!

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top