jellyfin-media-player icon indicating copy to clipboard operation
jellyfin-media-player copied to clipboard

Preferred subtitle language being ignored

Open TimGels opened this issue 11 months ago • 3 comments

Describe the bug When I was looking into issue #10829, I noticed that the subtitle selection behavior between the web client within a browser, and Jellyfin Media Player (JMP) was different. For my testing I used a Matroska (mkv) media file, containing many different subtitle tracks in many different languages. In the browsers that I used (Edge & Firefox) it selected the Dutch subtitle track. In Jellyfin Media Player it selected "Off". My preferred subtitle language option is set to "Dutch; Flemish", as such the expectation is that a Dutch subtitle track will be selected by default.

To Reproduce Steps to reproduce the behavior:

  1. Have a file that has no default and no forced subtitle tracks and contains different languages
  2. Set the "Preferred subtitle language" option to one of the languages you want to test
  3. Make sure "Subtitle mode" is set to default
  4. Save
  5. Navigate to the episode file and validate what language is selected

Expected behavior The language that is configured as "Preferred subtitle language" should be selected.

Actual behavior The language track "Off" is selected.

Screenshots JMP Subtitle Settings afbeelding

JMP Episode Subtitle Selection afbeelding

Browser Subtitle Settings afbeelding

Browser Subtitle Selection afbeelding

Desktop (please complete the following information):

  • OS: Windows 11
  • Version 1.9.1
  • Installation Method Windows installer

Additional context None of the subtitles have the "Forced" or "Default" flag enabled. A MediaInfo output of the file that I tested with is provided down below.

Media info output from the file
General
Unique ID                                : 308310260488689439643288990361083165744 (0xE7F26572D939A8009931D5AF8D6BBC30)
Complete name                            : D:\TestMedia\The Witch and the Beast (2024)\Season 01\S01E07 The Witch and the Demon Sword Act II.mkv
Format                                   : Matroska
Format version                           : Version 4
File size                                : 444 MiB
Duration                                 : 24 min 10 s
Overall bit rate                         : 2 569 kb/s
Frame rate                               : 23.976 FPS
Encoded date                             : 2024-03-01 19:00:59 UTC
Writing application                      : mkvmerge v79.0 ('Funeral Pyres') 64-bit
Writing library                          : libebml v1.4.4 + libmatroska v1.7.1
Attachments                              : AdobeArabic-Bold.otf / arial.ttf / arialbd.ttf / comic.ttf / tahoma.ttf / times.ttf / trebuc.ttf / verdana.ttf / GandhiSans-Bold.otf / GandhiSans-BoldItalic.otf / Madonna.otf / Maiandra GD.ttf / NatVignetteOne.ttf / NatVignetteTwo.ttf / MAILARTRUBBERSTAMP-REGULAR.OTF

