Skip to content

[Issue]: Broken subtitles: Multiple languages and timestamps mixing up on screen when using chromecast #12113

@cchristchurch

Description

@cchristchurch

Please describe your bug

The issue started happening when upgrading from 10.8.13-1 to 10.9.x (I've confirmed 10.9.3 and 10.9.6 are affected).

Most movies with multiple subtitle tracks are affected, even if there is a bit of randomness to the issue and it does seem to depend, to some extent, on the size of the subtitle files (more details below).

Affected movies work just fine in a web browser or in the Android Client (web player). When playing on these platforms the players display the shiny new "Secondary Subtitle" option introduced in jellyfin/jellyfin-web#3906 ; I have not tested the secondary subtitle feature extensively but it seems to work overall.

However when casting from my Android phone to my chromecast, the subtitles are completly broken. It generally starts fine for the first couple of subtitles, then quickly subtitles from multiple language tracks (and generally completely different timestamps) are overlayed directly on top of each other making them unreadable.

Note than when casting I have to select one language, and the "Secondary Subtitle" option is not available in the remote control. I suspect this is by design as the secondary subtitle feature was only introduced in the HTML player. However the fact that the bug started appearing on 10.9.x and that it only happens when the secondary subtitle feature is unavailable makes me wonder if this bug could be a side effect of introducing secondary subtitles?

Things I have tried to help gather more information:

  • I have tried enabling and disabling the "Allow subtitle extraction on the fly" option on the server. This seems to have no effect on the bug.
  • I have ran some experiments by modifying the subtitle files of one particular affected movie. I have not found any particular character or sequence of characters causing the bug. However it seems the issue does not happen (or very rarely) if I almost empty the subtitle files to contain only about 10 subtitles each, it happens very often (though not every time) with the complete subtitle files (about 1100 to 1300 subtitles depending on the language), and it seems somewhat random with intermediary sizes.
  • The bug seems very strongly correlated (99 if not 100% of occurrences) with the display of a particular error in the logs: [ERR] 163 errors encountered while parsing '"srt"' subtitle using the "SubRip" format parser. I am pasting more complete logs below for the same movie, both when it works and when it does not work.

Reproduction Steps

  1. Environment and config: see below
  2. Choose a movie with at least two subtitle tracks, for instance two SRT external subtitle files. Make sure those subtitle files have at least 1500 subtitles each.
  3. Open the Android client, connect to a google chrome cast
  4. Go to the movie on the Android client, select the first subtitle track
  5. Hit play
  6. Wait for 1-2 minutes after the first dialogues. Subtitles should break rapidly (randomly not showing, multiple languages and timestamps being overlayed).

Jellyfin Version

10.9.0

if other:

No response

Environment

- OS:Debian Bookworm
- Linux Kernel: Linux 6.1.0-21-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.90-1 (2024-05-03) x86_64 GNU/Linux
- Virtualization: None, running directly on Intel NUC
- Clients: Android
- Browser: N/A
- FFmpeg Version: jellyfin-ffmpeg6 6.0.1-7-bookworm
- Hardware Acceleration: Intel QSV
- GPU Model: 
- Plugins: None
- Reverse Proxy: None
- Base URL: N/A
- Networking: Local home network (IPv6)
- Storage: Local NAS

Jellyfin logs

*** When it works: ***

[2024-06-15 22:59:31.300 +01:00] [DBG] AuthenticationScheme: "CustomAuthentication" was successfully authenticated.
[2024-06-15 22:59:31.311 +01:00] [DBG] charset "utf-8" detected for "/path/to/library/MovieName.720p.x264.en.srt"
[2024-06-15 22:59:31.316 +01:00] [DBG] Trying to parse '"srt"' subtitle using the "SubRip" format parser
[2024-06-15 22:59:31.336 +01:00] [DBG] AuthenticationScheme: "CustomAuthentication" was successfully authenticated.
[2024-06-15 22:59:31.347 +01:00] [DBG] charset "utf-8" detected for "/path/to/library/MovieName.720p.x264.fr.srt"
[2024-06-15 22:59:31.359 +01:00] [DBG] Trying to parse '"srt"' subtitle using the "SubRip" format parser


*** When the bug happens: ***

[2024-06-15 23:03:00.361 +01:00] [DBG] charset "utf-8" detected for "/path/to/library/MovieName.720p.x264.en.srt"
[2024-06-15 23:03:00.364 +01:00] [DBG] charset "utf-8" detected for "/path/to/library/MovieName.720p.x264.fr.srt"
[2024-06-15 23:03:00.411 +01:00] [DBG] Trying to parse '"srt"' subtitle using the "SubRip" format parser
[2024-06-15 23:03:00.412 +01:00] [DBG] Trying to parse '"srt"' subtitle using the "SubRip" format parser
[2024-06-15 23:03:00.449 +01:00] [ERR] 163 errors encountered while parsing '"srt"' subtitle using the "SubRip" format parser
[2024-06-15 23:03:00.453 +01:00] [ERR] 163 errors encountered while parsing '"srt"' subtitle using the "SubRip" format parser

FFmpeg logs

No response

Please attach any browser or client logs here

No response

Please attach any screenshots here

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingconfirmedThis issue has been reviewed and confirmedupstreamThe issue is due to a upstream library or project

    Type

    No type

    Projects

    Status

    Fixed

    Status

    Closed/Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions