Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issue with DRM playback on Tizen 3 (2017) #2131

Closed
stuartflanagan opened this issue Sep 2, 2019 · 21 comments
Closed

Issue with DRM playback on Tizen 3 (2017) #2131

stuartflanagan opened this issue Sep 2, 2019 · 21 comments
Assignees
Labels
platform: TV/STB Issues affecting smart TV or set-top box platforms status: archived Archived and locked; will not be updated status: duplicate A duplicate of another issue; should be closed after linking to the original issue type: bug Something isn't working correctly

Comments

@stuartflanagan
Copy link

I am trying to get a video to playback on a test tizen 3 TV.

I have tested the Sintel Widevine protected video on your site loading into Tizen3 as a custom URL and it plays back without issue.

I am including the HTML I am using to test on the Tizen3 and wondering if you might be able to help work out why it is not playing.
I will email through a copy of the file with the Authkey included.

FYI: If I tinker via the console and set currentTime a few seconds into the video and pause play a couple of times it actually starts playing without issue.

Any help greatly appreciated.

Kind regards,

Stuart

@stuartflanagan stuartflanagan added the type: question A question from the community label Sep 2, 2019
@stuartflanagan
Copy link
Author

I see this in the logs:

buffering shaka.util.FakeEvent
streaming_engine.js:1586 (video:5) looking up segment: presentationTime=6 currentPeriod.startTime=0
playhead.js:501 Stall detected at 2 for 1.0439999103546143 seconds. Seeking forward 0.1 seconds.
streaming_engine.js:935 (all): seeked: buffered seek: presentationTime=2.1
playhead.js:501 Stall detected at 2.1 for 1.0529999732971191 seconds. Seeking forward 0.1 seconds.
streaming_engine.js:935 (all): seeked: buffered seek: presentationTime=2.2
playhead.js:501 Stall detected at 2.2 for 1.000999927520752 seconds. Seeking forward 0.1 seconds.
streaming_engine.js:935 (all): seeked: buffered seek: presentationTime=2.3
playhead.js:501 Stall detected at 2.3 for 1.003000020980835 seconds. Seeking forward 0.1 seconds.
streaming_engine.js:935 (all): seeked: buffered seek: presentationTime=2.4
playhead.js:501 Stall detected at 2.4 for 1.003000020980835 seconds. Seeking forward 0.1 seconds.
streaming_engine.js:935 (all): seeked: buffered seek: presentationTime=2.5
playhead.js:501 Stall detected at 2.5 for 1.000999927520752 seconds. Seeking forward 0.1 seconds.
streaming_engine.js:935 (all): seeked: buffered seek: presentationTime=2.6
streaming_engine.js:935 (all): seeked: buffered seek: presentationTime=3.6
streaming_engine.js:935 (all): seeked: buffered seek: presentationTime=4.6
simple_abr_manager.js:254 Calling switch_(), bandwidth=16297 kbps

@stuartflanagan
Copy link
Author

I have emailed a test file to you.
Kind regards,

Stuart

@predikament
Copy link

Hello @stuartflanagan,

From the best of my knowledge the EME version has so far not been updated to support playback of encrypted contents using the Shaka player for Tizen devices older than Tizen 4, i.e. Tizen devices from 2015/2016 do not support this.

Not sure if or when Samsung is intending to update the EME version for these devices, unfortunately.

You can check out https://developer.samsung.com/tv/develop/specifications/media-specifications from time to time to see if there are any updates there I guess.

Best of luck to you 😄

@joeyparrish
Copy link
Member

We have a Tizen 3 device in our lab, and we do support Tizen 3, both for clear and encrypted content.

What I'm seeing from the logs you added is that the device is seeking forward by 0.1, which is what happens when we detect a stall. So I don't think this is necessarily related to encryption.

Changing the labels to put this in the bug cop's queue. @TheModMaker, can you take a look?

@joeyparrish joeyparrish added needs triage and removed type: question A question from the community labels Sep 4, 2019
@chrisfillmore
Copy link
Contributor

2016 model TV's are not the same as 2017 models. 2016 is WebKit-based and implements EME v0.1b. My understanding is protected playback will not work with Shaka out of the box (see #813).

@stuartflanagan
Copy link
Author

The example Sintel video on the Shaka demo page Plays without issue. This has Widevine encryption and does require EME to play. Just wondering if there is an issue in our manifest. After many minutes waiting the videos do start playing occasionally.

@TheModMaker
Copy link
Contributor

Could you send us another auth token or update the one you sent us; I am getting a 403 from the license server saying it has expired.

If I run the asset in Chrome, from chrome://media-internals I get logs saying ISO-BMFF container metadata for video frame indicates that the frame is not a keyframe, but the video frame contents indicate the opposite. What may be happening is the first few seconds have invalid keyframe signaling and Tizen is getting confused.

You could also try changing the streaming.stallEnabled configuration to false. That disables the stall detection and may allow the asset to play. We've seen Chromecast take a while to start after a seek, so it may be that your TV is just taking a while to start playing and we interpret that as a stall.

