shaka-player-embedded icon indicating copy to clipboard operation
shaka-player-embedded copied to clipboard

Don't show subtitles with codecs="stpp"

Open Rastrelli1 opened this issue 3 years ago • 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

Rastrelli1 avatar Feb 17 '22 08:02 Rastrelli1

anybody can help us?

Rastrelli1 avatar Feb 21 '22 12:02 Rastrelli1

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?

Rastrelli1 avatar Mar 22 '22 07:03 Rastrelli1