jellyfin-web icon indicating copy to clipboard operation
jellyfin-web copied to clipboard

Stacking Subtitles in Safari Browser

Open consier opened this issue 1 year ago • 12 comments

This issue respects the following points:

  • [x] This is a bug, not a question or a configuration issue; Please visit our forum or chat rooms first to troubleshoot with volunteers, before creating a report. The links can be found here.
  • [x] This issue is not already reported on GitHub (I've searched it).
  • [x] I'm using an up to date version of Jellyfin Server stable, unstable or master; We generally do not support previous older versions. If possible, please update to the latest version before opening an issue.
  • [x] I agree to follow Jellyfin's Code of Conduct.
  • [x] This report addresses only a single issue; If you encounter multiple issues, kindly create separate reports for each one.

Description of the bug

When changing subtitles during playback, the previously selected subtitle remains active, resulting in multiple subtitles displayed simultaneously. This occurs even when all subtitles are deselected; the originally selected subtitle continues to persist.

Reproduction steps

  1. Start playing a video with subtitles.
  2. Change the subtitle track to a different one.
  3. Observe that the previous subtitle remains on screen along with the newly selected subtitle.
  4. Attempt to deselect all subtitles.

What is the current bug behavior?

The previously selected subtitle remains on screen along with the newly selected one, resulting in stacked text. When deselecting all subtitles, the initial subtitle continues to persist.

What is the expected correct behavior?

Only the currently selected subtitle should display, and deselecting all subtitles should remove all subtitle text from the screen.

Jellyfin Server version

10.10.0+

Specify commit id

No response

Specify unstable release number

No response

Specify version number

No response

Specify the build version

10.10.1

Environment

  • OS: MacOS 15.1
  • Linux Kernel:
  • Virtualization: Docker
  • Clients: Browser
  • Browser: Safari 18.1
  • FFmpeg Version:
  • Playback Method:
  • Hardware Acceleration:
  • GPU Model:
  • Plugins:
  • Reverse Proxy:
  • Base URL:
  • Networking:
  • Storage:

Jellyfin logs

[2024-11-07 11:41:17.892 +00:00] [INF] [29] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for "user01". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
[2024-11-07 11:41:18.398 +00:00] [INF] [55] Jellyfin.Api.Controllers.DynamicHlsController: Current HLS implementation doesn't support non-keyframe breaks but one is requested, ignoring that request
[2024-11-07 11:41:18.398 +00:00] [INF] [55] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: "/usr/lib/jellyfin-ffmpeg/ffmpeg" "-analyzeduration 200M -probesize 1G -fflags +genpts  -i file:\"/home/user01/media/tvshows/Abbott Elementary (2021)/Season 4/Abbott.Elementary.S04E01.Back.to.School.1080p.DSNP.WEB-DL.DDP5.1.H.264-NTb.mkv\" -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 copy -bsf:v h264_mp4toannexb -start_at_zero -codec:a:0 copy -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 6 -hls_segment_type fmp4 -hls_fmp4_init_filename \"9c280177a2702c3c80a6136c080cdddc-1.mp4\" -start_number 0 -hls_segment_filename \"/config/cache/transcodes/9c280177a2702c3c80a6136c080cdddc%d.mp4\" -hls_playlist_type vod -hls_list_size 0 -y \"/config/cache/transcodes/9c280177a2702c3c80a6136c080cdddc.m3u8\""
[2024-11-07 11:41:19.909 +00:00] [INF] [16] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: Adding playback tracker : TW96aWxsYS81LjAgKE1hY2ludG9zaDsgSW50ZWwgTWFjIE9TIFggMTBfMTVfNykgQXBwbGVXZWJLaXQvNjA1LjEuMTUgKEtIVE1MLCBsaWtlIEdlY2tvKSBWZXJzaW9uLzE3LjUgU2FmYXJpLzYwNS4xLjE1fDE3MjY0OTY1Nzc4MjU1-a557cf713f10405385bbb7c33f86c007-bee3224b910a31abec29b20857d2c3d4
[2024-11-07 11:41:19.909 +00:00] [INF] [16] Jellyfin.Plugin.PlaybackReporting.Data.PlaybackTracker: PlaybackTracker : Adding Start Event : 11/07/2024 11:41:19
[2024-11-07 11:41:19.909 +00:00] [INF] [16] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: Creating StartPlaybackTimer Task
[2024-11-07 11:41:19.909 +00:00] [INF] [80] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : Entered
[2024-11-07 11:41:19.914 +00:00] [INF] [29] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: Processing playback tracker : "TW96aWxsYS81LjAgKE1hY2ludG9zaDsgSW50ZWwgTWFjIE9TIFggMTBfMTVfNykgQXBwbGVXZWJLaXQvNjA1LjEuMTUgKEtIVE1MLCBsaWtlIEdlY2tvKSBWZXJzaW9uLzE3LjUgU2FmYXJpLzYwNS4xLjE1fDE3MjY0OTY1Nzc4MjU1-a557cf713f10405385bbb7c33f86c007-bee3224b910a31abec29b20857d2c3d4"
[2024-11-07 11:41:28.063 +00:00] [INF] [55] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: FFmpeg exited with code 0
[2024-11-07 11:41:39.908 +00:00] [INF] [29] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: session.RemoteEndPoint : "169.150.223.237"
[2024-11-07 11:41:39.908 +00:00] [INF] [29] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : event_playing_id     = "bee3224b910a31abec29b20857d2c3d4"
[2024-11-07 11:41:39.908 +00:00] [INF] [29] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : event_user_id        = "a557cf713f10405385bbb7c33f86c007"
[2024-11-07 11:41:39.908 +00:00] [INF] [29] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : event_user_id_int    = 1
[2024-11-07 11:41:39.908 +00:00] [INF] [29] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : session_playing_id   = "bee3224b910a31abec29b20857d2c3d4"
[2024-11-07 11:41:39.908 +00:00] [INF] [29] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : session_user_id      = "a557cf713f10405385bbb7c33f86c007"
[2024-11-07 11:41:39.908 +00:00] [INF] [29] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : play_method          = "Transcode (v:direct a:direct)"
[2024-11-07 11:41:39.908 +00:00] [INF] [29] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : e.ClientName         = "Jellyfin Web"
[2024-11-07 11:41:39.909 +00:00] [INF] [29] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : e.DeviceName         = "Safari"
[2024-11-07 11:41:39.909 +00:00] [INF] [29] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : ItemName             = "Abbott Elementary - s04e01 - Back to School"
[2024-11-07 11:41:39.909 +00:00] [INF] [29] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : ItemId               = "bee3224b910a31abec29b20857d2c3d4"
[2024-11-07 11:41:39.909 +00:00] [INF] [29] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : ItemType             = "Episode"
[2024-11-07 11:41:39.909 +00:00] [INF] [29] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : All matches, playback registered
[2024-11-07 11:41:39.909 +00:00] [INF] [29] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: Playback tracker found, adding playback info : "TW96aWxsYS81LjAgKE1hY2ludG9zaDsgSW50ZWwgTWFjIE9TIFggMTBfMTVfNykgQXBwbGVXZWJLaXQvNjA1LjEuMTUgKEtIVE1MLCBsaWtlIEdlY2tvKSBWZXJzaW9uLzE3LjUgU2FmYXJpLzYwNS4xLjE1fDE3MjY0OTY1Nzc4MjU1-a557cf713f10405385bbb7c33f86c007-bee3224b910a31abec29b20857d2c3d4"
[2024-11-07 11:41:39.909 +00:00] [INF] [29] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: Saving playback tracking activity in DB
[2024-11-07 11:41:39.920 +00:00] [INF] [29] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: StartPlaybackTimer : Exited
[2024-11-07 11:41:40.904 +00:00] [INF] [29] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: Processing playback tracker : "TW96aWxsYS81LjAgKE1hY2ludG9zaDsgSW50ZWwgTWFjIE9TIFggMTBfMTVfNykgQXBwbGVXZWJLaXQvNjA1LjEuMTUgKEtIVE1MLCBsaWtlIEdlY2tvKSBWZXJzaW9uLzE3LjUgU2FmYXJpLzYwNS4xLjE1fDE3MjY0OTY1Nzc4MjU1-a557cf713f10405385bbb7c33f86c007-bee3224b910a31abec29b20857d2c3d4"
[2024-11-07 11:42:01.900 +00:00] [INF] [55] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: Processing playback tracker : "TW96aWxsYS81LjAgKE1hY2ludG9zaDsgSW50ZWwgTWFjIE9TIFggMTBfMTVfNykgQXBwbGVXZWJLaXQvNjA1LjEuMTUgKEtIVE1MLCBsaWtlIEdlY2tvKSBWZXJzaW9uLzE3LjUgU2FmYXJpLzYwNS4xLjE1fDE3MjY0OTY1Nzc4MjU1-a557cf713f10405385bbb7c33f86c007-bee3224b910a31abec29b20857d2c3d4"
[2024-11-07 11:42:21.918 +00:00] [INF] [81] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: Processing playback tracker : "TW96aWxsYS81LjAgKE1hY2ludG9zaDsgSW50ZWwgTWFjIE9TIFggMTBfMTVfNykgQXBwbGVXZWJLaXQvNjA1LjEuMTUgKEtIVE1MLCBsaWtlIEdlY2tvKSBWZXJzaW9uLzE3LjUgU2FmYXJpLzYwNS4xLjE1fDE3MjY0OTY1Nzc4MjU1-a557cf713f10405385bbb7c33f86c007-bee3224b910a31abec29b20857d2c3d4"
[2024-11-07 11:42:42.767 +00:00] [INF] [35] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: Processing playback tracker : "TW96aWxsYS81LjAgKE1hY2ludG9zaDsgSW50ZWwgTWFjIE9TIFggMTBfMTVfNykgQXBwbGVXZWJLaXQvNjA1LjEuMTUgKEtIVE1MLCBsaWtlIEdlY2tvKSBWZXJzaW9uLzE3LjUgU2FmYXJpLzYwNS4xLjE1fDE3MjY0OTY1Nzc4MjU1-a557cf713f10405385bbb7c33f86c007-bee3224b910a31abec29b20857d2c3d4"
[2024-11-07 11:42:45.468 +00:00] [INF] [30] Emby.Server.Implementations.Session.SessionWebSocketListener: Sending ForceKeepAlive message to 1 inactive WebSockets.
[2024-11-07 11:43:03.278 +00:00] [INF] [55] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: Processing playback tracker : "TW96aWxsYS81LjAgKE1hY2ludG9zaDsgSW50ZWwgTWFjIE9TIFggMTBfMTVfNykgQXBwbGVXZWJLaXQvNjA1LjEuMTUgKEtIVE1MLCBsaWtlIEdlY2tvKSBWZXJzaW9uLzE3LjUgU2FmYXJpLzYwNS4xLjE1fDE3MjY0OTY1Nzc4MjU1-a557cf713f10405385bbb7c33f86c007-bee3224b910a31abec29b20857d2c3d4"
[2024-11-07 11:43:23.443 +00:00] [INF] [55] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: Processing playback tracker : "TW96aWxsYS81LjAgKE1hY2ludG9zaDsgSW50ZWwgTWFjIE9TIFggMTBfMTVfNykgQXBwbGVXZWJLaXQvNjA1LjEuMTUgKEtIVE1MLCBsaWtlIEdlY2tvKSBWZXJzaW9uLzE3LjUgU2FmYXJpLzYwNS4xLjE1fDE3MjY0OTY1Nzc4MjU1-a557cf713f10405385bbb7c33f86c007-bee3224b910a31abec29b20857d2c3d4"
[2024-11-07 11:43:44.416 +00:00] [INF] [67] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: Processing playback tracker : "TW96aWxsYS81LjAgKE1hY2ludG9zaDsgSW50ZWwgTWFjIE9TIFggMTBfMTVfNykgQXBwbGVXZWJLaXQvNjA1LjEuMTUgKEtIVE1MLCBsaWtlIEdlY2tvKSBWZXJzaW9uLzE3LjUgU2FmYXJpLzYwNS4xLjE1fDE3MjY0OTY1Nzc4MjU1-a557cf713f10405385bbb7c33f86c007-bee3224b910a31abec29b20857d2c3d4"
[2024-11-07 11:44:04.747 +00:00] [INF] [80] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: Processing playback tracker : "TW96aWxsYS81LjAgKE1hY2ludG9zaDsgSW50ZWwgTWFjIE9TIFggMTBfMTVfNykgQXBwbGVXZWJLaXQvNjA1LjEuMTUgKEtIVE1MLCBsaWtlIEdlY2tvKSBWZXJzaW9uLzE3LjUgU2FmYXJpLzYwNS4xLjE1fDE3MjY0OTY1Nzc4MjU1-a557cf713f10405385bbb7c33f86c007-bee3224b910a31abec29b20857d2c3d4"

FFmpeg logs

No response

Client / Browser logs

No response

Relevant screenshots or videos

No response

Additional information

Image Image

consier avatar Nov 07 '24 11:11 consier

Same for me

markush97 avatar Nov 10 '24 19:11 markush97

This issue has gone 120 days without comment. To avoid abandoned issues, it will be closed in 21 days if there are no new comments.

If you're the original submitter of this issue, please comment confirming if this issue still affects you in the latest release or master branch, or close the issue if it has been fixed. If you're another user also affected by this bug, please comment confirming so. Either action will remove the stale label.

This bot exists to prevent issues from becoming stale and forgotten. Jellyfin is always moving forward, and bugs are often fixed as side effects of other changes. We therefore ask that bug report authors remain vigilant about their issues to ensure they are closed if fixed, or re-confirmed - perhaps with fresh logs or reproduction examples - regularly. If you have any questions you can reach us on Matrix or Social Media.

jellyfin-bot avatar Mar 12 '25 02:03 jellyfin-bot

I might be able to add some more info to this: when the 'loading' rotating icon is (still) showing when attempting to fetch subtitles (while in playback already) and multiple clicks are registered for the desired subtitle, when it finally loads, the 'amount of clicks' == 'amount of subtitles displayed on screen'.

Experienced on 10.10.6.

I know I've witnessed this at least once on Safari, and perhaps more than once on Firefox.

systemcrash avatar Mar 18 '25 16:03 systemcrash

This issue has gone 120 days without comment. To avoid abandoned issues, it will be closed in 21 days if there are no new comments.

If you're the original submitter of this issue, please comment confirming if this issue still affects you in the latest release or master branch, or close the issue if it has been fixed. If you're another user also affected by this bug, please comment confirming so. Either action will remove the stale label.

This bot exists to prevent issues from becoming stale and forgotten. Jellyfin is always moving forward, and bugs are often fixed as side effects of other changes. We therefore ask that bug report authors remain vigilant about their issues to ensure they are closed if fixed, or re-confirmed - perhaps with fresh logs or reproduction examples - regularly. If you have any questions you can reach us on Matrix or Social Media.

jellyfin-bot avatar Jul 18 '25 02:07 jellyfin-bot

This continues to be a major issue today.

agneevX avatar Jul 18 '25 16:07 agneevX

While I wouldn't consider it a major issue, it can be distracting, especially if there are rows of large text obscuring the media you're watching :)

