[Issue]: Prefered subtiles not choosen #5370

Open
opened 2026-02-07 01:44:07 +03:00 by OVERLORD · 14 comments
Owner

Originally created by @Certefied on GitHub (Jan 7, 2024).

Please describe your bug

Realy anoying that the prefered subtitles that i say to use not is working.
In my settings i set subtitle language to Dutch/Flemish but is is never choosen, only when it is the only subtile present.
When i have a movie with multiple subtitles it just picks the first one in the list.

Jellyfin Version

10.8.z

if other:

10.8.13

Environment

- OS:ADM asustor-as6706t 
- Linux Kernel:
- Virtualization: Docker
- Clients: Nvidea shield
- Browser: Chrome, Android
- FFmpeg Version:
- Playback Method: Direct stream
- Hardware Acceleration: None
- GPU Model:Intel UHD Graphics (Jasper Lake 24 EU)
- Plugins:
- Reverse Proxy:
- Base URL:
- Networking:
- Storage:

Jellyfin logs

No response

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
Originally created by @Certefied on GitHub (Jan 7, 2024). ### Please describe your bug Realy anoying that the prefered subtitles that i say to use not is working. In my settings i set subtitle language to Dutch/Flemish but is is never choosen, only when it is the only subtile present. When i have a movie with multiple subtitles it just picks the first one in the list. ### Jellyfin Version 10.8.z ### if other: 10.8.13 ### Environment ```markdown - OS:ADM asustor-as6706t - Linux Kernel: - Virtualization: Docker - Clients: Nvidea shield - Browser: Chrome, Android - FFmpeg Version: - Playback Method: Direct stream - Hardware Acceleration: None - GPU Model:Intel UHD Graphics (Jasper Lake 24 EU) - Plugins: - Reverse Proxy: - Base URL: - Networking: - Storage: ``` ### Jellyfin logs _No response_ ### FFmpeg logs _No response_ ### Please attach any browser or client logs here _No response_ ### Please attach any screenshots here _No response_ ### Code of Conduct - [X] I agree to follow this project's Code of Conduct
OVERLORD added the bugconfirmed labels 2026-02-07 01:44:07 +03:00
Author
Owner

@TimGels commented on GitHub (Mar 1, 2024):

I am unable to reproduce your issue with the provided information you have given. I have added a Dutch subtitle track and removed all default/forced tags from all the subtitles. Then I selected the default subtitle option after which I played the video.

Video 1
afbeelding
Subtitle settings
afbeelding
Video 2
afbeelding

I have a couple of things I would like to have an answer on:

  • Does this happen with all other media, that have multiple subtitles, of you as well?
  • Please provide us with mediainfo outputs from a tool such as mediainfo (using text as output format), providing detailed information on (some of) the affected file(s).
  • Please share screenshots of your subtitle settings.
  • Are you using the chrome browser on your tv shield? Just wanting to make sure you aren't using another client / app.

Thank you in advance.

