Shaka-player: Widevine/Clearkey don't work on Samsung TV browser (Tizen 2.4)

Created on 30 Apr 2017  ·  10Comments  ·  Source: google/shaka-player

  • What version of Shaka Player are you using? v2.1.0

    • Can you reproduce the issue with our latest release version? Yes

    • Can you reproduce the issue with the latest code from master? Yes

  • Are you using the demo app or your own custom app? Demo app

  • What browser and OS are you using?
    userAgent = Mozilla/5.0 (SMART-TV; Linux; Tizen 2.4.0) AppleWebkit/538.1 (KHTML, like Gecko) SamsungBrowser/1.1 TV Safari/538.1

Info about MSE/EME support:
http://webcache.googleusercontent.com/search?q=cache:fkPhZ4MZgIEJ:developer.samsung.com/tv/develop/tutorials/html5w3c/mse-media-source-extensions-eme-encrypted-media-extensions+&cd=1&hl=es&ct=clnk&gl=es

  • What did you do? Load any Widevine or Clearkey asset
    20170430_162349

20170430_162358

20170430_162411

TSTB enhancement help wanted

All 10 comments

@avelad, my best guess is that the issue might be with Samsung's implementation of EME v0.1b. Let me consult with a colleague of mine and see if there's any way we can get access to a Tizen TV for testing.

I don't have access to a Tizen TV. Can you recommend a way for me to reproduce and work on a fix?

Hi @joeyparrish ,

I suspect that Samsung implementation has any error on Promises or EME API. Let me check anf I'll back with any news

Please do not close the issue even if it takes a week to respond.

No problem. I am happy to leave the issue open for you.

If you can develop an appropriate polyfill for Tizen, you could send us a PR.

With Tizen TV emulator ClearKey works.

After check the Samsung Forum, I found http://developer.samsung.com/forum/thread/are-html5-mse-and-eme-supported-by-tizen/201/306261?boardName=SDK&startId=zzzzz~

I think that the problem it's the EME implementation of Samsung.

The problem probably is related to: https://github.com/google/shaka-player/issues/752#issuecomment-293054809 with Tizen 3.0, Samsung changes to V8 and update EME implementation...

I don't see anything obviously related in #752 (which is about Safari), and your comment link does not go to a specific comment. Can you clarify?

Tizen 2.4 is based on EME v0.1b (non-object-oriented) with a webkit prefix same a Safari.
Tizen 3.0 works with current polyfill (ClearKey on emulator and ClearKey /Widevine on TV).

According to http://developer.samsung.com/tv/develop/specifications/general-features, Samsung Smart TV 2016 uses Tizen 2.4 and Samsung Smart TV 2017 uses TIzen 3.0

Note:
Tizen 2.4 uses JSC as javascript engine.
Tizen 3.0 uses V8 as javascript engine.

Ah, I see. Thanks for the details!

I don't think we'll be able to look into this until we get our own Tizen TV for testing. In the mean time, a PR is welcome if you figure it out on your own.

Regarding 2015 and 2016 SamsungTVs:
the implementation of EME v0.1b is incomplete/incorrect:
Tizen’s video element implementation declares msPrefixed EME methods and events.
That’s the reason Youtube test page and Shaka Player support page report positive.
But the implementations are empty, and I get an empty challenge on the license request event.

In addition, the drm engine seems to support Playready, and not Widevine as advertised:
you can play Playready DASH (and HSS) content in a “native” Tizen application,
which is an Html + Javascript application that calls native Tizen Javascript Extensions, and can be developed with the Tizen IDE.

Note Shaka v2.0.1 introduced a fix for Toshiba TV, which seemed to have similar problems with eme v0.1b.
But unfortunately it doesn't fix the problems for Samsung TV.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

gkal19 picture gkal19  ·  6Comments

EstebanBP picture EstebanBP  ·  4Comments

ldayananda picture ldayananda  ·  5Comments

dakom picture dakom  ·  3Comments

interpegasus picture interpegasus  ·  3Comments