systemcrash avatar Jul 18 '25 17:07 systemcrash

Possibly related, but for me the subtitles are desynced on Safari while working properly on Firefox. I'm choosing the exact same subtitles. Additionally, Safari does not obey my subtitle appearance options.

ivanipenburg avatar Jul 19 '25 09:07 ivanipenburg

This issue has gone 120 days without comment. To avoid abandoned issues, it will be closed in 21 days if there are no new comments.

If you're the original submitter of this issue, please comment confirming if this issue still affects you in the latest release or master branch, or close the issue if it has been fixed. If you're another user also affected by this bug, please comment confirming so. Either action will remove the stale label.

This bot exists to prevent issues from becoming stale and forgotten. Jellyfin is always moving forward, and bugs are often fixed as side effects of other changes. We therefore ask that bug report authors remain vigilant about their issues to ensure they are closed if fixed, or re-confirmed - perhaps with fresh logs or reproduction examples - regularly. If you have any questions you can reach us on Matrix or Social Media.

jellyfin-bot avatar Nov 17 '25 02:11 jellyfin-bot

Still an issue as of version 10.11.3.

Image

agneevX avatar Nov 19 '25 16:11 agneevX

Would be good if everyone on this issue can take the linked commit for a spin, to test whether it also resolves the issue for you.

Check out this repo. Ensure you have github CLI.

Something like:

cd jellyfin-web
gh pr checkout 7346
npm install
npm start

And point it to your instance.

systemcrash avatar Nov 21 '25 19:11 systemcrash

@systemcrash

Image

agneevX avatar Dec 03 '25 15:12 agneevX

@agneevX can you view the dev console and look at the constructed HTML, and look in the .videoSubtitles element and its content when you see double?

systemcrash avatar Dec 03 '25 16:12 systemcrash