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

Subtitles only downloading a single file #8632

Open
daveisfera opened this issue Mar 7, 2024 · 11 comments
Open

Subtitles only downloading a single file #8632

daveisfera opened this issue Mar 7, 2024 · 11 comments
Labels
needs: addressing playback Playback related issues

Comments

@daveisfera
Copy link

Description

Safari and HLS.js download all of the subtitle files, but Video.js appears to only download a single file and then stop rather than downloading all of the files in the manifest

Reduced test case

https://awresports-hls-dev.s3.amazonaws.com/jccc_1_1/m3u8/2024/02/29/19/index.m3u8

Steps to reproduce

  1. Open Video.js demo page ( https://videojs-http-streaming.netlify.app/ )
  2. Add above URL
  3. Load subtitles
  4. Observe that only a single file is downloaded (and usually cancelled)

Errors

No error output is observed

What version of Video.js are you using?

8.10.0

Video.js plugins used.

No response

What browser(s) including version(s) does this occur with?

122.0.6261.94 (Official Build) (x86_64)

What OS(es) and version(s) does this occur with?

14.3.1

@daveisfera daveisfera added the needs: triage This issue needs to be reviewed label Mar 7, 2024
@gkatsev
Copy link
Member

gkatsev commented Mar 7, 2024

looks like it's failing due to the use EMPTY in the vtt track. I've never seen that before.

Seems like shaka also stops loading it at the first EMPTY

@daveisfera
Copy link
Author

Do you mean that it needs an extension? I changed it to empty.vtt and it still has the same problem.

But if you referring to it being empty as a problem, then that shouldn't be the case, because it states that's possible in the spec:

A WebVTT Segment MAY contain no cues; this indicates that no subtitles are to be displayed during that period.

@daveisfera
Copy link
Author

I changed it so the first track isn't empty and it's still not loading the data, so it appears there's an issue with the handling of EXT-X-MAP or something like that

@coofzilla
Copy link

@gkatsev is it possible that WebVTT EXT-X-MAP is not supported? I saw a similar issue here

@gkatsev
Copy link
Member

gkatsev commented Mar 14, 2024

Definitely possible that it isn't supported. Last I checked, it seemed like it could have because the init segment gets downloaded in the vtt segment loader (https://github.com/videojs/http-streaming/blob/main/src/vtt-segment-loader.js#L82), which is where I paused my investigation last time. So, it could be downloaded but not applied as expected.

Should be fixed, though, I've rarely seen init segments used for vtt files.

@daveisfera
Copy link
Author

Is there a better way to handle having to set X-TIMESTAMP-MAP for livestreams and VODs?

Using init segments for VTT files is the best option I've found for doing that

@gkatsev
Copy link
Member

gkatsev commented Mar 14, 2024

to be clear, you shouldn't need to do anything. However, to get things working now, you probably need to make sure that the VTT segments are complete and include the init the body section.

@daveisfera
Copy link
Author

Can you point me at an example that does a livestream with subtitles that doesn't use X-TIMESTAMP-MAP and an init segment with the VTT files?

@gkatsev
Copy link
Member

gkatsev commented Mar 14, 2024

the timestamp map is still used, it's just in every file. For example, https://demo.unified-streaming.com/k8s/features/stable/video/tears-of-steel/tears-of-steel-multiple-subtitles.ism/.m3u8

@gkatsev gkatsev added needs: addressing playback Playback related issues and removed needs: triage This issue needs to be reviewed labels Mar 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
needs: addressing playback Playback related issues
Projects
None yet
Development

No branches or pull requests

3 participants