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

The CEA subtitles can not be recognised with latest version (4.6.0) #5915

Closed
Wenjie-Shao opened this issue Nov 22, 2023 · 5 comments · Fixed by #5916
Closed

The CEA subtitles can not be recognised with latest version (4.6.0) #5915

Wenjie-Shao opened this issue Nov 22, 2023 · 5 comments · Fixed by #5916
Labels
component: captions/subtitles The issue involves captions or subtitles component: HLS The issue involves Apple's HLS manifest format priority: P1 Big impact or workaround impractical; resolve before feature release status: archived Archived and locked; will not be updated type: bug Something isn't working correctly
Milestone

Comments

@Wenjie-Shao
Copy link

Have you read the FAQ and checked for duplicate open issues?
Yes. It's not mentioned recently.

If the problem is related to FairPlay, have you read the tutorial?

No

What version of Shaka Player are you using?

It can be reproduced in both 4.3.4 and latest version (which is 4.6.0 currently)

Can you reproduce the issue with our latest release version?
Yes

Can you reproduce the issue with the latest code from main?
Not try

Are you using the demo app or your own custom app?

Both.

If custom app, can you reproduce the issue using our demo app?
Yes

What browser and OS are you using?
Chrome and Chromecast

For embedded devices (smart TVs, etc.), what model and firmware version are you using?
n/a

What are the manifest and license server URIs?
https://lnc-bloomberg-originals.tubi.video/tubi-bloomberg-quicktake-ZdKlqOiMOCbub2GE.m3u8

What configuration are you using? What is the output of player.getConfiguration()?
Just use default config

What did you do?
Just open demo page and play the content https://shaka-player-demo.appspot.com/demo/#audiolang=en-US;textlang=en-US;uilang=en-US;asset=https://lnc-bloomberg-originals.tubi.video/tubi-bloomberg-quicktake-ZdKlqOiMOCbub2GE.m3u8;panel=CUSTOM%20CONTENT;build=uncompiled

What did you expect to happen?
The subtitle could appear or the text tracks could be obtained by calling player.getTextTracks() or player.video_.textTracks

What actually happened?

player = video.ui.getControls().getLocalPlayer()
player.getTextTracks()
 > []
player.video_.textTracks
> TextTrackList {length: 0, onchange: null, onaddtrack: null, onremovetrack: null}

I also tried with the hls.js demo https://hlsjs.video-dev.org/demo/. The text tracks could be obtained from video element like this
image

@Wenjie-Shao Wenjie-Shao added the type: bug Something isn't working correctly label Nov 22, 2023
@shaka-bot shaka-bot added this to the v5.0 milestone Nov 22, 2023
@avelad
Copy link
Collaborator

avelad commented Nov 22, 2023

Your master playlist:

#EXTM3U
#EXT-X-MEDIA:TYPE=CLOSED-CAPTIONS,GROUP-ID="cc",LANGUAGE="en",NAME="English",AUTOSELECT=YES,INSTREAM-ID="CC1"
#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="master_broadcast",LANGUAGE="eng",NAME="Master Audio",AUTOSELECT=YES,DEFAULT=YES
#EXT-X-STREAM-INF:BANDWIDTH=3158000,RESOLUTION=1280x720,CODECS="mp4a.40.2, avc1.640020",AUDIO="master_broadcast"
origin/contribution-m1-bloomberg-quicktake/3128k/index.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=958000,RESOLUTION=640x360,CODECS="mp4a.40.2, avc1.640016",AUDIO="master_broadcast"
origin/contribution-m1-bloomberg-quicktake/928k/index.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=558000,RESOLUTION=428x240,CODECS="mp4a.40.2, avc1.640015",AUDIO="master_broadcast"
origin/contribution-m1-bloomberg-quicktake/528k/index.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=2158000,RESOLUTION=960x540,CODECS="mp4a.40.2, avc1.64001f",AUDIO="master_broadcast"
origin/contribution-m1-bloomberg-quicktake/2128k/index.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=6158000,RESOLUTION=1920x1080,CODECS="mp4a.40.2, avc1.640028",AUDIO="master_broadcast"
origin/contribution-m1-bloomberg-quicktake/6128k/index.m3u8

The attribute CLOSED-CAPTIONS is missing in #EXT-X-STREAM-INF. We need this attribute in order to get the correct closed captions tag.

The right master playlist should be:

