Add support for Dash.js rendered subtitles#383
Conversation
… dash-subtitles
This reverts commit 674c51a.
|
I'm missing something here: why can't we use a build of bbc/dash.js that includes the customisation functionality? It seems highly sub-optimal to disable it for low latency playback when most of the code exists. |
markhouldridge
left a comment
There was a problem hiding this comment.
LGTM! The only thing I spotted is two uses of bsp_subtitles id, but that can be sorted if we pickup the override subs element work, for the Short Form Video work 👍🏻
@nigelmegitt we replace the open-source IMSC version included in Dash.js with the internal BBC version we pull in through BSP so the customisation functionality is enabled for low latency playback too |
Ah, thank you @eirikbjornr I didn't realise that. OK, that's fine then. |
40f667e
|
Amazing work! You've perservered through some gnarly bugs |
📺 What
Extends subtitle functionality by adding the ability to use Dash.js rendered subtitles if declared in an MPD rather than using the existing side-chain.
Allows the rendering of subtitles delivered in fragmented chunks, as used for low-latency playback.
It does not implement the current customisation options that are available in the existing side-chain as Dash.js provides no interface to access the customisation options present in the BBC fork of imscJS.
A currently open PR imscJS #257 would enable customisation on upstream imscJS and work on Dash.js (imscJS Styling would allow this functionality to be added retrospectively.
🛠 How
By setting a new override -
embeddedSubtitles, the side-chain is replaced by a newembeddedSubtitlesobject which enables text tracks in the MSE player✅ Testing [Semi-optional]
Tests have been added to cover changes to the subtitle selector. In addition, coverage of the new dashsubtitles.js object is provided.
Test Guidelines
♿ Accessibility [optional]
Provides optional subtitles when using low-latency playback through Bigscreen player without modifications to the existing side-chain rendering.