@TimGels commented on GitHub (Mar 1, 2024): I am unable to reproduce your issue with the provided information you have given. I have added a Dutch subtitle track and removed all default/forced tags from all the subtitles. Then I selected the default subtitle option after which I played the video. Video 1 ![afbeelding](https://github.com/jellyfin/jellyfin/assets/43609220/6a6866f5-be00-4720-83e2-15abe588960f) Subtitle settings ![afbeelding](https://github.com/jellyfin/jellyfin/assets/43609220/366df929-6f7d-4864-9a89-4f3eeef071b0) Video 2 ![afbeelding](https://github.com/jellyfin/jellyfin/assets/43609220/3e59a157-781e-42ca-a34a-832d0d1179bd) I have a couple of things I would like to have an answer on: * Does this happen with all other media, that have multiple subtitles, of you as well? * Please provide us with mediainfo outputs from a tool such as mediainfo (using text as output format), providing detailed information on (some of) the affected file(s). * Please share screenshots of your subtitle settings. * Are you using the chrome browser on your tv shield? Just wanting to make sure you aren't using another client / app. Thank you in advance.
Author
Owner

@Certefied commented on GitHub (Mar 1, 2024):

Hi,

Thanks for investigating the issue.
Do i understand correct, that if there are forced subtitles in the video
file, jellyfin wil pick that one and not the prefered sub language you set?
Because it only happens with multisubs and most of the time the english
subs are forced like the example i added.
I think jellyfin must always force the prefered sub language, thats what
other players do aswel.

Greetings

Op vr 1 mrt 2024 om 19:17 schreef Tim Gels @.***>:

I am unable to reproduce your issue with the provided information you have
given. I have added a Dutch subtitle track and removed all default/forced
tags from all the subtitles. Then I selected the default subtitle option
after which I played the video.

Video 1
afbeelding.png (view on web)
https://github.com/jellyfin/jellyfin/assets/43609220/6a6866f5-be00-4720-83e2-15abe588960f
Subtitle settings
afbeelding.png (view on web)
https://github.com/jellyfin/jellyfin/assets/43609220/366df929-6f7d-4864-9a89-4f3eeef071b0
Video 2
afbeelding.png (view on web)
https://github.com/jellyfin/jellyfin/assets/43609220/3e59a157-781e-42ca-a34a-832d0d1179bd

I have a couple of things I would like to have an answer on:

  • Does this happen with all other media, that have multiple subtitles,
    of you as well?
  • Please provide us with mediainfo outputs from a tool such as
    mediainfo (using text as output format), providing detailed information on
    (some of) the affected file(s).
  • Please share screenshots of your subtitle settings.

Thank you in advance.


Reply to this email directly, view it on GitHub
https://github.com/jellyfin/jellyfin/issues/10829#issuecomment-1973694183,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AW37ZFZ6F4C4Z3Z4UKHZORLYWDA2PAVCNFSM6AAAAABBQSNV2KVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNZTGY4TIMJYGM
.
You are receiving this because you authored the thread.Message ID:
@.***>

--
Groeten,

Franco

General
Unique ID : 104057613693230696268069594934783287851 (0x4E48C47554B4E3438F81CE45E39CA22B)
Complete name : \Wiltink\Volume 4\Media\Series\Engels\Masters of the Air\Season 1\Masters of the Air - S01E07.mkv
Format : Matroska
Format version : Version 4
File size : 3.74 GiB
Duration : 49 min 25 s
Overall bit rate : 10.8 Mb/s
Frame rate : 23.976 FPS
Writing application : mkvmerge v82.0 ('I'm The President') 64-bit
Writing library : libebml v1.4.5 + libmatroska v1.7.1

Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : @.***
Format settings : CABAC / 5 Ref Frames
Format settings, CABAC : Yes
Format settings, Reference frames : 5 frames
Format settings, Slice count : 8 slices per frame
Codec ID : V_MPEG4/ISO/AVC
Duration : 49 min 25 s
Bit rate : 10.0 Mb/s
Width : 1 918 pixels
Height : 802 pixels
Display aspect ratio : 2.39:1
Frame rate mode : Constant
Frame rate : 23.976 (24000/1001) FPS
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.272
Stream size : 3.47 GiB (93%)
Language : English
Default : Yes
Forced : No
Color range : Limited
Color primaries : BT.709
Transfer characteristics : BT.709
Matrix coefficients : BT.709

Audio
ID : 2
Format : E-AC-3 JOC
Format/Info : Enhanced AC-3 with Joint Object Coding
Commercial name : Dolby Digital Plus with Dolby Atmos
Codec ID : A_EAC3
Duration : 49 min 25 s
Bit rate mode : Constant
Bit rate : 768 kb/s
Channel(s) : 6 channels
Channel layout : L R C LFE Ls Rs
Sampling rate : 48.0 kHz
Frame rate : 31.250 FPS (1536 SPF)
Compression mode : Lossy
Stream size : 272 MiB (7%)
Language : English
Service kind : Complete Main
Default : Yes
Forced : No
Complexity index : 16
Number of dynamic objects : 15
Bed channel count : 1 channel
Bed channel configuration : LFE

Text #1
ID : 3
Format : UTF-8
Codec ID : S_TEXT/UTF8
Codec ID/Info : UTF-8 Plain Text
Duration : 8 min 26 s
Bit rate : 1 b/s
Frame rate : 0.006 FPS
Count of elements : 3
Stream size : 80.0 Bytes (0%)
Title : Forced
Language : English
Default : Yes
Forced : Yes

Text #2
ID : 4
Format : UTF-8
Codec ID : S_TEXT/UTF8
Codec ID/Info : UTF-8 Plain Text
Duration : 43 min 20 s
Bit rate : 58 b/s
Frame rate : 0.213 FPS
Count of elements : 555
Stream size : 18.7 KiB (0%)
Language : English
Default : No
Forced : No

Text #3
ID : 5
Format : UTF-8
Codec ID : S_TEXT/UTF8
Codec ID/Info : UTF-8 Plain Text
Duration : 43 min 21 s
Bit rate : 72 b/s
Frame rate : 0.247 FPS
Count of elements : 642
Stream size : 23.0 KiB (0%)
Title : SDH
Language : English
Default : No
Forced : No

Text #4
ID : 6
Format : UTF-8
Codec ID : S_TEXT/UTF8
Codec ID/Info : UTF-8 Plain Text
Duration : 48 min 48 s
Bit rate : 80 b/s
Frame rate : 0.195 FPS
Count of elements : 571
Stream size : 28.7 KiB (0%)
Language : Arabic
Default : No
Forced : No

Text #5
ID : 7
Format : UTF-8
Codec ID : S_TEXT/UTF8
Codec ID/Info : UTF-8 Plain Text
Duration : 48 min 48 s
Bit rate : 75 b/s
Frame rate : 0.153 FPS
Count of elements : 448
Stream size : 26.9 KiB (0%)
Language : Bulgarian
Default : No
Forced : No

Text #6
ID : 8
Format : UTF-8
Codec ID : S_TEXT/UTF8
Codec ID/Info : UTF-8 Plain Text
Duration : 48 min 48 s
Bit rate : 44 b/s
Frame rate : 0.195 FPS
Count of elements : 571
Stream size : 16.0 KiB (0%)
Title : Simplified
Language : Chinese (Simplified)
Default : No
Forced : No

Text #7
ID : 9
Format : UTF-8
Codec ID : S_TEXT/UTF8
Codec ID/Info : UTF-8 Plain Text
Duration : 48 min 48 s
Bit rate : 46 b/s
Frame rate : 0.195 FPS
Count of elements : 572
Stream size : 16.5 KiB (0%)
Title : Traditional
Language : Chinese (Traditional)
Default : No
Forced : No

Text #8
ID : 10
Format : UTF-8
Codec ID : S_TEXT/UTF8
Codec ID/Info : UTF-8 Plain Text
Duration : 48 min 48 s
Bit rate : 46 b/s
Frame rate : 0.185 FPS
Count of elements : 541
Stream size : 16.5 KiB (0%)
Language : Czech
Default : No
Forced : No

Text #9
ID : 11
Format : UTF-8
Codec ID : S_TEXT/UTF8
Codec ID/Info : UTF-8 Plain Text
Duration : 48 min 48 s
Bit rate : 50 b/s
Frame rate : 0.171 FPS
Count of elements : 501
Stream size : 17.9 KiB (0%)
Language : Danish
Default : No
Forced : No

Text #10
ID : 12
Format : UTF-8
Codec ID : S_TEXT/UTF8
Codec ID/Info : UTF-8 Plain Text
Duration : 43 min 33 s
Bit rate : 58 b/s
Frame rate : 0.197 FPS
Count of elements : 515
Stream size : 18.6 KiB (0%)
Language : German
Default : No
Forced : No

Text #11
ID : 13
Format : UTF-8
Codec ID : S_TEXT/UTF8
Codec ID/Info : UTF-8 Plain Text
Duration : 48 min 48 s
Bit rate : 84 b/s
Frame rate : 0.187 FPS
Count of elements : 547
Stream size : 30.2 KiB (0%)
Language : Greek
Default : No
Forced : No

Text #12
ID : 14
Format : UTF-8
Codec ID : S_TEXT/UTF8
Codec ID/Info : UTF-8 Plain Text
Duration : 48 min 48 s
Bit rate : 52 b/s
Frame rate : 0.194 FPS
Count of elements : 569
Stream size : 18.9 KiB (0%)
Title : Latin American
Language : Spanish (Latin America)
Default : No
Forced : No

Text #13
ID : 15
Format : UTF-8
Codec ID : S_TEXT/UTF8
Codec ID/Info : UTF-8 Plain Text
Duration : 48 min 48 s
Bit rate : 53 b/s
Frame rate : 0.197 FPS
Count of elements : 576
Stream size : 19.0 KiB (0%)
Language : Spanish (ES)
Default : No
Forced : No

Text #14
ID : 16
Format : UTF-8
Codec ID : S_TEXT/UTF8
Codec ID/Info : UTF-8 Plain Text
Duration : 48 min 48 s
Bit rate : 49 b/s
Frame rate : 0.191 FPS
Count of elements : 560
Stream size : 17.8 KiB (0%)
Language : Estonian
Default : No
Forced : No

Text #15
ID : 17
Format : UTF-8
Codec ID : S_TEXT/UTF8
Codec ID/Info : UTF-8 Plain Text
Duration : 48 min 48 s
Bit rate : 50 b/s
Frame rate : 0.186 FPS
Count of elements : 545
Stream size : 17.9 KiB (0%)
Language : Finnish
Default : No
Forced : No

Text #16
ID : 18
Format : UTF-8
Codec ID : S_TEXT/UTF8
Codec ID/Info : UTF-8 Plain Text
Duration : 48 min 49 s
Bit rate : 48 b/s
Frame rate : 0.206 FPS
Count of elements : 602
Stream size : 17.3 KiB (0%)
Title : Canadian
Language : French (CA)
Default : No
Forced : No

Text #17
ID : 19
Format : UTF-8
Codec ID : S_TEXT/UTF8
Codec ID/Info : UTF-8 Plain Text
Duration : 48 min 49 s
Bit rate : 48 b/s
Frame rate : 0.205 FPS
Count of elements : 601
Stream size : 17.2 KiB (0%)
Language : French (FR)
Default : No
Forced : No

Text #18
ID : 20
Format : UTF-8
Codec ID : S_TEXT/UTF8
Codec ID/Info : UTF-8 Plain Text
Duration : 48 min 48 s
Bit rate : 76 b/s
Frame rate : 0.195 FPS
Count of elements : 571
Stream size : 27.4 KiB (0%)
Language : Hebrew
Default : No
Forced : No

Text #19
ID : 21
Format : UTF-8
Codec ID : S_TEXT/UTF8
Codec ID/Info : UTF-8 Plain Text
Duration : 48 min 48 s
Bit rate : 138 b/s
Frame rate : 0.195 FPS
Count of elements : 572
Stream size : 49.6 KiB (0%)
Language : Hindi
Default : No
Forced : No

Text #20
ID : 22
Format : UTF-8
Codec ID : S_TEXT/UTF8
Codec ID/Info : UTF-8 Plain Text
Duration : 48 min 48 s
Bit rate : 51 b/s
Frame rate : 0.191 FPS
Count of elements : 560
Stream size : 18.5 KiB (0%)
Language : Hungarian
Default : No
Forced : No

Text #21
ID : 23
Format : UTF-8
Codec ID : S_TEXT/UTF8
Codec ID/Info : UTF-8 Plain Text
Duration : 48 min 48 s
Bit rate : 54 b/s
Frame rate : 0.194 FPS
Count of elements : 568
Stream size : 19.5 KiB (0%)
Language : Indonesian
Default : No
Forced : No

Text #22
ID : 24
Format : UTF-8
Codec ID : S_TEXT/UTF8
Codec ID/Info : UTF-8 Plain Text
Duration : 48 min 48 s
Bit rate : 54 b/s
Frame rate : 0.186 FPS
Count of elements : 544
Stream size : 19.6 KiB (0%)
Language : Italian
Default : No
Forced : No

Text #23
ID : 25
Format : UTF-8
Codec ID : S_TEXT/UTF8
Codec ID/Info : UTF-8 Plain Text
Duration : 49 min 11 s
Bit rate : 41 b/s
Frame rate : 0.182 FPS
Count of elements : 537
Stream size : 14.9 KiB (0%)
Language : Japanese
Default : No
Forced : No

Text #24
ID : 26
Format : UTF-8
Codec ID : S_TEXT/UTF8
Codec ID/Info : UTF-8 Plain Text
Duration : 48 min 48 s
Bit rate : 51 b/s
Frame rate : 0.195 FPS
Count of elements : 571
Stream size : 18.5 KiB (0%)
Language : Korean
Default : No
Forced : No

Text #25
ID : 27
Format : UTF-8
Codec ID : S_TEXT/UTF8
Codec ID/Info : UTF-8 Plain Text
Duration : 48 min 48 s
Bit rate : 52 b/s
Frame rate : 0.194 FPS
Count of elements : 568
Stream size : 18.8 KiB (0%)
Language : Lithuanian
Default : No
Forced : No

Text #26
ID : 28
Format : UTF-8
Codec ID : S_TEXT/UTF8
Codec ID/Info : UTF-8 Plain Text
Duration : 48 min 48 s
Bit rate : 54 b/s
Frame rate : 0.192 FPS
Count of elements : 561
Stream size : 19.6 KiB (0%)
Language : Latvian
Default : No
Forced : No

Text #27
ID : 29
Format : UTF-8
Codec ID : S_TEXT/UTF8
Codec ID/Info : UTF-8 Plain Text
Duration : 48 min 48 s
Bit rate : 54 b/s
Frame rate : 0.194 FPS
Count of elements : 569
Stream size : 19.5 KiB (0%)
Language : Malay
Default : No
Forced : No

Text #28
ID : 30
Format : UTF-8
Codec ID : S_TEXT/UTF8
Codec ID/Info : UTF-8 Plain Text
Duration : 48 min 48 s
Bit rate : 43 b/s
Frame rate : 0.153 FPS
Count of elements : 449
Stream size : 15.7 KiB (0%)
Language : Dutch
Default : No
Forced : No

Text #29
ID : 31
Format : UTF-8
Codec ID : S_TEXT/UTF8
Codec ID/Info : UTF-8 Plain Text
Duration : 48 min 48 s
Bit rate : 46 b/s
Frame rate : 0.156 FPS
Count of elements : 457
Stream size : 16.5 KiB (0%)
Language : Norwegian
Default : No
Forced : No

Text #30
ID : 32
Format : UTF-8
Codec ID : S_TEXT/UTF8
Codec ID/Info : UTF-8 Plain Text
Duration : 48 min 48 s
Bit rate : 46 b/s
Frame rate : 0.185 FPS
Count of elements : 541
Stream size : 16.6 KiB (0%)
Language : Polish
Default : No
Forced : No

Text #31
ID : 33
Format : UTF-8
Codec ID : S_TEXT/UTF8
Codec ID/Info : UTF-8 Plain Text
Duration : 48 min 48 s
Bit rate : 53 b/s
Frame rate : 0.193 FPS
Count of elements : 564
Stream size : 19.1 KiB (0%)
Language : Portuguese
Default : No
Forced : No

Text #32
ID : 34
Format : UTF-8
Codec ID : S_TEXT/UTF8
Codec ID/Info : UTF-8 Plain Text
Duration : 48 min 48 s
Bit rate : 50 b/s
Frame rate : 0.182 FPS
Count of elements : 534
Stream size : 17.9 KiB (0%)
Title : Brazilian
Language : Portuguese (BR)
Default : No
Forced : No

Text #33
ID : 35
Format : UTF-8
Codec ID : S_TEXT/UTF8
Codec ID/Info : UTF-8 Plain Text
Duration : 48 min 48 s
Bit rate : 78 b/s
Frame rate : 0.189 FPS
Count of elements : 553
Stream size : 28.0 KiB (0%)
Language : Russian
Default : No
Forced : No

Text #34
ID : 36
Format : UTF-8
Codec ID : S_TEXT/UTF8
Codec ID/Info : UTF-8 Plain Text
Duration : 48 min 48 s
Bit rate : 49 b/s
Frame rate : 0.194 FPS
Count of elements : 567
Stream size : 17.8 KiB (0%)
Language : Slovak
Default : No
Forced : No

Text #35
ID : 37
Format : UTF-8
Codec ID : S_TEXT/UTF8
Codec ID/Info : UTF-8 Plain Text
Duration : 48 min 48 s
Bit rate : 43 b/s
Frame rate : 0.168 FPS
Count of elements : 493
Stream size : 15.5 KiB (0%)
Language : Slovenian
Default : No
Forced : No

Text #36
ID : 38
Format : UTF-8
Codec ID : S_TEXT/UTF8
Codec ID/Info : UTF-8 Plain Text
Duration : 48 min 48 s
Bit rate : 51 b/s
Frame rate : 0.194 FPS
Count of elements : 567
Stream size : 18.6 KiB (0%)
Language : Swedish
Default : No
Forced : No

Text #37
ID : 39
Format : UTF-8
Codec ID : S_TEXT/UTF8
Codec ID/Info : UTF-8 Plain Text
Duration : 48 min 48 s
Bit rate : 180 b/s
Frame rate : 0.195 FPS
Count of elements : 571
Stream size : 64.4 KiB (0%)
Language : Tamil
Default : No
Forced : No

Text #38
ID : 40
Format : UTF-8
Codec ID : S_TEXT/UTF8
Codec ID/Info : UTF-8 Plain Text
Duration : 48 min 48 s
Bit rate : 163 b/s
Frame rate : 0.195 FPS
Count of elements : 571
Stream size : 58.5 KiB (0%)
Language : Telugu
Default : No
Forced : No

Text #39
ID : 41
Format : UTF-8
Codec ID : S_TEXT/UTF8
Codec ID/Info : UTF-8 Plain Text
Duration : 48 min 48 s
Bit rate : 106 b/s
Frame rate : 0.195 FPS
Count of elements : 571
Stream size : 38.1 KiB (0%)
Language : Thai
Default : No
Forced : No

Text #40
ID : 42
Format : UTF-8
Codec ID : S_TEXT/UTF8
Codec ID/Info : UTF-8 Plain Text
Duration : 48 min 48 s
Bit rate : 51 b/s
Frame rate : 0.190 FPS
Count of elements : 557
Stream size : 18.4 KiB (0%)
Language : Turkish
Default : No
Forced : No

Text #41
ID : 43
Format : UTF-8
Codec ID : S_TEXT/UTF8
Codec ID/Info : UTF-8 Plain Text
Duration : 48 min 48 s
Bit rate : 77 b/s
Frame rate : 0.195 FPS
Count of elements : 570
Stream size : 27.6 KiB (0%)
Language : Ukrainian
Default : No
Forced : No

Text #42
ID : 44
Format : UTF-8
Codec ID : S_TEXT/UTF8
Codec ID/Info : UTF-8 Plain Text
Duration : 48 min 48 s
Bit rate : 68 b/s
Frame rate : 0.195 FPS
Count of elements : 570
Stream size : 24.6 KiB (0%)
Language : Vietnamese
Default : No
Forced : No

Text #43
ID : 45
Format : UTF-8
Codec ID : S_TEXT/UTF8
Codec ID/Info : UTF-8 Plain Text
Duration : 48 min 48 s
Bit rate : 40 b/s
Frame rate : 0.195 FPS
Count of elements : 572
Stream size : 14.6 KiB (0%)
Title : Traditional
Language : Cantonese (Hant)
Default : No
Forced : No

Menu
00:00:00.000 : en:Studio Logo
00:00:08.963 : en:Recap
00:01:11.147 : en:Scene 01
00:05:46.480 : en:Intro
00:07:47.313 : en:Scene 02
00:42:39.000 : en:Credits

@Certefied commented on GitHub (Mar 1, 2024): Hi, Thanks for investigating the issue. Do i understand correct, that if there are forced subtitles in the video file, jellyfin wil pick that one and not the prefered sub language you set? Because it only happens with multisubs and most of the time the english subs are forced like the example i added. I think jellyfin must always force the prefered sub language, thats what other players do aswel. Greetings Op vr 1 mrt 2024 om 19:17 schreef Tim Gels ***@***.***>: > I am unable to reproduce your issue with the provided information you have > given. I have added a Dutch subtitle track and removed all default/forced > tags from all the subtitles. Then I selected the default subtitle option > after which I played the video. > > Video 1 > afbeelding.png (view on web) > <https://github.com/jellyfin/jellyfin/assets/43609220/6a6866f5-be00-4720-83e2-15abe588960f> > Subtitle settings > afbeelding.png (view on web) > <https://github.com/jellyfin/jellyfin/assets/43609220/366df929-6f7d-4864-9a89-4f3eeef071b0> > Video 2 > afbeelding.png (view on web) > <https://github.com/jellyfin/jellyfin/assets/43609220/3e59a157-781e-42ca-a34a-832d0d1179bd> > > I have a couple of things I would like to have an answer on: > > - Does this happen with all other media, that have multiple subtitles, > of you as well? > - Please provide us with mediainfo outputs from a tool such as > mediainfo (using text as output format), providing detailed information on > (some of) the affected file(s). > - Please share screenshots of your subtitle settings. > > Thank you in advance. > > — > Reply to this email directly, view it on GitHub > <https://github.com/jellyfin/jellyfin/issues/10829#issuecomment-1973694183>, > or unsubscribe > <https://github.com/notifications/unsubscribe-auth/AW37ZFZ6F4C4Z3Z4UKHZORLYWDA2PAVCNFSM6AAAAABBQSNV2KVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNZTGY4TIMJYGM> > . > You are receiving this because you authored the thread.Message ID: > ***@***.***> > -- Groeten, Franco General Unique ID : 104057613693230696268069594934783287851 (0x4E48C47554B4E3438F81CE45E39CA22B) Complete name : \\Wiltink\Volume 4\Media\Series\Engels\Masters of the Air\Season 1\Masters of the Air - S01E07.mkv Format : Matroska Format version : Version 4 File size : 3.74 GiB Duration : 49 min 25 s Overall bit rate : 10.8 Mb/s Frame rate : 23.976 FPS Writing application : mkvmerge v82.0 ('I'm The President') 64-bit Writing library : libebml v1.4.5 + libmatroska v1.7.1 Video ID : 1 Format : AVC Format/Info : Advanced Video Codec Format profile : ***@***.*** Format settings : CABAC / 5 Ref Frames Format settings, CABAC : Yes Format settings, Reference frames : 5 frames Format settings, Slice count : 8 slices per frame Codec ID : V_MPEG4/ISO/AVC Duration : 49 min 25 s Bit rate : 10.0 Mb/s Width : 1 918 pixels Height : 802 pixels Display aspect ratio : 2.39:1 Frame rate mode : Constant Frame rate : 23.976 (24000/1001) FPS Color space : YUV Chroma subsampling : 4:2:0 Bit depth : 8 bits Scan type : Progressive Bits/(Pixel*Frame) : 0.272 Stream size : 3.47 GiB (93%) Language : English Default : Yes Forced : No Color range : Limited Color primaries : BT.709 Transfer characteristics : BT.709 Matrix coefficients : BT.709 Audio ID : 2 Format : E-AC-3 JOC Format/Info : Enhanced AC-3 with Joint Object Coding Commercial name : Dolby Digital Plus with Dolby Atmos Codec ID : A_EAC3 Duration : 49 min 25 s Bit rate mode : Constant Bit rate : 768 kb/s Channel(s) : 6 channels Channel layout : L R C LFE Ls Rs Sampling rate : 48.0 kHz Frame rate : 31.250 FPS (1536 SPF) Compression mode : Lossy Stream size : 272 MiB (7%) Language : English Service kind : Complete Main Default : Yes Forced : No Complexity index : 16 Number of dynamic objects : 15 Bed channel count : 1 channel Bed channel configuration : LFE Text #1 ID : 3 Format : UTF-8 Codec ID : S_TEXT/UTF8 Codec ID/Info : UTF-8 Plain Text Duration : 8 min 26 s Bit rate : 1 b/s Frame rate : 0.006 FPS Count of elements : 3 Stream size : 80.0 Bytes (0%) Title : Forced Language : English Default : Yes Forced : Yes Text #2 ID : 4 Format : UTF-8 Codec ID : S_TEXT/UTF8 Codec ID/Info : UTF-8 Plain Text Duration : 43 min 20 s Bit rate : 58 b/s Frame rate : 0.213 FPS Count of elements : 555 Stream size : 18.7 KiB (0%) Language : English Default : No Forced : No Text #3 ID : 5 Format : UTF-8 Codec ID : S_TEXT/UTF8 Codec ID/Info : UTF-8 Plain Text Duration : 43 min 21 s Bit rate : 72 b/s Frame rate : 0.247 FPS Count of elements : 642 Stream size : 23.0 KiB (0%) Title : SDH Language : English Default : No Forced : No Text #4 ID : 6 Format : UTF-8 Codec ID : S_TEXT/UTF8 Codec ID/Info : UTF-8 Plain Text Duration : 48 min 48 s Bit rate : 80 b/s Frame rate : 0.195 FPS Count of elements : 571 Stream size : 28.7 KiB (0%) Language : Arabic Default : No Forced : No Text #5 ID : 7 Format : UTF-8 Codec ID : S_TEXT/UTF8 Codec ID/Info : UTF-8 Plain Text Duration : 48 min 48 s Bit rate : 75 b/s Frame rate : 0.153 FPS Count of elements : 448 Stream size : 26.9 KiB (0%) Language : Bulgarian Default : No Forced : No Text #6 ID : 8 Format : UTF-8 Codec ID : S_TEXT/UTF8 Codec ID/Info : UTF-8 Plain Text Duration : 48 min 48 s Bit rate : 44 b/s Frame rate : 0.195 FPS Count of elements : 571 Stream size : 16.0 KiB (0%) Title : Simplified Language : Chinese (Simplified) Default : No Forced : No Text #7 ID : 9 Format : UTF-8 Codec ID : S_TEXT/UTF8 Codec ID/Info : UTF-8 Plain Text Duration : 48 min 48 s Bit rate : 46 b/s Frame rate : 0.195 FPS Count of elements : 572 Stream size : 16.5 KiB (0%) Title : Traditional Language : Chinese (Traditional) Default : No Forced : No Text #8 ID : 10 Format : UTF-8 Codec ID : S_TEXT/UTF8 Codec ID/Info : UTF-8 Plain Text Duration : 48 min 48 s Bit rate : 46 b/s Frame rate : 0.185 FPS Count of elements : 541 Stream size : 16.5 KiB (0%) Language : Czech Default : No Forced : No Text #9 ID : 11 Format : UTF-8 Codec ID : S_TEXT/UTF8 Codec ID/Info : UTF-8 Plain Text Duration : 48 min 48 s Bit rate : 50 b/s Frame rate : 0.171 FPS Count of elements : 501 Stream size : 17.9 KiB (0%) Language : Danish Default : No Forced : No Text #10 ID : 12 Format : UTF-8 Codec ID : S_TEXT/UTF8 Codec ID/Info : UTF-8 Plain Text Duration : 43 min 33 s Bit rate : 58 b/s Frame rate : 0.197 FPS Count of elements : 515 Stream size : 18.6 KiB (0%) Language : German Default : No Forced : No Text #11 ID : 13 Format : UTF-8 Codec ID : S_TEXT/UTF8 Codec ID/Info : UTF-8 Plain Text Duration : 48 min 48 s Bit rate : 84 b/s Frame rate : 0.187 FPS Count of elements : 547 Stream size : 30.2 KiB (0%) Language : Greek Default : No Forced : No Text #12 ID : 14 Format : UTF-8 Codec ID : S_TEXT/UTF8 Codec ID/Info : UTF-8 Plain Text Duration : 48 min 48 s Bit rate : 52 b/s Frame rate : 0.194 FPS Count of elements : 569 Stream size : 18.9 KiB (0%) Title : Latin American Language : Spanish (Latin America) Default : No Forced : No Text #13 ID : 15 Format : UTF-8 Codec ID : S_TEXT/UTF8 Codec ID/Info : UTF-8 Plain Text Duration : 48 min 48 s Bit rate : 53 b/s Frame rate : 0.197 FPS Count of elements : 576 Stream size : 19.0 KiB (0%) Language : Spanish (ES) Default : No Forced : No Text #14 ID : 16 Format : UTF-8 Codec ID : S_TEXT/UTF8 Codec ID/Info : UTF-8 Plain Text Duration : 48 min 48 s Bit rate : 49 b/s Frame rate : 0.191 FPS Count of elements : 560 Stream size : 17.8 KiB (0%) Language : Estonian Default : No Forced : No Text #15 ID : 17 Format : UTF-8 Codec ID : S_TEXT/UTF8 Codec ID/Info : UTF-8 Plain Text Duration : 48 min 48 s Bit rate : 50 b/s Frame rate : 0.186 FPS Count of elements : 545 Stream size : 17.9 KiB (0%) Language : Finnish Default : No Forced : No Text #16 ID : 18 Format : UTF-8 Codec ID : S_TEXT/UTF8 Codec ID/Info : UTF-8 Plain Text Duration : 48 min 49 s Bit rate : 48 b/s Frame rate : 0.206 FPS Count of elements : 602 Stream size : 17.3 KiB (0%) Title : Canadian Language : French (CA) Default : No Forced : No Text #17 ID : 19 Format : UTF-8 Codec ID : S_TEXT/UTF8 Codec ID/Info : UTF-8 Plain Text Duration : 48 min 49 s Bit rate : 48 b/s Frame rate : 0.205 FPS Count of elements : 601 Stream size : 17.2 KiB (0%) Language : French (FR) Default : No Forced : No Text #18 ID : 20 Format : UTF-8 Codec ID : S_TEXT/UTF8 Codec ID/Info : UTF-8 Plain Text Duration : 48 min 48 s Bit rate : 76 b/s Frame rate : 0.195 FPS Count of elements : 571 Stream size : 27.4 KiB (0%) Language : Hebrew Default : No Forced : No Text #19 ID : 21 Format : UTF-8 Codec ID : S_TEXT/UTF8 Codec ID/Info : UTF-8 Plain Text Duration : 48 min 48 s Bit rate : 138 b/s Frame rate : 0.195 FPS Count of elements : 572 Stream size : 49.6 KiB (0%) Language : Hindi Default : No Forced : No Text #20 ID : 22 Format : UTF-8 Codec ID : S_TEXT/UTF8 Codec ID/Info : UTF-8 Plain Text Duration : 48 min 48 s Bit rate : 51 b/s Frame rate : 0.191 FPS Count of elements : 560 Stream size : 18.5 KiB (0%) Language : Hungarian Default : No Forced : No Text #21 ID : 23 Format : UTF-8 Codec ID : S_TEXT/UTF8 Codec ID/Info : UTF-8 Plain Text Duration : 48 min 48 s Bit rate : 54 b/s Frame rate : 0.194 FPS Count of elements : 568 Stream size : 19.5 KiB (0%) Language : Indonesian Default : No Forced : No Text #22 ID : 24 Format : UTF-8 Codec ID : S_TEXT/UTF8 Codec ID/Info : UTF-8 Plain Text Duration : 48 min 48 s Bit rate : 54 b/s Frame rate : 0.186 FPS Count of elements : 544 Stream size : 19.6 KiB (0%) Language : Italian Default : No Forced : No Text #23 ID : 25 Format : UTF-8 Codec ID : S_TEXT/UTF8 Codec ID/Info : UTF-8 Plain Text Duration : 49 min 11 s Bit rate : 41 b/s Frame rate : 0.182 FPS Count of elements : 537 Stream size : 14.9 KiB (0%) Language : Japanese Default : No Forced : No Text #24 ID : 26 Format : UTF-8 Codec ID : S_TEXT/UTF8 Codec ID/Info : UTF-8 Plain Text Duration : 48 min 48 s Bit rate : 51 b/s Frame rate : 0.195 FPS Count of elements : 571 Stream size : 18.5 KiB (0%) Language : Korean Default : No Forced : No Text #25 ID : 27 Format : UTF-8 Codec ID : S_TEXT/UTF8 Codec ID/Info : UTF-8 Plain Text Duration : 48 min 48 s Bit rate : 52 b/s Frame rate : 0.194 FPS Count of elements : 568 Stream size : 18.8 KiB (0%) Language : Lithuanian Default : No Forced : No Text #26 ID : 28 Format : UTF-8 Codec ID : S_TEXT/UTF8 Codec ID/Info : UTF-8 Plain Text Duration : 48 min 48 s Bit rate : 54 b/s Frame rate : 0.192 FPS Count of elements : 561 Stream size : 19.6 KiB (0%) Language : Latvian Default : No Forced : No Text #27 ID : 29 Format : UTF-8 Codec ID : S_TEXT/UTF8 Codec ID/Info : UTF-8 Plain Text Duration : 48 min 48 s Bit rate : 54 b/s Frame rate : 0.194 FPS Count of elements : 569 Stream size : 19.5 KiB (0%) Language : Malay Default : No Forced : No Text #28 ID : 30 Format : UTF-8 Codec ID : S_TEXT/UTF8 Codec ID/Info : UTF-8 Plain Text Duration : 48 min 48 s Bit rate : 43 b/s Frame rate : 0.153 FPS Count of elements : 449 Stream size : 15.7 KiB (0%) Language : Dutch Default : No Forced : No Text #29 ID : 31 Format : UTF-8 Codec ID : S_TEXT/UTF8 Codec ID/Info : UTF-8 Plain Text Duration : 48 min 48 s Bit rate : 46 b/s Frame rate : 0.156 FPS Count of elements : 457 Stream size : 16.5 KiB (0%) Language : Norwegian Default : No Forced : No Text #30 ID : 32 Format : UTF-8 Codec ID : S_TEXT/UTF8 Codec ID/Info : UTF-8 Plain Text Duration : 48 min 48 s Bit rate : 46 b/s Frame rate : 0.185 FPS Count of elements : 541 Stream size : 16.6 KiB (0%) Language : Polish Default : No Forced : No Text #31 ID : 33 Format : UTF-8 Codec ID : S_TEXT/UTF8 Codec ID/Info : UTF-8 Plain Text Duration : 48 min 48 s Bit rate : 53 b/s Frame rate : 0.193 FPS Count of elements : 564 Stream size : 19.1 KiB (0%) Language : Portuguese Default : No Forced : No Text #32 ID : 34 Format : UTF-8 Codec ID : S_TEXT/UTF8 Codec ID/Info : UTF-8 Plain Text Duration : 48 min 48 s Bit rate : 50 b/s Frame rate : 0.182 FPS Count of elements : 534 Stream size : 17.9 KiB (0%) Title : Brazilian Language : Portuguese (BR) Default : No Forced : No Text #33 ID : 35 Format : UTF-8 Codec ID : S_TEXT/UTF8 Codec ID/Info : UTF-8 Plain Text Duration : 48 min 48 s Bit rate : 78 b/s Frame rate : 0.189 FPS Count of elements : 553 Stream size : 28.0 KiB (0%) Language : Russian Default : No Forced : No Text #34 ID : 36 Format : UTF-8 Codec ID : S_TEXT/UTF8 Codec ID/Info : UTF-8 Plain Text Duration : 48 min 48 s Bit rate : 49 b/s Frame rate : 0.194 FPS Count of elements : 567 Stream size : 17.8 KiB (0%) Language : Slovak Default : No Forced : No Text #35 ID : 37 Format : UTF-8 Codec ID : S_TEXT/UTF8 Codec ID/Info : UTF-8 Plain Text Duration : 48 min 48 s Bit rate : 43 b/s Frame rate : 0.168 FPS Count of elements : 493 Stream size : 15.5 KiB (0%) Language : Slovenian Default : No Forced : No Text #36 ID : 38 Format : UTF-8 Codec ID : S_TEXT/UTF8 Codec ID/Info : UTF-8 Plain Text Duration : 48 min 48 s Bit rate : 51 b/s Frame rate : 0.194 FPS Count of elements : 567 Stream size : 18.6 KiB (0%) Language : Swedish Default : No Forced : No Text #37 ID : 39 Format : UTF-8 Codec ID : S_TEXT/UTF8 Codec ID/Info : UTF-8 Plain Text Duration : 48 min 48 s Bit rate : 180 b/s Frame rate : 0.195 FPS Count of elements : 571 Stream size : 64.4 KiB (0%) Language : Tamil Default : No Forced : No Text #38 ID : 40 Format : UTF-8 Codec ID : S_TEXT/UTF8 Codec ID/Info : UTF-8 Plain Text Duration : 48 min 48 s Bit rate : 163 b/s Frame rate : 0.195 FPS Count of elements : 571 Stream size : 58.5 KiB (0%) Language : Telugu Default : No Forced : No Text #39 ID : 41 Format : UTF-8 Codec ID : S_TEXT/UTF8 Codec ID/Info : UTF-8 Plain Text Duration : 48 min 48 s Bit rate : 106 b/s Frame rate : 0.195 FPS Count of elements : 571 Stream size : 38.1 KiB (0%) Language : Thai Default : No Forced : No Text #40 ID : 42 Format : UTF-8 Codec ID : S_TEXT/UTF8 Codec ID/Info : UTF-8 Plain Text Duration : 48 min 48 s Bit rate : 51 b/s Frame rate : 0.190 FPS Count of elements : 557 Stream size : 18.4 KiB (0%) Language : Turkish Default : No Forced : No Text #41 ID : 43 Format : UTF-8 Codec ID : S_TEXT/UTF8 Codec ID/Info : UTF-8 Plain Text Duration : 48 min 48 s Bit rate : 77 b/s Frame rate : 0.195 FPS Count of elements : 570 Stream size : 27.6 KiB (0%) Language : Ukrainian Default : No Forced : No Text #42 ID : 44 Format : UTF-8 Codec ID : S_TEXT/UTF8 Codec ID/Info : UTF-8 Plain Text Duration : 48 min 48 s Bit rate : 68 b/s Frame rate : 0.195 FPS Count of elements : 570 Stream size : 24.6 KiB (0%) Language : Vietnamese Default : No Forced : No Text #43 ID : 45 Format : UTF-8 Codec ID : S_TEXT/UTF8 Codec ID/Info : UTF-8 Plain Text Duration : 48 min 48 s Bit rate : 40 b/s Frame rate : 0.195 FPS Count of elements : 572 Stream size : 14.6 KiB (0%) Title : Traditional Language : Cantonese (Hant) Default : No Forced : No Menu 00:00:00.000 : en:Studio Logo 00:00:08.963 : en:Recap 00:01:11.147 : en:Scene 01 00:05:46.480 : en:Intro 00:07:47.313 : en:Scene 02 00:42:39.000 : en:Credits
Author
Owner

@TimGels commented on GitHub (Mar 2, 2024):

Hi!

Thanks for your fast response and the additional provided information! I want to put out a disclaimer that I have not tested every combination of tracks and languages with Matroska (mkv) files and Jellyfin and that I do not consider myself an expert on the Matroska specification. But I will try to provide you with a workaround that should work in your specific circumstance, for the file you have provided the media information for.

Do i understand correct, that if there are forced subtitles in the video
file, jellyfin wil pick that one and not the prefered sub language you set?
Because it only happens with multisubs and most of the time the english
subs are forced like the example i added.

I had to test this myself, and your assumption/ observation about the forced one being selected, even when the preferred subtitle language is set to another language, appears to be correct. As a workaround you can turn on "Smart" subtitle mode to tell / trick Jellyfin web to select one of the subtitle tracks of your preferred language, without it loading the forced subtitle of another language. This works when the audio track language is different from your subtitle track language that you want to see.

Another workaround is using the "Always Play" subtitle mode. This will ensure that a subtitle will be selected that matches your preferred subtitle language, regardless of the selected audio track language. In both cases you need to make sure that you have selected Dutch as preferred subtitle language.

I think jellyfin must always force the prefered sub language, thats what
other players do aswel.

This is a very reasonable assumption to make. I think that for the most part, that would work out and is how it should be done. I have noticed that some media players (Including Jellyfin web, when the default subtitle mode is used) see a "Forced" tag as an end all be all selection indicator, and that it should always be selected, regardless of language preference and the language of the selected audio track. This is what is currently working against you, with the specific file you try to play due to one of the English subtitle tracks having a Forced tag. But this is an incorrect/ unfaithful implementation of the mkv specification. To my understanding, the Forced flag should only be considered when the same language as the audio track language is being used. Forced does not mean it should always be used, even when the same audio language track is being used. But to keep things simple and relevant, I will not go into that detail here.

Let me know if the workaround(s) work for you.

@TimGels commented on GitHub (Mar 2, 2024): Hi! Thanks for your fast response and the additional provided information! I want to put out a disclaimer that I have not tested every combination of tracks and languages with Matroska (mkv) files and Jellyfin and that I do not consider myself an expert on the Matroska specification. But I will try to provide you with a workaround that should work in your specific circumstance, for the file you have provided the media information for. > Do i understand correct, that if there are forced subtitles in the video file, jellyfin wil pick that one and not the prefered sub language you set? Because it only happens with multisubs and most of the time the english subs are forced like the example i added. I had to test this myself, and your assumption/ observation about the forced one being selected, even when the preferred subtitle language is set to another language, appears to be correct. As a workaround you can turn on "Smart" subtitle mode to tell / trick Jellyfin web to select one of the subtitle tracks of your preferred language, without it loading the forced subtitle of another language. This works when the audio track language is different from your subtitle track language that you want to see. Another workaround is using the "Always Play" subtitle mode. This will ensure that a subtitle will be selected that matches your preferred subtitle language, regardless of the selected audio track language. In both cases you need to make sure that you have selected Dutch as preferred subtitle language. > I think jellyfin must always force the prefered sub language, thats what other players do aswel. This is a very reasonable assumption to make. I think that for the most part, that would work out and is how it should be done. I have noticed that some media players (Including Jellyfin web, when the default subtitle mode is used) see a "Forced" tag as an end all be all selection indicator, and that it should always be selected, regardless of language preference and the language of the selected audio track. This is what is currently working against you, with the specific file you try to play due to one of the English subtitle tracks having a Forced tag. But this is an incorrect/ unfaithful implementation of the mkv specification. To my understanding, the Forced flag should only be considered when the same language as the audio track language is being used. Forced does not mean it should always be used, even when the same audio language track is being used. But to keep things simple and relevant, I will not go into that detail here. Let me know if the workaround(s) work for you.
Author
Owner

@Certefied commented on GitHub (Mar 2, 2024):

Hi Tim,

Thanks for the help, It is working now.
I set the subtitle choice to "smart" that wasn't the total solution.
After that i unchecked in player settings "Set subtitle track based on
previous item" That did the trick.

Verry happy now.

Greetz, Franco Wiltink

Op za 2 mrt 2024 om 01:57 schreef Tim Gels @.***>:

Hi!

Thanks for your fast response and the additional provided information! I
want to put out a disclaimer that I have not tested every combination of
tracks and languages with Matroska (mkv) files and Jellyfin and that I am
not an excert of the Matroska specification. But I will try to provide you
with a workaround that should work in your specific circumstance, for the
file you have provided the media information for.

Do i understand correct, that if there are forced subtitles in the video
file, jellyfin wil pick that one and not the prefered sub language you set?
Because it only happens with multisubs and most of the time the english
subs are forced like the example i added.

I had to test this myself, and your assumption about the forced one being
selected, even when the preferred subtitle language is set to another
language, appears to be correct. As a workaround you can turn on "Smart"
subtitle mode to tell / trick Jellyfin web to select one of the subtitle
tracks of your preferred language, without it loading the forced subtitle
of another language. This works when the audio track language is different
from your subtitle track language that you want to see.

Another workaround is using the "Always Play" subtitle mode. This will
ensure that a subtitle will be selected that matches your preferred
subtitle language, regardless of the selected audio track language. In both
cases you need to make sure that you have selected Dutch as preferred
subtitle language.

I think jellyfin must always force the prefered sub language, thats what
other players do aswel.

This is a very reasonable assumption to make. I think that for the most
part, that would work out and is how it should be done. I have noticed that
some media players (Including Jellyfin web, when the default subtitle mode
is used) see a "Forced" tag as an end all be all selection indicator, and
that it should always be selected, regardless of language preference and
the language of the selected audio track. This is what is currently working
against you, with the specific file you try to play due to one of the
English subtitle tracks having a Forced tag. But this is an incorrect/
unfaithful implementation of the mkv specification. To my understanding,
the Forced flag should only be considered when the same language as the
audio track language is being used. Forced does not mean it should always
be used, even when the same audio language track is being used. But to keep
things simple and relevant, I will not go into that detail here.

Let me know if the workaround(s) work for you.


Reply to this email directly, view it on GitHub
https://github.com/jellyfin/jellyfin/issues/10829#issuecomment-1974148876,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AW37ZFZAQ4HCKILC7I5MVU3YWEPX5AVCNFSM6AAAAABBQSNV2KVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNZUGE2DQOBXGY
.
You are receiving this because you authored the thread.Message ID:
@.***>

--
Groeten,

Franco

@Certefied commented on GitHub (Mar 2, 2024): Hi Tim, Thanks for the help, It is working now. I set the subtitle choice to "smart" that wasn't the total solution. After that i unchecked in player settings "Set subtitle track based on previous item" That did the trick. Verry happy now. Greetz, Franco Wiltink Op za 2 mrt 2024 om 01:57 schreef Tim Gels ***@***.***>: > Hi! > > Thanks for your fast response and the additional provided information! I > want to put out a disclaimer that I have not tested every combination of > tracks and languages with Matroska (mkv) files and Jellyfin and that I am > not an excert of the Matroska specification. But I will try to provide you > with a workaround that should work in your specific circumstance, for the > file you have provided the media information for. > > Do i understand correct, that if there are forced subtitles in the video > file, jellyfin wil pick that one and not the prefered sub language you set? > Because it only happens with multisubs and most of the time the english > subs are forced like the example i added. > > I had to test this myself, and your assumption about the forced one being > selected, even when the preferred subtitle language is set to another > language, appears to be correct. As a workaround you can turn on "Smart" > subtitle mode to tell / trick Jellyfin web to select one of the subtitle > tracks of your preferred language, without it loading the forced subtitle > of another language. This works when the audio track language is different > from your subtitle track language that you want to see. > > Another workaround is using the "Always Play" subtitle mode. This will > ensure that a subtitle will be selected that matches your preferred > subtitle language, regardless of the selected audio track language. In both > cases you need to make sure that you have selected Dutch as preferred > subtitle language. > > I think jellyfin must always force the prefered sub language, thats what > other players do aswel. > > This is a very reasonable assumption to make. I think that for the most > part, that would work out and is how it should be done. I have noticed that > some media players (Including Jellyfin web, when the default subtitle mode > is used) see a "Forced" tag as an end all be all selection indicator, and > that it should always be selected, regardless of language preference and > the language of the selected audio track. This is what is currently working > against you, with the specific file you try to play due to one of the > English subtitle tracks having a Forced tag. But this is an incorrect/ > unfaithful implementation of the mkv specification. To my understanding, > the Forced flag should only be considered when the same language as the > audio track language is being used. Forced does not mean it should always > be used, even when the same audio language track is being used. But to keep > things simple and relevant, I will not go into that detail here. > > Let me know if the workaround(s) work for you. > > — > Reply to this email directly, view it on GitHub > <https://github.com/jellyfin/jellyfin/issues/10829#issuecomment-1974148876>, > or unsubscribe > <https://github.com/notifications/unsubscribe-auth/AW37ZFZAQ4HCKILC7I5MVU3YWEPX5AVCNFSM6AAAAABBQSNV2KVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNZUGE2DQOBXGY> > . > You are receiving this because you authored the thread.Message ID: > ***@***.***> > -- Groeten, Franco
Author
Owner

@TimGels commented on GitHub (Mar 2, 2024):

Interesting. That "remember subtitle track" feature seems to have some quirks. But I am currently not 100% sure how it should behave. Right now it sometimes looks like it overrides everything else. Glad you got it working!

@TimGels commented on GitHub (Mar 2, 2024): Interesting. That "remember subtitle track" feature seems to have some quirks. But I am currently not 100% sure how it should behave. Right now it sometimes looks like it overrides everything else. Glad you got it working!
Author
Owner

@TimGels commented on GitHub (Mar 2, 2024):

I will leave this issue open for now as bug regarding the behavior of the "Forced" flag.

@TimGels commented on GitHub (Mar 2, 2024): I will leave this issue open for now as bug regarding the behavior of the "Forced" flag.
Author
Owner

@rxbrad commented on GitHub (Apr 13, 2024):

Chiming in with another example of non-preferred language Forced subtitles being chosen. Currently running unstable Docker v2024040805.

Subtitle settings set to English:
image

Defaulting to German Forced subtitles:
image

The Forced German subtitles continue to be chosen whether the Subtitle mode is set to "Default", "Smart", or "Only Forced".

The English subs are correctly selected for "Always Play"; and no subtitles are correctly selected for "None".

@rxbrad commented on GitHub (Apr 13, 2024): Chiming in with another example of non-preferred language Forced subtitles being chosen. Currently running unstable Docker v2024040805. Subtitle settings set to English: ![image](https://github.com/jellyfin/jellyfin/assets/13750413/42e82023-752f-4db8-b8a9-10364d24ce54) Defaulting to German Forced subtitles: ![image](https://github.com/jellyfin/jellyfin/assets/13750413/c2661af2-afed-41db-9bee-690d05953c36) The Forced German subtitles continue to be chosen whether the Subtitle mode is set to "Default", "Smart", or "Only Forced". The English subs are correctly selected for "Always Play"; and no subtitles are correctly selected for "None".
Author
Owner

@Snipy2k4 commented on GitHub (Apr 29, 2024):

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...

This happens with LG, the desktop app, S23 and FireTV app when Jellyfin web player is selected. I can switch to Exo or VLC on the FireTV and the S23, but I can't switch to the desktop app on the LG TV App.

@Snipy2k4 commented on GitHub (Apr 29, 2024): 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... This happens with LG, the desktop app, S23 and FireTV app when Jellyfin web player is selected. I can switch to Exo or VLC on the FireTV and the S23, but I can't switch to the desktop app on the LG TV App.
Author
Owner

@japtain-cack commented on GitHub (Jul 8, 2024):

I seem to be having issues with Jellyfin remembering what I set my audio/subtitles to when playing the next episode. If I go back to the home screen, click on the same episode, the subs/audio dropdowns are already correct, all I have to do is hit play. This only happens when I let jellyfin automatically play the next episode. I have disabled smart subtitles, and set my preferred language for audio/subs. I will see if this is still an issue after doing that.

update:
Looks like that did not help. It's still disregarding my settings when automatically playing the next episode.

@japtain-cack commented on GitHub (Jul 8, 2024): I seem to be having issues with Jellyfin remembering what I set my audio/subtitles to when playing the next episode. If I go back to the home screen, click on the same episode, the subs/audio dropdowns are already correct, all I have to do is hit play. This only happens when I let jellyfin automatically play the next episode. I have disabled smart subtitles, and set my preferred language for audio/subs. I will see if this is still an issue after doing that. **update**: Looks like that did not help. It's still disregarding my settings when automatically playing the next episode.
Author
Owner

@Snipy2k4 commented on GitHub (Jul 8, 2024):

Yes, for me too, if I watch an episode that has no subtitles and is set to "Off" and the next episode has forced subtitles, it stays off. Really annoying

@Snipy2k4 commented on GitHub (Jul 8, 2024): Yes, for me too, if I watch an episode that has no subtitles and is set to "Off" and the next episode has forced subtitles, it stays off. Really annoying
Author
Owner

@Alliyance commented on GitHub (Nov 11, 2024):

Having the same issue since many months. Tried SMART, DEFAULT mode, no luck. Still waiting for a fix.

@Alliyance commented on GitHub (Nov 11, 2024): Having the same issue since many months. Tried SMART, DEFAULT mode, no luck. Still waiting for a fix.
Author
Owner

@timminator commented on GitHub (Nov 24, 2024):

The original problem mentioned in this thread, I would not consider an actually issue. That looks to me like the correct behaviour.
But the other two issues mentioned by @rxbrad and @Snipy2k4 I could replicate aswell.

For the first issue raised by @rxbrad I was able to open a pull request with a potential fix.

The second issue seems to be a lot more complicated. I tried to troubleshoot it and I have a theory where in the code and why the issues occurs. But if my suspicion is true, fixing it is way more difficult than the first issue.

My theory:
Inside SessionManager.cs Jellyfin sends a play request and adds the following episodes to this request aswell if EpisodesAutoplay is enabled.
But the request contains only one variable for the correct SubtitleStreamIndex. So this SubtitleStreamIndex will be applied to all episodes.

To fix this:

  • The class containing the play request needs to be updated to contain an array or dictionary with the SubtitleStreamIndices for all episodes added to the play request.
  • The SendPlayCommand inside SessionManager needs to add these indices for all episodes to the play request.
  • Jellyfin Web needs to be able to handle the modified play request.

Furthermore the same issue applies also to the audio language. I don't think anyone watches one episode in another language than the next one, but this property is also overwritten for the following episodes.

@timminator commented on GitHub (Nov 24, 2024): The original problem mentioned in this thread, I would not consider an actually issue. That looks to me like the correct behaviour. But the other two issues mentioned by @rxbrad and @Snipy2k4 I could replicate aswell. For the first issue raised by @rxbrad I was able to open a pull request with a potential fix. The second issue seems to be a lot more complicated. I tried to troubleshoot it and I have a theory where in the code and why the issues occurs. But if my suspicion is true, fixing it is way more difficult than the first issue. My theory: Inside SessionManager.cs Jellyfin sends a play request and adds the following episodes to this request aswell if EpisodesAutoplay is enabled. But the request contains only one variable for the correct SubtitleStreamIndex. So this SubtitleStreamIndex will be applied to all episodes. To fix this: - The class containing the play request needs to be updated to contain an array or dictionary with the SubtitleStreamIndices for all episodes added to the play request. - The SendPlayCommand inside SessionManager needs to add these indices for all episodes to the play request. - Jellyfin Web needs to be able to handle the modified play request. Furthermore the same issue applies also to the audio language. I don't think anyone watches one episode in another language than the next one, but this property is also overwritten for the following episodes.
Author
Owner

@gizmomelb commented on GitHub (Mar 31, 2025):

0.18.6 android tv client tested on google chromecast as well as miibox android media player.

Changing the size of the subtitles in the android app is not respected with the next media played.

Changing subtitle size to 25% in the android app would always have the subtitles back at 100% when the next episode / movie is played.

Enhancement request / bug - the android app should allow the account to choose language AND to enable / disable subtitle choices from the app, not just the web interface please.

@gizmomelb commented on GitHub (Mar 31, 2025): 0.18.6 android tv client tested on google chromecast as well as miibox android media player. Changing the size of the subtitles in the android app is not respected with the next media played. Changing subtitle size to 25% in the android app would always have the subtitles back at 100% when the next episode / movie is played. Enhancement request / bug - the android app should allow the account to choose language AND to enable / disable subtitle choices from the app, not just the web interface please.
Author
Owner

@Gros-Jambon-Fr commented on GitHub (Apr 20, 2025):

Hello guys,

I confirm the beahaviour on Kodi (LibreELEC).

For all my users,, tested with smart, default, always and french as prefered subtitle language. But still "forced french" is selected automatically, instead of French.

@Gros-Jambon-Fr commented on GitHub (Apr 20, 2025): Hello guys, I confirm the beahaviour on Kodi (LibreELEC). For all my users,, tested with smart, default, always and french as prefered subtitle language. But still "forced french" is selected automatically, instead of French.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/jellyfin#5370