@riksagar
Copy link

riksagar commented Sep 5, 2019

We had to make a couple of changes to the 01b calls to make it work on Tizen. Those would have been for 2016 TV.

The changes are in our dash-js fork, you can take a look at those and see if they'd help:

@stuartflanagan
Copy link
Author

Hi @TheModMaker I did email the shaka email address with a set up file including authkey

I might need to reset the authkey.

Is this the right address to use?
shaka-player-issues@google.com shaka-player-issues@google.com

@stuartflanagan
Copy link
Author

thank you @riksagar ! I will give that a go.

Kind regards,

Stuart

@stuartflanagan
Copy link
Author

@TheModMaker & @joeyparrish ,
I have updated the authkey in the link I sent via email.
please download again from the dropbox link.

Let me know if you have any issues accessing the file.

Thanks again for looking at this.

Kind regards,

Stuart

@TheModMaker
Copy link
Contributor

The asset plays fine if I start playing at 2 seconds. With 2 second segments, my guess is that something about your content causes the TV to ignore the first segment or rejects it. Maybe the warning I mentioned above is causing the TV to drop the first segment due to lack of keyframes.

@stuartflanagan
Copy link
Author

Thank you @TheModMaker. Can you let me know how you set playback to be 2 second segments?
I am aware of how to start at 2 seconds.

Are you suggesting there is an issue with the manifest or the transcoding? Is there a way to determine what in the manifest is causing the stall?

This is happening with pretty much all of our content at present.

Thank you for your help.

Kind regards,

Stuart

@stuartflanagan
Copy link
Author

Hi @TheModMaker Just wondering if you might have any extra advice I can pass on to our encoding team.

They have stated the first keyframe is an i frame.

Let me know if you need any further information.

Kind regards,

Stuart

@stuartflanagan stuartflanagan changed the title Issue with DRM playback on Tizen 3 (2016) Issue with DRM playback on Tizen 3 (2017) Oct 10, 2019
@stuartflanagan
Copy link
Author

Hi @TheModMaker and @joeyparrish Just wondering if you might be able to assist any more with this?

The transcoding team seem to think everything is fine but I actually cannot get content to play at all now whether we start 2 seconds in or not.

I can set up another example when you are ready?

Kind regards,

Stuart

@stuartflanagan
Copy link
Author

In my current build I am getting these reported by Shaka:

(video:6) failed fetch and append: code=3015
(audio:1) failed fetch and append: code=3015

@joeyparrish joeyparrish added the platform: TV/STB Issues affecting smart TV or set-top box platforms label Oct 15, 2019
@mishazawa
Copy link

@stuartflanagan Take a look to #1839.
According to messages from @kevinscroggins-youi, he had similar bug on Tizen platform and fix it by pause-play on stall events.

I have same issue on Tizen (UE40MU6100U) and I fix it like this:

shakaInstance.playhead_.gapController_.stallDetector_.onStall_ = () => {
  video.pause();
  video.play();
}

On another Tizen (f.e. QE55Q80R) or WebOS this bug don't reproduce.

It would be nice if shaka.media.StallDetector will provide API for custom behavior on stall events.

@stuartflanagan
Copy link
Author

This did not work sorry. @mishazawa

@joeyparrish joeyparrish added the flag: seeking PR We are actively seeking PRs for this; we do not currently expect the core team will resolve this label Apr 15, 2020
@joeyparrish
Copy link
Member

I believe this may have been fixed in recent v2.5 and v3.0 releases. Can someone please try to reproduce the issue on v2.5.15 or v3.0.3? Thanks!

@joeyparrish joeyparrish added status: waiting on response Waiting on a response from the reporter(s) of the issue and removed flag: seeking PR We are actively seeking PRs for this; we do not currently expect the core team will resolve this labels Aug 21, 2020
@mishazawa
Copy link

@joeyparrish currently I use v3.0.3 on Tizen 2017(and newer) platforms and issue was gone. Message "Pausing and unpausing to break stall." appears sometimes, but playback is OK.
image

@joeyparrish
Copy link
Member

That's wonderful news. Thank you! I'm sorry it took so long to find the solution, but I'm glad it's working for you now.

Though this issue predates #2620, I'm going to close this and label it as a duplicate of #2620, since that's where we did the work that solved this issue.

@joeyparrish joeyparrish added type: bug Something isn't working correctly status: duplicate A duplicate of another issue; should be closed after linking to the original issue and removed status: waiting on response Waiting on a response from the reporter(s) of the issue labels Aug 21, 2020
@joeyparrish joeyparrish self-assigned this Aug 21, 2020
@shaka-project shaka-project locked and limited conversation to collaborators Oct 20, 2020
@shaka-bot shaka-bot added the status: archived Archived and locked; will not be updated label Apr 15, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
platform: TV/STB Issues affecting smart TV or set-top box platforms status: archived Archived and locked; will not be updated status: duplicate A duplicate of another issue; should be closed after linking to the original issue type: bug Something isn't working correctly
Projects
None yet
Development

No branches or pull requests

8 participants