Players getSnapshot - Safari problem

Hi, I am using player getSnapshot() function. I get an undefined return value only in Safari. Chrome and Firefox are working fine.

Hi @f.stivicic

Thank you for your question.

Could you let me know the version of the player you are using?

The reason I’m asking is, that I just tested this from the development console in Safari, where it does seem to work. I tested using Bitmovin Player Version 8.97.0 and Safari 16.1.

Do you know if the stream you’re using might be DRM protected?

Best regards,
Peder

Hi Peder,
Thank you for your fast response. The bitmovin is version 8.85.0 and safari 16.0
I would assume that DRM is not set since the function is returning value on other browsers.

Hi @f.stivicic

I quickly tested version 8.85.0 in Safari, and I get the same result as with 8.97.0.

Would it be possible for you to share a link to your stream? If you can’t share it in public, feel free to send a PM.

BR
Peder

I have sent Peder privatly stream source and he verified that the getSnapshot is working for him in our stream. But still I have the problem in our app.
I tried different checkpoints in the code to make sure that all the objects are instantiated.
The player object is present, and functions like getSource and getVideoElement are working fine.
But getSnapshot still returns undefined only on Safari. We are using React so I went outside of it by directly exposing the player object.
I exposed the player object as a child of the window. When I select it in the console it offers me as autosuggest all the PlayerAPI functions as well as getSnapshot, but it still returns undefined (again only in Safari)

I tried version 16.1 Safari, no change.

Hi Peder,
Any updates here?

Hi @f.stivicic

Unfortunately not. Do you by any chance have a public site where the problem can be reproduced?

Hi @f.stivicic

It seems the getSnapshot functionality is not allowed when using native playback in Safari (default).

If it’s a viable option for you to use the HTML5/MSE playback on Safari, you could do this via:

    preferredTech: [{
      player: 'html5',
      streaming: 'hls'
    }]

which should make the getSnapshot() function allowed and working (https://bitmovin.com/docs/player/api-reference/web/web-sdk-api-reference-v8#/player/web/8/docs/interfaces/core_config.playbackconfig.html#preferredtech)

Hi Peder, I didn’t get back to you, but this resolved issues! Thank you!

This topic was automatically closed 60 minutes after the last reply. New replies are no longer allowed.