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

Disappearing text/wvtt subtitles #919

Closed
porcelijn opened this issue Jul 7, 2017 · 6 comments
Closed

Disappearing text/wvtt subtitles #919

porcelijn opened this issue Jul 7, 2017 · 6 comments
Assignees
Labels
status: archived Archived and locked; will not be updated type: bug Something isn't working correctly
Milestone

Comments

@porcelijn
Copy link
Contributor

porcelijn commented Jul 7, 2017

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
Copy link
Contributor Author

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

@porcelijn
Copy link
Contributor Author

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
Copy link
Member

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 joeyparrish added type: bug Something isn't working correctly and removed needs triage labels Aug 4, 2017
@joeyparrish joeyparrish self-assigned this Aug 4, 2017
@joeyparrish
Copy link
Member

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.

shaka-bot pushed a commit that referenced this issue Aug 4, 2017
We can now accept non-integral values in settings, such as
"position: 100.0%" instead of just "position: 100%".

The regex change is very simple, so we would also accept invalid
settings such as "position: 12.34.56%" or "position: ...%", both
of which would result in NaN in the output.

Issue #919

Change-Id: I0a437322e76e35fe1d2f369b4a3ea87269799431
@joeyparrish joeyparrish added this to the v2.2.0 milestone Aug 4, 2017
@porcelijn
Copy link
Contributor Author

porcelijn commented Aug 5, 2017 via email

joeyparrish added a commit that referenced this issue Aug 7, 2017
We can now accept non-integral values in settings, such as
"position: 100.0%" instead of just "position: 100%".

The regex change is very simple, so we would also accept invalid
settings such as "position: 12.34.56%" or "position: ...%", both
of which would result in NaN in the output.

Issue #919

Backported to v2.1.x

Change-Id: I0a437322e76e35fe1d2f369b4a3ea87269799431
joeyparrish added a commit that referenced this issue Aug 7, 2017
This adds support for WVTT samples with no sample duration by parsing
the default duration from the "tfhd" box.  If neither is provided, we
now log an error to the console.

Closes #919

Backported to v2.1.x

Change-Id: Icc5550de7bc6018253004a5d3429ccc083ff6cb6
@joeyparrish
Copy link
Member

Fix backported to v2.1.6.

@shaka-project shaka-project locked and limited conversation to collaborators Mar 22, 2018
@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
status: archived Archived and locked; will not be updated type: bug Something isn't working correctly
Projects
None yet
Development

No branches or pull requests

4 participants