shaka-project / shaka-player

JavaScript player library / DASH & HLS client / MSE-EME player
Apache License 2.0
7.21k stars 1.34k forks source link

Subtitles are not displayed #3122

Closed saringer closed 3 years ago

saringer commented 3 years ago

Have you read the FAQ and checked for duplicate open issues? Yes

What version of Shaka Player are you using? 2.5.19

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

Can you reproduce the issue with the latest code from master? Yes

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

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

What browser and OS are you using? Chrome (Version 88.0.4324.96) on macOs Big Sur (Version 11.1)

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

What are the manifest and license server URIs? I'll provide the URIs to the Manifests via Email

What did you do?

What did you expect to happen? The selected Text-Track being displayed

What actually happened? No Text-Tracks are displayed and a TypeError gets thrown

TypeError: Cannot read property 'length' of undefined

I was able to reproduce the issue on the latest Shaka-Demo with an 8 minute snippet of the content

Screenshot 2021-01-27 at 12 55 16

When testing the same Manifest on the Test-Player provided by Bitmovin the subtitle works properly

Screenshot 2021-01-27 at 12 56 06

On the Shaka-Demo both Audio- and Text-Tracks are only distinguished by there Language Codes (there are stereo/surround Audio-Tracks and forced/full Text-Tracks), but not by Labels. Maybe this might be related with the issue?

michellezhuogg commented 3 years ago

Hello @saringer , thank you for reporting! We're not seeing the captions because you have empty lines between the time and the text content in vtt, and we assumed an empty line indicated a new cue.

  1. Could you point me to any reference that empty lines are allowed between the time and the text content?
  2. If not, we should handle the empty lines more explicitly, and display an error message.

00:06:53.860 --> 00:06:57.900

Bitte verzeihen Sie mirdas recht grausame Exempel,

00:06:58.680 --> 00:07:01.680

das ich wegen des Regelbruchsstatuieren muss.

saringer commented 3 years ago

Hi @michellezhuogg ,

thank you for your quick response.

Could you point me to any reference that empty lines are allowed between the time and the text content?

Indeed those blank lines should not be in the VTT and we need to look into that. Thank you for pointing that out. Since this is an error from our side, the issue can be closed :) I left it open in case you want to use this to track the error message or should this get a separate ticket?

If not, we should handle the empty lines more explicitly, and display an error message.

Having a more detailed error message hinting for the blank lines sounds good.

joeyparrish commented 3 years ago

We're going to close this as a content issue. We can follow-up with more detailed error messages in the future, so I'll file a separate issue for that.

joeyparrish commented 3 years ago

See #3158 for the follow-up. Thanks!