Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Question/Future request: ShakaPlayer audio and subtitle track detection (audioDescription, original, sdh) #5810

Closed
jakubjereczek opened this issue Oct 25, 2023 · 7 comments · Fixed by #5840
Labels
component: HLS The issue involves Apple's HLS manifest format status: archived Archived and locked; will not be updated type: enhancement New feature or request
Milestone

Comments

@jakubjereczek
Copy link

jakubjereczek commented Oct 25, 2023

Have you read the FAQ and checked for duplicate open issues?
I did.

Is your feature request related to a problem? Please describe.

At the beginning, I would like to point out that I am using ShakaPlayer in Chromecast CAF.
I would like to inquire about the technical capabilities of ShakaPlayer for detecting the following audio/subtitle tracks roles in a manifest.

  • Audio description (audio description for the visually impaired),
  • Audio Original Version, (source audio version)
  • Subtitle Hearing impaired (sdh: subtitling for the deaf and hard of hearing)

Describe the solution you'd like

To extend the audio/subtitle ShakaPlayer API in order to obtain information about the above values.

I don't know what it looks like in DASH, but in HLS everything is available in the CHARACTERISTICS attribute in the manifest.
audio description: CHARACTERISTICS="public.accessibility.describes-video"
hearing impaired: CHARACTERISTICS="public.accessibility.transcribes-spoken-dialog,public.accessibility.describes-music-and-sound"
original language: CHARACTERISTICS="public.original-content"

Describe alternatives you've considered

No alternatives.

Additional context

In our application, we need to add a detailed description and specify the mentioned types above and I would like to know if it is technically possible using ShakaPlayer.

@jakubjereczek jakubjereczek added the type: enhancement New feature or request label Oct 25, 2023
@shaka-bot shaka-bot added this to the Backlog milestone Oct 25, 2023
@jilles-sg
Copy link

It looks like the idea is that shaka.extern.Track contains the necessary information:

  • "Audio description": roles or audioRoles (?) contains caption or commentary (?)
  • Audio "Original Version": primary is true
  • Subtitle "Hearing impaired": kind is caption (not subtitle)

@avelad
Copy link
Collaborator

avelad commented Oct 26, 2023

CHARACTERISTICS are currently included within roles in HLS, is that not enough? (see https://github.com/shaka-project/shaka-player/blob/main/lib/hls/hls_parser.js#L2356 )

@avelad avelad added status: waiting on response Waiting on a response from the reporter(s) of the issue component: HLS The issue involves Apple's HLS manifest format labels Oct 26, 2023
@jakubjereczek
Copy link
Author

jakubjereczek commented Oct 27, 2023

Probably it is, sorry if my question wasn't clear. I'm using CAF that have their unusual implementation of ShakaPlayer API. To sum up i'm asking whether shaka player technically detects the above "roles" (HLS was just an example).

In the company, we also use RxPlayer, which it provides the API for two of the three "roles" above.

  • isAudioDescription (audio track has added commentaries for the visually impaired)
    type: Boolean|undefined
  • isClosedCaption (if true it means that the text track has added hints for the hard of hearing).
    type: Boolean|undefined

@shaka-bot shaka-bot removed the status: waiting on response Waiting on a response from the reporter(s) of the issue label Oct 27, 2023
@avelad
Copy link
Collaborator

avelad commented Oct 27, 2023

I created #5819 for "Subtitle "Hearing impaired""

I have not been able to find the public.original-content in the HLS spec (https://developer.apple.com/streaming/HLS-draft-pantos.pdf) so we cannot accept this change. Regarding the change of "Audio description" I would like to know @theodab's opinion

@avelad
Copy link
Collaborator

avelad commented Oct 31, 2023

@littlespex do you have any opinion about that?

@littlespex
Copy link
Collaborator

We use public.accessibility.describes-video to flag audio description tracks in HLS, to match DASH's <Accessibility schemeIdUri="urn:tva:metadata:cs:AudioPurposeCS:2007" value="1"/>.

@avelad
Copy link
Collaborator

avelad commented Oct 31, 2023

@littlespex Thanks for your response, I will do the same in the HLS implementation

@avelad avelad modified the milestones: Backlog, v4.6 Oct 31, 2023
Robloche pushed a commit to Robloche/shaka-player that referenced this issue Nov 30, 2023
Robloche pushed a commit to Robloche/shaka-player that referenced this issue Nov 30, 2023
@shaka-bot shaka-bot added the status: archived Archived and locked; will not be updated label Dec 30, 2023
@shaka-project shaka-project locked as resolved and limited conversation to collaborators Dec 30, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
component: HLS The issue involves Apple's HLS manifest format status: archived Archived and locked; will not be updated type: enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants