shaka-project/shaka-player-embedded

Update Shaka Player to get CC support

Rastrelli1 opened this issue · 5 comments

Platform: iOS
We add to manifest CC information
<Accessibility schemeIdUri="urn:scte:dash:cc:cea-608:2015" value="CC1=eng"/>

Parsing worked
[Log]: "DashParser.parseAdaptationSet" [Log]: "DashParser.parseAdaptationSet closedCaption urn:scte:dash:cc:cea-608:2015 value CC1=eng" [Log]: "DashParser.parseAdaptationSet closedCaption parsed language eng"

but don't add CC on update media because window.muxjs: undefined
[Log]: "MediaSourceEngine.prototype.appendBuffer video time: 1647586338.4780111 1647586343.4780111 hasClosedCaptions: true" [Log]: "MediaSourceEngine hasClosedCaptions true window.muxjs: undefined" [Debug]: "(video:6)" "finished fetch and append"

neither the old method Player.usingEmbeddedTextTrack() Player.selectEmbeddedTextTrack() nor the added to getTextTracks() but it doesn't tell the embedded wrapper that there are closeCaptions

What we can dot it for show CC?

This may require an update to the embedded version of Shaka Player. We have built-in CC parsing now, whereas earlier versions of Shaka Player required an additional library called mux.js for CC parsing.

Yes, I see patch with replace muxjs to CC608 decoding on v3.0 of shaka player, but decided to copy shaka-player/node_modules/mux.js/dist/mux.js (v2.5.14) into framework, and loaded after player
  JsManagerImpl* manager = JsManagerImpl::Instance();   CHECK(RunScript(manager->GetPathForStaticFile("shaka-player.compiled.js")));   CHECK(RunScript(manager->GetPathForStaticFile("mux.js")));

and this work, showed CC as expected. Thanks, I will closed this issue)

Thank you for the update, but I would like to reopen it until we have updated the embedded build of Shaka Player.

Thanks, if this needed of course let's update player
We have the same problem with TTML subtitles in #225, @joeyparrish can you answer on description questions, where we need integrate showing subtitles with images, on shaka layer, or on embedded wrapper?

In Shaka Player on the web, image-based subtitles are displayed through the DOM, which is driven by a TextDisplayer plugin (UITextDisplayer). In Embedded, I believe there would have to be a TextDisplayer plugin that is implemented in C++ to pipe the data up to where it can be displayed. Nobody at Google has had time to work on that.