DASH-IF-IOP icon indicating copy to clipboard operation
DASH-IF-IOP copied to clipboard

Forced Subtitles

Open haudiobe opened this issue 7 years ago • 8 comments

Submitter: Will Law Email: [email protected] The current version of the DASH specification does not provide a mechanism to implement "forced subtitles". A Forced Narrative (FN) subtitle is a text overlay that clarifies communications or alternate languages meant to be understood by the viewer. They can also be used to clarify dialogue, texted graphics or location/person IDs that are not otherwise covered in the dubbed/localized audio. To enable the same viewing experience across multiple countries and devices, FN subtitles are localized and delivered as separate timed ­text files. The picture in your primary video (A/V MUX) that would otherwise have subtitles is required to be delivered as a non-subtitled file, or textless.

This description from Netflix helps illustrate the use and need for forced subtitles:

https://backlothelp.netflix.com/hc/en-us/articles/217558918-Understanding-Forced-Narrative-Subtitles

Assume we are watching Star trek and it has 3 audio tracks in English, Spanish and French and subtitles in German. There is also a lengthy KIingon section of dialog in the video during which the director would like to show translations to the chosen language. The DASH manifest should then contain

  • Video (main role)
  • English audio adaption set (main role)
  • Spanish audio adaption set
  • French audio adaption set
  • German subtitle adaption set
  • English subtitle adaption set (forced)
  • Spanish subtitle adaption set (forced)
  • French subtitle adaption set (forced)

We require a means to signal in the manifest which subtitle adaptation sets are forced. Any time a subtitle title is annotated as "forced", the player is required to download and display it. While we cannot force client behavior from the manifest, we still have the requirement to signal these subtitle sets appropriately.

haudiobe avatar Dec 12 '17 22:12 haudiobe

There is no “forced captions” in our role scheme.

There was a reason that we did not add it, but I do not remember.

Iraj, do you?

Thomas

haudiobe avatar Dec 19 '17 12:12 haudiobe

Correct: There is no “forced caption” signaling in MPD. I don’t recall the exact reason either, but I suspect we decided that we should not/cannot enforce/”require” a specific behavior from the DASH player.

We could have defined/can define a Role value/Essential Descriptor that marks one or more adaptation sets as [“intended” (not required) to be presented along with the “main” media component]. I suppose alternatively we can use the Preselection element for defining a combination of adaptation sets to be consumed together?

BR Iraj

haudiobe avatar Dec 19 '17 12:12 haudiobe

Amd. 5 for 23009-1 will have support for forced subtitles with the "forced_subtitle" role.

acbegen avatar Apr 03 '18 09:04 acbegen

👋 Hi !

So is it forced_subtitle or forced-subtitle ? I can see contradictory information here https://github.com/Dash-Industry-Forum/Ingest/issues/40 😄

Thank you !

valotvince avatar Apr 12 '21 13:04 valotvince

👋 Hi !

So is it forced_subtitle or forced-subtitle ? I can see contradictory information here Dash-Industry-Forum/Ingest#40 😄

Thank you !

Looks like it is forced-subtitle.

The 4th edition of ISO/IEC 23009-1 (publicly available here) has this defined in Table 31 — Role@value attribute for scheme with a value "urn:mpeg:dash:role:2011":

Role@value Description Applicable Media Type(s) (Informative)
forced-subtitle Textual information meant for display when no other text representation is selected. It is used to clarify dialogue, alternate languages, texted graphics or location/person IDs that are not otherwise covered in the dubbed/localized audio. text

Table 31 — Role@value attribute for scheme with a value "urn:mpeg:dash:role:2011"

theRealRobG avatar Nov 24 '21 18:11 theRealRobG

Still seems to be some confusion around the industry though. When testing in the Bitmovin player, the "value="forced_subtitle"/>" works to display the forced subtitles and does not show in the subtitle selection menu. When trying "value="forced-subtitle"/>" it does not work as forced and consequently displays as a selection option in the subtitle selection menu.

p84mustang avatar Nov 24 '21 22:11 p84mustang

Definitely. Every implementation I've seen so far makes use of forced_subtitle. I've raised issues in Shaka and Exo.

theRealRobG avatar Nov 25 '21 01:11 theRealRobG

@theRealRobG Thanks for the clarification :)

valotvince avatar Dec 06 '21 09:12 valotvince