Video
ID                                       : 1
Format                                   : HEVC
Format/Info                              : High Efficiency Video Coding
Format profile                           : Main 10@L5@Main
Codec ID                                 : V_MPEGH/ISO/HEVC
Duration                                 : 24 min 9 s
Bit rate                                 : 2 414 kb/s
Width                                    : 1 920 pixels
Height                                   : 1 080 pixels
Display aspect ratio                     : 16:9
Frame rate mode                          : Constant
Frame rate                               : 23.976 (24000/1001) FPS
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 10 bits
Bits/(Pixel*Frame)                       : 0.049
Stream size                              : 417 MiB (94%)
Writing library                          : x265 3.5+153+15-fc339385e:[Windows][MSVC 1937][64 bit] 10bit
Encoding settings                        : cpuid=1111039 / frame-threads=4 / numa-pools=24 / wpp / no-pmode / no-pme / no-psnr / no-ssim / log-level=2 / input-csp=1 / input-res=1920x1080 / interlace=0 / total-frames=34765 / level-idc=0 / high-tier=1 / uhd-bd=0 / ref=6 / no-allow-non-conformance / no-repeat-headers / annexb / no-aud / no-eob / no-eos / no-hrd / info / hash=0 / temporal-layers=0 / open-gop / min-keyint=24 / keyint=250 / gop-lookahead=0 / bframes=8 / b-adapt=2 / b-pyramid / bframe-bias=0 / rc-lookahead=120 / lookahead-slices=4 / scenecut=40 / no-hist-scenecut / radl=0 / no-splice / no-intra-refresh / ctu=64 / min-cu-size=8 / rect / no-amp / max-tu-size=32 / tu-inter-depth=1 / tu-intra-depth=1 / limit-tu=0 / rdoq-level=2 / dynamic-rd=0.00 / no-ssim-rd / signhide / no-tskip / nr-intra=0 / nr-inter=0 / no-constrained-intra / strong-intra-smoothing / max-merge=3 / limit-refs=3 / limit-modes / me=2 / subme=3 / merange=57 / temporal-mvp / no-frame-dup / hme / Level / merange / L0,L1,L2=16,32,57 / weightp / weightb / no-analyze-src-pics / deblock=-1:-1 / sao / no-sao-non-deblock / rd=4 / selective-sao=4 / no-early-skip / rskip / no-fast-intra / no-tskip-fast / no-cu-lossless / no-b-intra / no-splitrd-skip / rdpenalty=0 / psy-rd=0.90 / psy-rdoq=1.35 / no-rd-refine / no-lossless / cbqpoffs=-1 / crqpoffs=-1 / rc=crf / crf=20.3 / qcomp=0.72 / qpstep=4 / stats-write=0 / stats-read=0 / ipratio=1.40 / pbratio=1.30 / aq-mode=3 / aq-strength=1.00 / aq-bias-strength=1.00 / cutree / zone-count=0 / no-strict-cbr / qg-size=32 / no-rc-grain / qpmax=69 / qpmin=0 / no-const-vbv / sar=0 / overscan=0 / videoformat=5 / range=0 / colorprim=2 / transfer=2 / colormatrix=1 / chromaloc=0 / display-window=0 / cll=0,0 / min-luma=0 / max-luma=1023 / log2-max-poc-lsb=8 / vui-timing-info / vui-hrd-info / slices=1 / no-opt-qp-pps / no-opt-ref-list-length-pps / no-multi-pass-opt-rps / scenecut-bias=0.05 / no-opt-cu-delta-qp / no-aq-motion / no-hdr10 / no-hdr10-opt / no-dhdr10-opt / no-idr-recovery-sei / analysis-reuse-level=0 / analysis-save-reuse-level=0 / analysis-load-reuse-level=0 / scale-factor=0 / refine-intra=0 / refine-inter=0 / refine-mv=1 / refine-ctu-distortion=0 / no-limit-sao / ctu-info=0 / no-lowpass-dct / refine-analysis-type=0 / copy-pic=1 / max-ausize-factor=1.0 / no-dynamic-refine / no-single-sei / no-hevc-aq / no-svt / no-field / qp-adaptation-range=1.00 / scenecut-aware-qp=0 / conformance-window-offsets / right=0 / bottom=0 / decoder-max-rate=0 / no-vbv-live-multi-pass / no-mcstf / no-sbrc
Default                                  : Yes
Forced                                   : No
Color range                              : Limited
Matrix coefficients                      : BT.709

Audio
ID                                       : 2
Format                                   : AAC LC
Format/Info                              : Advanced Audio Codec Low Complexity
Codec ID                                 : A_AAC-2
Duration                                 : 24 min 10 s
Bit rate                                 : 128 kb/s
Channel(s)                               : 2 channels
Channel layout                           : L R
Sampling rate                            : 44.1 kHz
Frame rate                               : 43.066 FPS (1024 SPF)
Compression mode                         : Lossy
Stream size                              : 22.1 MiB (5%)
Title                                    : Japanese
Language                                 : Japanese
Default                                  : No
Forced                                   : No

Text #1
ID                                       : 3
Format                                   : ASS
Codec ID                                 : S_TEXT/ASS
Codec ID/Info                            : Advanced Sub Station Alpha
Duration                                 : 24 min 5 s
Bit rate                                 : 133 b/s
Frame rate                               : 0.230 FPS
Count of elements                        : 333
Compression mode                         : Lossless
Stream size                              : 23.5 KiB (0%)
Language                                 : English (US)
Default                                  : No
Forced                                   : No

Text #2
ID                                       : 4
Format                                   : ASS
Codec ID                                 : S_TEXT/ASS
Codec ID/Info                            : Advanced Sub Station Alpha
Duration                                 : 24 min 5 s
Bit rate                                 : 131 b/s
Frame rate                               : 0.226 FPS
Count of elements                        : 326
Compression mode                         : Lossless
Stream size                              : 23.1 KiB (0%)
Language                                 : Spanish (Latin America)
Default                                  : No
Forced                                   : No

Text #3
ID                                       : 5
Format                                   : ASS
Codec ID                                 : S_TEXT/ASS
Codec ID/Info                            : Advanced Sub Station Alpha
Duration                                 : 24 min 5 s
Bit rate                                 : 131 b/s
Frame rate                               : 0.226 FPS
Count of elements                        : 326
Compression mode                         : Lossless
Stream size                              : 23.2 KiB (0%)
Language                                 : Spanish (ES)
Default                                  : No
Forced                                   : No

Text #4
ID                                       : 6
Format                                   : ASS
Codec ID                                 : S_TEXT/ASS
Codec ID/Info                            : Advanced Sub Station Alpha
Duration                                 : 24 min 4 s
Bit rate                                 : 132 b/s
Frame rate                               : 0.242 FPS
Count of elements                        : 350
Compression mode                         : Lossless
Stream size                              : 23.4 KiB (0%)
Language                                 : French (FR)
Default                                  : No
Forced                                   : No

