shaka-project / shaka-player

JavaScript player library / DASH & HLS client / MSE-EME player
Apache License 2.0
7.07k stars 1.33k forks source link

Disappearing text/wvtt subtitles #919

Closed porcelijn closed 7 years ago

porcelijn commented 7 years ago

Have you read the FAQ and checked for duplicate issues: Yes

What version of Shaka Player are you using: 2.1.4

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

If custom app, can you reproduce the issue using our demo app: -

What browser and OS are you using: Ubuntu (14lts) firefox and chrome

What are the manifest and license server URIs: For reference, please download and extract sintel-audio-video.zip (80MB) which includes text stream as well as A/V using this on-demand MPD

Zip contains track sintel-wvtt.mp4 fmp4 with text/wvtt subtitles that can be played in combination with well-known Sintel movie. The purpose is a mild stress test, that demonstrates an apparent error in VTTcue's trun box parser. I can add source material and/or multi-track a/v if useful.

(you can send the URIs to shaka-player-issues@google.com instead, but please use GitHub and the template for the rest)

What did you do?

Start load presentation with, enable captions

What did you expect to happen?

Expect sample contents (cue 1, 2, ..; spinners, ascii-art) to be visible throughout the whole presentation.

Subtitles work well with dashif reference client (which does not support sttg / VTTCueSettings api).

What actually happened?

Captions show for 10 seconds (as expected) and then suddenly stops. more subs from 20-30 seconds, then nothing till 40 then another 10 seconds. 6 minutes of silence; finally the acii-art appears

I believe this is due to limitations in timeline parsing of Mp4VttParser spec. handling trun's with constant duration.

porcelijn commented 7 years ago

Added input WebVTT input corresponding to mp4 test file sintel-teststream-vtt-input.zip

porcelijn commented 7 years ago

Hi!

To help the triage get going, I've set up another presentation with isoff-live profile: https://demo.unified-streaming.com/shaka/wvtt.ism/.mpd Here's a link to a live Shaka player. Make sure you enable CC (track language should be multiple, mul). Cues should start immediately (first cue, cue2, cue3) al the way to cue9 then they disappear for 10 seconds. The we have cue 20...cue 28 and silence once again. To see what should actually be displayed, compare to: dash reference client (again, select text language mul) -- which should show a more or less contiguous uninterrupted series of cue X, where X is increases every second.

Hope this helps!

joeyparrish commented 7 years ago

I've been through this with your demo, and I can see that it is definitely caused by a lack of duration in the trun box. I checked the spec, and it seems like we should be using the default from the tfhd box in this case. Let me see what I can do.

joeyparrish commented 7 years ago

I'm also seeing warnings about unsupported settings because some of your samples use fractional values and our parser is expecting only integral values. Should be easy to fix both.

porcelijn commented 7 years ago

Great! Thanks

On 4 Aug 2017 22:20, "Joey Parrish" notifications@github.com wrote:

I've been through this with your demo, and I can see that it is definitely caused by a lack of duration in the trun box. I checked the spec, and it seems like we should be using the default from the tfhd box in this case. Let me see what I can do.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/google/shaka-player/issues/919#issuecomment-320344302, or mute the thread https://github.com/notifications/unsubscribe-auth/ABx-7wp5GgnbTxa_kCYxtbT04hCEoHWYks5sU30hgaJpZM4ORGw_ .

joeyparrish commented 7 years ago

Fix backported to v2.1.6.