none
Playing HLS Fairplay content on IOS Safari or Chrome RRS feed

  • Question

  • Hi,

    I am trying to get HLS streaming with Fairplay to stream on Apple iPad and iPhone. However, not having much luck. I have not implemented HLS over AES so believe that my situation is supported. I have been through the various guides and have a FPS deployment package with the Ask and associated certificate.

    I am using the Azure Media Player and content is setup with two Asset Delivery policies. One handles Widevine and Playright with DASH and Smooth streaming support. The other is configured to use FairPlay with HLS.

    The behaviour that I see is that the Azure Media Player setups the DRM and I can see using the AMP diagnostic overlay that the Fairplay Acquisition Url is setup with the correct content key. When I click play the video player tells me how long the video is but then nothing else happens and then the player freezes and the browser freezes.

    Any thoughts on what is the problem, I dont get an error messages being displayed from the media player.

    Thanks for your help.

    Cheers

    Simon


    iThink SharePoint (http://blog.ithinksharepoint.com)

    Tuesday, June 4, 2019 6:09 PM

Answers

  • Since there are a few moving parts:

    [1] FPS credential preparation and hosting

    [2] FairPlay protection configuration in AMS

    [3] Player

    let's focus on the first 2, by using a test player we know it works.

    [1] You can host the public key Application Cert on a web server so that you can reach it via a URL. Put the URL into the test player (https://openidconnectweb.azurewebsites.net/AMTestPlayer, expand player_settings, paste your AC URL in FPS AC Path textbox, then click AC link to make sure the content can be downloaded properly from the player.)

    [2] Configure FairPlay protection in AMS. You need to decide which version of API to use, I would suggest to use v3 API. First, use "Open" ContentKeyPolicyRestriction. Then move to token restriction after making sure working end-to-end.

    After configuring and publishing, you can use the test player to test. You may test it on Mac, iPad, iPhone.

    After [1] and [2] work, you can then focus on making sure your own player works.

    • Marked as answer by Simon Doy Wednesday, June 5, 2019 4:30 PM
    Tuesday, June 4, 2019 6:52 PM

All replies

  • Since there are a few moving parts:

    [1] FPS credential preparation and hosting

    [2] FairPlay protection configuration in AMS

    [3] Player

    let's focus on the first 2, by using a test player we know it works.

    [1] You can host the public key Application Cert on a web server so that you can reach it via a URL. Put the URL into the test player (https://openidconnectweb.azurewebsites.net/AMTestPlayer, expand player_settings, paste your AC URL in FPS AC Path textbox, then click AC link to make sure the content can be downloaded properly from the player.)

    [2] Configure FairPlay protection in AMS. You need to decide which version of API to use, I would suggest to use v3 API. First, use "Open" ContentKeyPolicyRestriction. Then move to token restriction after making sure working end-to-end.

    After configuring and publishing, you can use the test player to test. You may test it on Mac, iPad, iPhone.

    After [1] and [2] work, you can then focus on making sure your own player works.

    • Marked as answer by Simon Doy Wednesday, June 5, 2019 4:30 PM
    Tuesday, June 4, 2019 6:52 PM
  • Hi William,

    Thanks very much for your help, the approach and the link to the test player. I will go through that and let you know how I get on. 

    Kind Regards

    Simon


    iThink SharePoint (http://blog.ithinksharepoint.com)

    Tuesday, June 4, 2019 10:20 PM
  • Hi William,

    Well that has done the trick. I got the content working with the AMTestPlayer without the Token Protection, then with the Token Protection. Once that was resolved then it was pretty straightforward to get it working with the Azure Media Player in my solution.

    The problem that I had was that I was taking the Ask and assuming it was a GUID. I did some more reading on the Apple FPS developer pages and found a thread where it was stating that the Ask is provided in HEX format. 

    Once that was problem was resolved and the Ask correctly created in Azure Media Services it all started to work beautifully.

    Thanks for your help.

    Cheers

    Simon


    iThink SharePoint (http://blog.ithinksharepoint.com)

    Wednesday, June 5, 2019 4:37 PM
  • Glad it is working, Simon.

    Yes, moving to your Azure Media Player in your solution should be straightforward. The needed API is documented in http://amp.azure.net/libs/amp/latest/docs/. The only difference from CENC case is the extra certificateUrl parameter.

    Wednesday, June 5, 2019 5:24 PM