Text #5
ID                                       : 7
Format                                   : ASS
Codec ID                                 : S_TEXT/ASS
Codec ID/Info                            : Advanced Sub Station Alpha
Duration                                 : 24 min 5 s
Bit rate                                 : 136 b/s
Frame rate                               : 0.229 FPS
Count of elements                        : 331
Compression mode                         : Lossless
Stream size                              : 24.1 KiB (0%)
Language                                 : Portuguese (BR)
Default                                  : No
Forced                                   : No

Text #6
ID                                       : 8
Format                                   : ASS
Codec ID                                 : S_TEXT/ASS
Codec ID/Info                            : Advanced Sub Station Alpha
Duration                                 : 24 min 5 s
Bit rate                                 : 164 b/s
Frame rate                               : 0.230 FPS
Count of elements                        : 333
Compression mode                         : Lossless
Stream size                              : 29.0 KiB (0%)
Language                                 : Arabic (SA)
Default                                  : No
Forced                                   : No

Text #7
ID                                       : 9
Format                                   : ASS
Codec ID                                 : S_TEXT/ASS
Codec ID/Info                            : Advanced Sub Station Alpha
Duration                                 : 24 min 5 s
Bit rate                                 : 138 b/s
Frame rate                               : 0.230 FPS
Count of elements                        : 332
Compression mode                         : Lossless
Stream size                              : 24.5 KiB (0%)
Title                                    : Nederlands
Language                                 : Dutch
Default                                  : No
Forced                                   : No

Text #8
ID                                       : 10
Format                                   : ASS
Codec ID                                 : S_TEXT/ASS
Codec ID/Info                            : Advanced Sub Station Alpha
Duration                                 : 24 min 4 s
Bit rate                                 : 148 b/s
Frame rate                               : 0.253 FPS
Count of elements                        : 366
Compression mode                         : Lossless
Stream size                              : 26.2 KiB (0%)
Language                                 : Dutch
Default                                  : No
Forced                                   : No

Text #9
ID                                       : 11
Format                                   : ASS
Codec ID                                 : S_TEXT/ASS
Codec ID/Info                            : Advanced Sub Station Alpha
Duration                                 : 23 min 48 s
Bit rate                                 : 709 b/s
Frame rate                               : 0.780 FPS
Count of elements                        : 1115
Compression mode                         : Lossless
Stream size                              : 124 KiB (0%)
Title                                    : Nederlands3
Language                                 : Dutch
Default                                  : No
Forced                                   : No

Text #10
ID                                       : 12
Format                                   : ASS
Codec ID                                 : S_TEXT/ASS
Codec ID/Info                            : Advanced Sub Station Alpha
Duration                                 : 23 min 48 s
Bit rate                                 : 709 b/s
Frame rate                               : 0.780 FPS
Count of elements                        : 1115
Compression mode                         : Lossless
Stream size                              : 124 KiB (0%)
Title                                    : Russian / Русский
Language                                 : Russian (RU)
Default                                  : No
Forced                                   : No

Text #11
ID                                       : 13
Format                                   : ASS
Codec ID                                 : S_TEXT/ASS
Codec ID/Info                            : Advanced Sub Station Alpha
Duration                                 : 24 min 5 s
Bit rate                                 : 169 b/s
Frame rate                               : 0.232 FPS
Count of elements                        : 335
Compression mode                         : Lossless
Stream size                              : 30.0 KiB (0%)
Title                                    : Russian / Русский
Language                                 : Russian (RU)
Default                                  : No
Forced                                   : No

Menu
00:00:00.000                             : en:Prologue
00:01:16.000                             : en:Opening
00:02:46.000                             : en:Episode
00:22:30.000                             : en:Credits Start
00:24:00.000                             : en:Credits End / en:Preview Start
00:24:10.000                             : en:Preview End

TimGels avatar Mar 01 '24 19:03 TimGels

is it possible this is an off-by-one index problem or is it like, more complicated than that?

sevenrats avatar Mar 03 '24 20:03 sevenrats

I wouldn't expect it to be an off by one index issue as the Dutch subtitle is not the first one in the list, nor the last.

TimGels avatar Mar 04 '24 07:03 TimGels

I have a similar problem. If I watch a series episode that has no subtitle but the next one has a forced subtitle, the selected subtitle remains OFF when the next episode starts and you have to manually change the subtitle to forced for each episode EVEN THOUGH the subtitle options are set to default and you normally takes the option from the MKV container if the forced flag is set. This is super annoying. Is this related to this bug?

I tested the behavior on the PC with the current desktop, on my LG Oled and in Chrome, Edge and Firefox + on a Samsung Galaxy S23 and a 4k FireTV Max...

It's really stupid if you have to reactivate the subtitles against the settings every time for every episode...

Snipy2k4 avatar Apr 26 '24 19:04 Snipy2k4