Playing Forced Subtitles Only

Hi everyone,

Apologies if this has been answered elsewhere, but I have searched the forums and can’t find a solution. I want to enabled forced subtitles, but can’t seem to get it to work.

My movies are direct MKV rips from my discs, and all include the English subtitle track. For most of my films I do not want subtitles shown as they are in English, but on films where there are sections of foreign language conversation (such as in Sicario 2) where I want those to be subtitled so that I can understand what is being said. I can manually turn the subtitles on and off showing that they are correctly encoded in the rip, but this subtitles everything including English language conversation and audio descriptions of music.

Playing the discs directly works like this. I have tried a number of settings, including only forced subtitles (which is what I assumed it would be) and can only seem to get either no subtitles, or subtitles all of the time (including audio descriptions). What settings do I need to change?

Cheers!

When I rip using MakeMVK, there is a choice for forced subs. If you rip the forced sub it should work properly. Depending of what you are using to do the rip, you may have to specify that it’s a forced sub.

Make sure your MKVs have the proper flags set, so that the forced subtitle track has actually the flag for forced subtitle set. Then when using “forced subtitles” only Kodi will the select the forced one for the language you have defined in Kodi itself and if a matching audio track is present as well.

Not properly flagged in header, then Kodi doesn’t know what the subtitle in intended for. A feature to always read subtitles and display the lines that are marked as forced is not supported by Kodi.

To set flags - in case not present or wrong - open the MKV in MKVToolNix and drag the file in question into the header editor. There you can easily set the flag or add it without any need to remux.

If no matching audio track is present - e.g. Japanese audio only, you have English set in Kodi, and a forced English track is set - Kodi will not automatically select forced subtitles. Though it’s quite an easy patch to fix that. This is a thing team Kodi didn’t like to change as in their mind a forced subtitle track must always matched the played audio track.

There are several things that need to be checked:

  1. Does the movie have a separate track that includes only the forced subtitles? If so, did you include it in the MKV? That’s the track you want. When you create the MKV file, you should set this track to both “Default” and “Forced”. I do this for MKVs of movies I create, and it gives the result you want (only subtitles for non-English dialog are shown, with no user intervention required).
  2. If the movie does not have a separate track with only the forced subtitles, then they must be included in with the general track, and only a few would be marked as “forced”. In this case, selecting this track in Kodi, and also choosing “only forced” should also give you the result you want. If not, it could be a bug.
  3. The last option is to take the track with all the subtitles and use something like BDSup2Sub to export a new track with only the forced subtitles. MakeMKV will also do this is you select “forced only”. From then on, treat it like #1 above.

Thanks for the guidance, really appreciate your help with this.

I have ripped the UHD BD using MakeMKV and just used the standard options. This seems to have included the main title and two sets of English subtitle tracks, both of which look like they also include forced subtitles:

MakeMKV

Looking at the ripped file using MKVToolNix, it seems to show 3 sets of subtitles (I would have expected 2 or 4?), but looking at their properties, none of them are flagged as forced:

This would make sense; although the subtitles are included, Kodi can’t see them flagged as forced and so only shows all subtitles or none and does nothing with the forced only option.

Without having to go back and re-rip several films to only included forced subtitles, how do I determine which of these three subtitle tracks are the forced ones (or is it just a trial and error process)? I presume then I can just flag them as such, and Kodi will do the rest.

Cheers!

I don’t think kodi has a way to recognize a forced sub if it’s not flagged as such during the muxing procedure in mkvtoolnix or makemkv. If you haven’t done so while producing the mkv you’ll have to manually select the correct subtitle from the multiple in the mkv container.

Also looking at the contents of your mkv file I’m not sure why you have all those audio tracks in there. You could save a lot of space by just using the main audio and maybe the directors commentary if that’s your thing and ditching the rest.

It is not obvious to me which subtitle files to rip from the available tracks as there are two ‘forced’ options. Maybe one includes audio description and the other doesn’t? If there is a way of finding out then I can use MKVToolNix to flag the correct one, or do I just have to try them all?

With respect to the audio tracks that are selected, to be honest it’s just what MakeMKV has automatically selected as standard and I haven’t messed around with it. My main system can decode Atmos but my others can’t, so I had assumed that it would be best to keep the other tracks for compatibility across a number of different setups.

On almost every BluRay I’ve every seen, subtitle tracks with SDH descriptions come after the tracks with just subtitles for the spoken words.

I don’t know MakeMKV well enough to know its output, but my guess is that the 3 tracks you have in the resulting file are:

  1. Standard subtitles (including forced)
  2. SDH subtitles (including forced)
  3. Forced only

One way to check is if MakeMKV did not disable the “statistics” when muxing, then you can check the size of the 3 subtitle tracks using Mediainfo. The smallest one will be forced only.

This post might help.

Thanks all!

Sorted by figuring out which of the saved subtitle tracks was the correct one and setting its flag to forced in MKVToolNix. OSMC now correctly picks this up and plays it without playing all of the other subtitles.