Automatically sync forced subtitle language selection with audio language selection

I’m going through the process of transcoding my movie and TV show library. One of my goals is to make sure that the experience is as close to what we get from watching using the physical media as possible. Since different members of the house watch movies in English or French, for every mkv file that I create I want the main English and French audio tracks available, as well as an English forced subtitle track and a French forced subtitle track, if there are any such subtitle tracks available.

I’m currently using my Star Wars movies as a test to see if I can get the results that I want. I’ve transcoded the original Star Wars movie just fine, including both English and French audio tracks, as well as an English forced subtitle track and a French forced subtitle track.

There’s just one issue (admittedly a small one, but an annoyance just the same): there doesn’t seem to be a way within Infuse to ensure that the subtitle track is forced only, and that it automatically is selected to match the language that is playing. i.e. If I’m playing the movie using the English audio track, and English forced subtitles show up when Greedo starts talking, they show up in English. If I change to French and do the same, English (not French) forced subtitles show up when Greedo starts talking. I need to manually change both the audio track and the subtitle track if I want to watch the movie in French with forced French subtitles.

This seems to be an Infuse issue, not a transcoding issue, so I wanted to post the suggestion: please consider offering a new subtitle setting (right now you have On, Forced-only, and Off) that allows the Infuse player to auto-select a forced subtitle track based on the language if the audio track is changed, much like a DVD or Blu-ray player would do. Either that or just make it work that way by default since it’s a logical expectation. i.e. Unless I have a specific, non-forced subtitle track selected, whenever I change the audio track language, auto-select the forced subtitle track that matches the language of the audio track.

P.S. Isn’t it odd to even show forced subtitle tracks as tracks that you can select at all? i.e. If a subtitle track is flagged as forced, or if a subtitle track consists solely of subtitles that are individually flagged as forced, then it should be used automatically, matching the current audio track language, unless a non-forced subtitle track is selected, and you shouldn’t even see forced subtitle tracks as tracks that you can select in the player. Showing those tracks as subtitle tracks that you can select just seems to create confusion that you don’t see when looking at subtitles available on a DVD or a Blu-ray disc menu.

I would like this feature as well. Would be good to be able to tie together audio tracks and subtitle tracks as you suggest.

Sort of fits with my question earlier as well because actually on physical media the forced tracks aren’t often separate tracks at all, they are items from within the overall track that are marked as forced. The rest of the subtitle track is only played when subs are turned on.

Usually it is when you are ripping it that you end up breaking out the forced subs as a separate track (eg. makemkv does this for you).

I would like what you would like but also not to have to separate forced subs out of the overall track. Sometimes the forced subs are separate tracks are separate tracks on the disc (eg. when Chinese is spoken in the Martian that is a separate track and is forced) but very often they are just part of the overall subtitle track but flagged as forced.

Kodi does what you want:

“ Many movies have subtitles encoded for secondary languages spoken during the film – when these are added to the movie, they are known as forced subtitles and are always visible (despite not being hard encoded). Kodi (since v13 Gotham) recognizes and respects the forced flag for showing subtitles (even if subtitles are turned off by default, the forced flag will trigger them being turned on). This requires that the user have set the default languages in Settings in order to function properly. If there are multiple forced subtitles, Kodi will select the forced subtitles that match the default playback language.”

1 Like

Just to add one more comment on this…the MKV specification has it right:

Forced flag

The “forced” flag tells the Matroska Player that it SHOULD display this subtitle track, even if user preferences usually would not call for any subtitles to be displayed alongside the current selected audio track. This can be used to indicate that a track contains translations of onscreen text, or of dialogue spoken in a different language than the track’s primary one.

Infuse doesn’t seem to be properly implemented per the specification when it comes to subtitle support. I’m not sure why there’s a “Forced-only” option for subtitles in Infuse at all, to be honest, because it just confuses things. Subtitles should either be none, or the default track if one is specifically marked as default and a user has subtitles on by default (or the first track if subtitles are on and none are marked as default). If they’re none then a forced subtitle track would be used matching the language of the audio track that is selected (which would change with the selection of a different audio track). That, plus hiding forced subtitle tracks (they shouldn’t be user-selectable) would fix this, match the specification more closely, and mirror what happens in a DVD or Blu-ray player.

Yes, I would agree that that is how things work for a physical disk and is perhaps what the mkv spec says.

I guess one thing about this is that Infuse plays lots of different files other than mkv and not all of them are as clean when it comes to subtitles so it might be quite difficult to have it so specific, although I would agree that it would be nice if it worked that way. I suspect that if you couldnt see the forced subtitle tracks people would likely complain. I guess the matroska format also says “SHOULD” not “MUST” but I do get what you are saying. I like to have everything setup nice and clean and have the experience as close to playing the actual disk as possible just like you but that is mainly because most of my files are direct rips of my own personal UHD blu ray disks. I try to make sure that all subtitles I want are inside the mkv file so it is neater and easier to keep things organized but I do know that lots of people download and apply external subs so implementing as you suggest and hiding the stream may be harder in these cases and cause confusion. However I do think that tying the forced sub stream to the language is straightforward and a sensible addition.

Im not sure if mkv supports it but definitely on physical disks there is often single subtitle streams that have both forced and non-forced items within them and they are not always broken out as a separate stream. I dont know if this is supported in mkv though as they seem to look at the forced label for the overall stream. I would personally prefer to have a single stream like this if I could. The way subs are done on physical disks is actually a bit all over the place and each disk seems to be quite different and have loads of different variants that aren’t mentioned on the case of the movie (e.g. Fury has a crazy number of English streams, some of which seem identical).

Great points. I’m simply taking my physicals and building a digital library out of them, but consideration for others who work from digital only or who want to add subtitle tracks is also warranted.

Maybe simply having a Forced Subtitle Selection: Manual | Automatic | Automatic and Hidden would do the trick here.

Manual is the current behavior.
Automatic would allow for automatic selection/mapping paired with selection of an audio track (i.e. select by language).
Automatic and Hidden would do the same as Automatic, while also hiding forced subtitle tracks from the subtitle selection options (i.e. mirror a DVD/Blu-ray player behavior).

That would cover all bases, and allow people to set up their mkv files with multiple forced subtitle tracks in different languages that work just like a physical player works.

I’d really appreciate if there would be a way to set my subtitle and audio language to something a bit more correct and automatic than relying on what the file itself says or a forced default.

Ideally I’d like to always have the audio in the original language but the subtitle according to my preference list (or not at all).

This would allow me to avoid dubs and subtitles in languages I don’t speak. (Forcing English doesn’t help with either unfortunately.)

I don’t think this merge was correct. I don’t want audio and subtitle languages to match. They might match, but my intention is to always listen to the original language and to avoid unreadable subtitles automatically. Forcing anything won’t help.