videojs / http-streaming

HLS, DASH, and future HTTP streaming protocols library for video.js
https://videojs-http-streaming.netlify.app/
Other
2.53k stars 425 forks source link

In stream subtitles DASH not working with http-streaming project #391

Open Fruitsapje opened 5 years ago

Fruitsapje commented 5 years ago

Description

Hi guys,

When moving over from contrib-dash to the http-streaming project I have encountered an issue where the in stream subtitles for a DASH stream are no longer working. The console is getting the following warning: VIDEOJS: WARN: Error encountered when parsing cues: Malformed WebVTT signature.

The test stream is showing this error when testing on the http-streaming test page: https://videojs.github.io/http-streaming/ But it is working correctly on the contrib-dash test page: https://videojs.github.io/videojs-contrib-dash/

Sources

Test .mpd with in stream subtitles (don't mind the language label not matching the actual language): https://s1-media.streamone.io/dash/account=MpBJPKUJ4Y6i/item=lAAspcbCJVCm/lAAspcbCJVCm.mpd

Steps to reproduce

Explain in detail the exact steps necessary to reproduce the issue.

  1. Go to either the contrib-dash or http-streaming test page
  2. Paste in the .mpd test URL
  3. Press play and seek abit for subtitles to show

Results

Expected

Expected both test pages to display the in stream subtitles.

Error output

in the http-streaming test page: VIDEOJS: WARN: Error encountered when parsing cues: Malformed WebVTT signature.

Additional Information

Please include any additional information necessary here. Including the following:

videojs-http-streaming version

what version of videojs-http-streaming does this occur with? videojs-http-streaming 1.4.1 and latest version on test page

videojs version

what version of videojs does this occur with? video.js 7.3.0 and latest version on test page

Hope you can help.

Thanks!

welcome[bot] commented 5 years ago

πŸ‘‹ Thanks for opening your first issue here! πŸ‘‹

If you're reporting a 🐞 bug, please make sure you include steps to reproduce it. We get a lot of issues on this repo, so please be patient and we will get back to you as soon as we can. To help make it easier for us to investigate your issue, please follow the contributing guidelines.

Fruitsapje commented 5 years ago

Hey there,

Is there any update available on this matter? Would love some feedback so I can make some decisions regarding this subject :)

Hope to hear from you!

Kind regards

hrehman200 commented 5 years ago

I am also facing the same problem with videojs 7 with http-streaming built in. Subtitles show properly in Safari if I set nativeTextTracks: true

stale[bot] commented 5 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

AlexGruzin commented 3 years ago

Same problem "video.js": "7.13.1" My config:

{
        autoplay: 'any',
        responsive: true,
        controls: true,
        preload: 'auto',
        nativeAudioTracks: false,
        nativeVideoTracks: false,
        nativeTextTracks: false,
        nativeControlsForTouch: false,
        preloadTextTracks: true,
        html5: {
            nativeCaptions: false,
            vhs: {
                enableLowInitialPlaylist: true,
                handlePartialData: true,
                parse708captions: true,
                overrideNative: true,
                handleManifestRedirects: true,
            }
        }
    }

No errors I could see. Subs are shown in TextTrackList(), but enabling them makes no effect. So as I see contrib-dash making requests to download text tracks (screenshoot). Vhs do not make text tracks requests.

Screenshot 2021-06-16 at 18 23 20

Here is the source to check: url: 'https://storage.googleapis.com/shaka-demo-assets/sintel-mp4-wvtt/dash.mpd' (nothing works) or url: 'https://livesim.dashif.org/livesim/testpic_2s/cea608.mpd' (sw track not working)

gkatsev commented 3 years ago

Unfortunately, we currently only support VTT based captions in DASH, not those embedded in mp4.

phloxic commented 3 years ago

@gkatsev - the first example is arguably vtt based, but embedded in mp4; do you mean a 'normal' vtt file (not in mpd), or sidecar ttml (never tried that), or?

gkatsev commented 3 years ago

Yup, vtt embedded in mp4 isn't supported. Direct vtt files are. TTML isn't supported either right now, unfortunately.

phloxic commented 3 years ago

Yup, vtt embedded in mp4 isn't supported. Direct vtt files are. TTML isn't supported either right now, unfortunately.

Thanks for clarifying.

phloxic commented 3 years ago

For completeness sake, what also seems to work are 'sidecar' vtt referenced in mpd, sth like:

  <AdaptationSet mimeType="text/vtt" lang="en">
    <Representation id="1" bandwidth="256">
      <BaseURL>https://mydomain.com/subtitles-en.vtt</BaseURL>
    </Representation>
  </AdaptationSet>