Dash-Industry-Forum / DASH-IF-IOP

DASH-IF Interoperability Points issue tracker and document source code
33 stars 8 forks source link

Forced Subtitles #165

Open haudiobe opened 6 years ago

haudiobe commented 6 years ago

Submitter: Will Law Email: wilaw@akamai.com 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

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 commented 6 years ago

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 commented 6 years ago

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

acbegen commented 6 years ago

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

valotvince commented 3 years ago

👋 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 !

theRealRobG commented 2 years ago

👋 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"

p84mustang commented 2 years ago

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.

theRealRobG commented 2 years ago

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

valotvince commented 2 years ago

@theRealRobG Thanks for the clarification :)