videojs / videojs-contrib-dash

Video.js plugin for supporting the MPEG-DASH playback through a video.js player
https://videojs.github.io/videojs-contrib-dash/
Apache License 2.0
294 stars 128 forks source link

Subtitles embedded in dash manifests dont display consistently #103

Closed jinpark closed 7 years ago

jinpark commented 8 years ago

Description

Captions when bundled up in a dash manifest only gets displayed when you don't change the caption language or dont display at all. A test page is at https://jsfiddle.net/jvv0h0bL/ using https://storage.googleapis.com/shaka-demo-assets/sintel-mp4-wvtt/dash.mpd manifest with videojs-contrib-dash

copied from https://github.com/videojs/video.js/issues/3556

Steps to reproduce

  1. Prepare videojs to handle dash (add dash.js and videojs-contrib-dash.js libraries)
  2. Load up video src with a manifest that has embedded subtitles ex. https://storage.googleapis.com/shaka-demo-assets/sintel-mp4-wvtt/dash.mpd or https://storage.googleapis.com/shaka-demo-assets/tos-ttml/dash.mpd
  3. Switch caption languages through the controlbar and see that no more captions appear

    Results

    Expected

Captions should appear as long as theyre not disabled.

Actual

Captions either show initially and then disappear when you change the language or do not show up at all.

Additional Information

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

versions

videojs

tried with videojs versions 5.2 and 5.10 with same results

browsers

tried this with google chrome 52.0.2743.116

OSes

only tried with mac + chrome

plugins

dash.js latest (2.20) videojs-dash-contrib latest (2.4.0)

cc @gkatsev since he pointed me to this repo

jinpark commented 8 years ago

An update:

The captions dont show up if you have nativeTextTracks as false. I assume it should work with videojs captions, not just browser captions.

If this is unrelated to the current problem, I'll make another issue for it

architsinha commented 7 years ago

Is there any update/fix or even a workaround for this? I am also observing the same issue. I am testing with the following versions: dash.js --- 2.3.0 videojs-dash-contrib --- 2.4.0 video.js ---- 5.10.7 I am using the following stream for testing: http://dash.edgesuite.net/dash264/TestCases/4b/qualcomm/1/ED_OnDemand_5SecSeg_Subtitles.mpd on Chrome version 54.0.2840.71 on Windows 7. Also I saw that this works fine in the dash-if reference player. There video.js and videojs-contrib-dash and not used and a controlbar.js is used which calls the the API "setTextTrack()" to change the subtitle. However I could not find a similar API in video.js. I am wondering if the fix for this will require changes in video.js also apart from videojs-contrib-dash?

jronallo commented 7 years ago

I'm experiencing the same issue. I have an MPD with embedded sidecar WebVTT that displays correctly in the DASH-IF Reference Client, but it does not display in video.js when using videojs-contrib-dash. If I include a track element pointing to the same WebVTT file then the captions display correctly with a control.

Is there any way that's known to work to enable subtitles/captions?

forbesjo commented 7 years ago

Caption support is currently in progress

jinpark commented 7 years ago

Thanks everyone!