#EXTM3U
#EXT-X-MEDIA:TYPE=CLOSED-CAPTIONS,GROUP-ID="cc",LANGUAGE="en",NAME="English",AUTOSELECT=YES,INSTREAM-ID="CC1"
#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="master_broadcast",LANGUAGE="eng",NAME="Master Audio",AUTOSELECT=YES,DEFAULT=YES
#EXT-X-STREAM-INF:BANDWIDTH=3158000,RESOLUTION=1280x720,CODECS="mp4a.40.2, avc1.640020",AUDIO="master_broadcast",CLOSED-CAPTIONS="cc"
origin/contribution-m1-bloomberg-quicktake/3128k/index.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=958000,RESOLUTION=640x360,CODECS="mp4a.40.2, avc1.640016",AUDIO="master_broadcast",CLOSED-CAPTIONS="cc"
origin/contribution-m1-bloomberg-quicktake/928k/index.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=558000,RESOLUTION=428x240,CODECS="mp4a.40.2, avc1.640015",AUDIO="master_broadcast",CLOSED-CAPTIONS="cc"
origin/contribution-m1-bloomberg-quicktake/528k/index.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=2158000,RESOLUTION=960x540,CODECS="mp4a.40.2, avc1.64001f",AUDIO="master_broadcast",CLOSED-CAPTIONS="cc"
origin/contribution-m1-bloomberg-quicktake/2128k/index.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=6158000,RESOLUTION=1920x1080,CODECS="mp4a.40.2, avc1.640028",AUDIO="master_broadcast",CLOSED-CAPTIONS="cc"
origin/contribution-m1-bloomberg-quicktake/6128k/index.m3u8

Spec: https://datatracker.ietf.org/doc/html/draft-pantos-hls-rfc8216bis#section-4.4.6.2

CLOSED-CAPTIONS

      The value can be either a quoted-string or an enumerated-string
      with the value NONE.  If the value is a quoted-string, it MUST
      match the value of the GROUP-ID attribute of an EXT-X-MEDIA tag
      elsewhere in the Playlist whose TYPE attribute is CLOSED-CAPTIONS,
      and it indicates the set of closed-caption Renditions that can be
      used when playing the presentation.  See [Section 4.4.6.2.1](https://datatracker.ietf.org/doc/html/draft-pantos-hls-rfc8216bis#section-4.4.6.2.1).

      If the value is the enumerated-string value NONE, all EXT-X-
      STREAM-INF tags MUST have this attribute with a value of NONE,
      indicating that there are no closed captions in any Variant Stream
      in the Multivariant Playlist.  Having closed captions in one
      Variant Stream but not another can trigger playback
      inconsistencies.

@avelad avelad added status: bad content Caused by invalid, broken, or unsupported content component: captions/subtitles The issue involves captions or subtitles and removed type: bug Something isn't working correctly labels Nov 22, 2023
@avelad avelad removed this from the v5.0 milestone Nov 22, 2023
@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 Nov 22, 2023
@avelad
Copy link
Collaborator

avelad commented Nov 22, 2023

hm... According to https://datatracker.ietf.org/doc/html/draft-pantos-hls-rfc8216bis#section-4.4.6.1

TYPE

      The value is an enumerated-string; valid strings are AUDIO, VIDEO,
      SUBTITLES, and CLOSED-CAPTIONS.  This attribute is REQUIRED.

      Typically, closed-caption [[CEA608](https://datatracker.ietf.org/doc/html/draft-pantos-hls-rfc8216bis#ref-CEA608)] media is carried in the video
      stream.  Therefore, an EXT-X-MEDIA tag with TYPE of CLOSED-
      CAPTIONS does not specify a Rendition; the closed-caption media is
      present in the Media Segments of every video Rendition.

@avelad
Copy link
Collaborator

avelad commented Nov 22, 2023

The spec is a bit ambiguous, after talk with @theodab, we are going to support this case.

@avelad avelad added type: bug Something isn't working correctly priority: P1 Big impact or workaround impractical; resolve before feature release and removed status: bad content Caused by invalid, broken, or unsupported content labels Nov 22, 2023
@Wenjie-Shao
Copy link
Author

Thank you for your fast response! It would be a great help.

@avelad avelad removed the status: waiting on response Waiting on a response from the reporter(s) of the issue label Nov 22, 2023
@shaka-bot shaka-bot added this to the v5.0 milestone Nov 22, 2023
Robloche pushed a commit to Robloche/shaka-player that referenced this issue Nov 30, 2023
@siarheipashkevich
Copy link

@avelad @Wenjie-Shao how to HIDE this captions and subtitles from Shaka Player ???

My manifest file does not have any text tracks but in the player controls I have options to select subtitles, I've hided it using

textDisplayFactory: () => new StubTextDisplayer(),

but it's working only on Android, but on iOS I have this "damn" subtitles, how to hide them???

image

Please help me

@shaka-bot shaka-bot added the status: archived Archived and locked; will not be updated label Jan 21, 2024
@shaka-project shaka-project locked as resolved and limited conversation to collaborators Jan 21, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
component: captions/subtitles The issue involves captions or subtitles component: HLS The issue involves Apple's HLS manifest format priority: P1 Big impact or workaround impractical; resolve before feature release status: archived Archived and locked; will not be updated type: bug Something isn't working correctly
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants