hls.js icon indicating copy to clipboard operation
hls.js copied to clipboard

Fairplay license url not fetch

Open JESUMH opened this issue 7 months ago • 4 comments

What version of Hls.js are you using?

1.6.2

What browser (including version) are you using?

All apple Safari device

What OS (including version) are you using?

Apple

Test stream

https://hlsjs.video-dev.org/demo/?src=https%3A%2F%2Fdivergente-public.s3.amazonaws.com%2Frecursos%2F7d06e2ae-d406-47ad-a91a-37ad51c67784%2Fdrm%2Fhls%2Foutput%2Fmaster.m3u8&demoConfig=eyJlbmFibGVTdHJlYW1pbmciOnRydWUsImF1dG9SZWNvdmVyRXJyb3IiOnRydWUsInN0b3BPblN0YWxsIjpmYWxzZSwiZHVtcGZNUDQiOmZhbHNlLCJsZXZlbENhcHBpbmciOi0xLCJsaW1pdE1ldHJpY3MiOi0xfQ==

Configuration

hlsInstance = new Hls({
      debug: true,
      emeEnabled: true,
      enableWorker: true,
      lowLatencyMode: true,
      backBufferLength: 90,
      drmSystems: {
        "com.apple.fps": {
          licenseUrl: "https://fps.ezdrm.com/api/licenses/auth?px=7C8D05",
          serverCertificateUrl:
            "https://btp2v879-3001.uks1.devtunnels.ms/fairplay.cer",
        },
      },
    });

    hlsInstance.config.capLevelToPlayerSize = true;

    hlsInstance.loadSource(
      "https://divergente-public.s3.amazonaws.com/recursos/7d06e2ae-d406-47ad-a91a-37ad51c67784/drm/hls/output/master.m3u8"
    );
    hlsInstance.attachMedia(videoElement);

Additional player setup steps

No response

Checklist

  • [x] The issue observed is not already reported by searching on Github under https://github.com/video-dev/hls.js/issues
  • [x] The issue occurs in the stable client (latest release) on https://hlsjs.video-dev.org/demo and not just on my page
  • [x] The issue occurs in the latest client (main branch) on https://hlsjs-dev.video-dev.org/demo and not just on my page
  • [x] The stream has correct Access-Control-Allow-Origin headers (CORS)
  • [x] There are no network errors such as 404s in the browser console when trying to play the stream

Steps to reproduce

  1. Open permanlink
  2. Open web inspector

Expected behaviour

License certificate url is fetched but not license server URL

What actually happened?

Fairplay DRM is not working

Console output

See all logs on permanlink

Chrome media internals output


JESUMH avatar Apr 21 '25 19:04 JESUMH

Playready license url not fetch

Did you mean "Fairplay license"?

robwalch avatar Apr 21 '25 19:04 robwalch

HLS.js only supports EME content protection with fragmented mp4 segments. TS segments with SAMPLE-AES encryption requiring hardware decryption is not supported.

robwalch avatar Apr 21 '25 19:04 robwalch

So in this case, is not possible to use HLS.js player with fairplay on Safari browsers?

Thanks

JESUMH avatar Apr 22 '25 18:04 JESUMH

So in this case, is not possible to use HLS.js player with fairplay on Safari browsers?

The content would need to be repackaged as ISOBMFF fragmented mp4 segments.

robwalch avatar Apr 22 '25 18:04 robwalch