Skip to content

Conversation

@ryanmccartney
Copy link
Contributor

📺 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 - dashSubtitles, the side-chain is replaced by a new dashsubtitles object 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

Test engineer sign off

♿ Accessibility [optional]

Provides optional subtitles when using low-latency playback through Bigscreen player without modifications to the existing side-chain rendering.

@ryanmccartney ryanmccartney requested a review from a team as a code owner September 27, 2024 13:40
Copy link
Contributor

@eirikbjornr eirikbjornr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM overall! Got one question on setSubtitles and disableTextTracks

@matt-stephenson
Copy link
Contributor

Just a thought on naming. I wonder if embeddedSubtitles might be a little clearer. Although it does work, as subtitles are in the dash manifest, the current side-loading of subs still happens during DASH playback.

@ryanmccartney
Copy link
Contributor Author

Just a thought on naming. I wonder if embeddedSubtitles might be a little clearer. Although it does work, as subtitles are in the dash manifest, the current side-loading of subs still happens during DASH playback.

That makes sense, I'll adjust the naming to reflect this

@ryanmccartney
Copy link
Contributor Author

References to Dash.js subtitles have now been updated to Embedded subtitles

@tom-coward tom-coward added the semver minor This PR is a semver minor release label Oct 23, 2024
@ryanmccartney
Copy link
Contributor Author

I've submitted a PR to bbc/dash.js #95 to use bbc/imsc.js in bbc/dash.js and expose the customisation options through the dash.js settings interface. This PR could be further expanded to provide subtitle customisation to match the current offering via the side-chain. Alternatively, this work could be done in a seperate PR.

@ryanmccartney
Copy link
Contributor Author

PR now brought up to date with 9.0.2

@ryanmccartney
Copy link
Contributor Author

ryanmccartney commented Apr 28, 2025

Replaced by #383

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

semver minor This PR is a semver minor release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants