shaka-project/shaka-player-embedded

Don't show subtitles with codecs="stpp"

Rastrelli1 opened this issue · 2 comments

Example stream: https://monitorlab.ru/temp/ENG-1168/dash.mpd

We patched Shaka v2.5.14 with parsing this subtitles Mp4TtmlParser.js -> TtmlTextParser.parseCue_ -> they return shaka.text.Cue
[Info]: "TextEngine parser_ [object Object]" [Info]: "Mp4TtmlParser.parseMedia" [Info]: "Mp4Parser parseTFHD_" [Info]: "Mp4Parser parseTRUN_" [Info]: "Mp4Parser ttml presentations 4" [Info]: "Mp4Parser ttml currentTime 148045027742238" [Info]: "TtmlTextParser.parseMedia" [Info]: "Mp4Parser ttml parseMedia cues 0" [Info]: "TtmlTextParser.parseMedia" [Info]: "Mp4Parser ttml parseMedia cues 1" [Info]: "Mp4Parser ttml cue 0.4157445430755615 endTime 3.7757444381713867" [Info]: "TtmlTextParser.parseMedia" [Info]: "Mp4Parser ttml parseMedia cues 0" [Info]: "TtmlTextParser.parseMedia" [Info]: "Mp4Parser ttml parseMedia cues 1" [Info]: "Mp4Parser ttml cue 3.8557446002960205 endTime 6.000011205673218" [Info]: "TextEngine appendBuffer allCues 2"

ShakaPlayerView don't draw them in remakeTextCues, because support only shaka::media::VTTCue
remakeTextCues: 14.964011 activeCues 1 mode 2 activeCue: {length = 8, bytes = 0x0068f58202000000} index 0 remakeTextCues: 15.213011 activeCues 1 mode 2 activeCue: {length = 8, bytes = 0x0068f58202000000} index 0
Show only small black picture 10 pix of width without cues

Can you suggest a way out of this problem:

  1. Wrap shaka.text.Cue to shaka::media::Cue and add draw on ShakaPlayerView
  2. Add to shaka player textDisplayer with video-container, and draw on html page?

Platform: iOS

Thanks for responding

anybody can help us?

we try second step to setup textDisplayFactory
this.player.configure('textDisplayFactory', () => { return new this.shaka.text.UITextDisplayer(this.mediaElement, this.mediaElement.closest('.video-container')); });

but now framework crashed when i send HTMLVideoElement instead of HTMLElement
[Info]: "zzzzzzzzzzz create" [Info]: "TextDisplayer videoContainer_[object HTMLVideoElement]" [Error]: Assertion failed: "Wrong error type!"

@joeyparrish can you help us, what we can do?