-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
VTT in MP4: samples with multiple VTTCue box not rendered correctly #1266
Comments
It looks like the MP4 text segment contains a |
Yes, exactly, the cues in the same sample does have identical time. Right now, the second cue is not shown in Shaka Player. |
So the problem is that we just parse the |
Previously, we would read each individual VTTC and VTTE box in the MDAT and associate them with durations in the TRUN. This worked for a lot of content, but if sampleSize is defined in the TRUN, a duration might refer to multiple VTTC boxes. This changes the VTT in mp4 reader to parse the MDAT based on the TRUN, to account for such situations. For the moment, this only accounts for a single MDAT, and assumes that the MDAT contains nothing but vttc or vtte boxes, listed in order. Issue #1266 Change-Id: I56e310d085abdda16e968761ed3b4fd0cc5e24d0
Previously, we would read each individual VTTC and VTTE box in the MDAT and associate them with durations in the TRUN. This worked for a lot of content, but if sampleSize is defined in the TRUN, a duration might refer to multiple VTTC boxes. This changes the VTT in mp4 reader to parse the MDAT based on the TRUN, to account for such situations. For the moment, this only accounts for a single MDAT, and assumes that the MDAT contains nothing but vttc or vtte boxes, listed in order. Backported to v2.3.x Issue #1266 Change-Id: I56e310d085abdda16e968761ed3b4fd0cc5e24d0
Fix cherry-picked to v2.3.5. |
NOTE: For bugs, if you delete this template, we will send it again and ask you to fill it out.
Have you read the FAQ and checked for duplicate open issues?:
Yes
What version of Shaka Player are you using?:
I am using the public demo app.
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?:
Chrome on Linux.
What are the manifest and license server URIs?:
Segmented VTT in MP4:
https://storage.googleapis.com/wvtemp/kqyang/vtt5/bunny_live.mpd
VTT in text file:
https://storage.googleapis.com/wvtemp/kqyang/vtt5/bunny_vod.mpd
(NOTE: you can send the URIs to shaka-player-issues@google.com instead, but please use GitHub and the template for the rest)
(NOTE: a copy of the manifest text or an attached manifest will not be enough to reproduce your issue, and we will ask you to send a URI instead)
What did you do?
Play: https://shaka-player-demo.appspot.com/demo/#asset=https://storage.googleapis.com/wvtemp/kqyang/vtt5/bunny_live.mpd;lang=en-US;build=uncompiled
What did you expect to happen?
Render "WebVtt testing Line 1 (1.0 - 8.5)" and "WebVtt testing Line 2 (1.0 - 8.5)" from 1s to 8.5s and render "WebVtt testing (5.0 - 12.5)" from 5s to 12.5s.
What actually happened?
Seeing "WebVtt testing Line 1 (1.0 - 8.5)" from 1s to 8.5s and "WebVtt testing Line 2 (1.0 - 8.5)" from 8.5s to 12.5s.
The text version works. The streams work in dash.js as well although with line 1 and line 2 reversed.
Here is the contents of the VTT file in text:
The text was updated successfully, but these errors were encountered: