Forced Subtitles

Hey Guys

New here - first up, I LOVE this software! I’m a Pro subscriber because I want to support the project, as it has literally transformed my media library from being a thing of frustration to a thing of simplicty and ease, so thank you very much to the devs! ?

Having discovered there’s a forum, I wanted to ask about the only niggle I have ever discovered on the platform is that forced subtitles seem to be entirely ignored. For background; I rip genuine DVD’s to MKV containers, and I serve them to Infuse whole via a NAS/SMB share.

I have forced subtitles turned on in my Infuse settings, and subtitles turned off at the movie level, but movies with foreign language that don’t contain any ‘burned in’ subtitles simply show nothing, so I then have to toggle subtitles on from the pull down menu, which will show subtitles for the entire dialogue. Not a major problem, but unnecessary nontheless.

So the question is, am I setting something up incorrectly, are forced subtitles just not compatible with MKV in some way, or can I provide any more information to help solve the problem going forward?

Thanks in advance!

MBF

Welcome to the forum!

The ‘Forced’ subtitle option in Infuse relies on the subtitle tracks being tagged as forced. This is generally something that is done when creating the MKV files. Unfortunately, if these tags are missing Infuse won’t be able to recognize the tracks as forced.

FWIW, if a track is in fact tagged as forced, Infuse will display the word ‘Forced’ in parenthesis next to it when viewing the list of subtitles in the Playback Menu (swipe down while a video is playing).

1 Like

mkvtoolnix provides the ability to have a quick way to set a subtitle as forced tag=true. Header editor section will show all those details.

1 Like

Thank you both, that’s really interesting. What perplexes me is that if I play the original DVD’s (via DVD player) the forced subtitles kick in just fine, so it’s kind of like the MKV tool is missing the fact that subtitles are forced, or Infuse is missing the fact that they’re tagged as forced. Sadly I’m up to about 600 movies, so going back and marking them as forced manually is never going to happen. ?

You have 600 that need subtitles, or 600 total? I’m guessing the hard part is determining which movie and which subtitle track.
Here’s a good list:

1 Like

Forced subs are not supported w/ BD-.iso’s to my observation. Movies such as “Avatar” or “District 9” carry alone forced flags - but Infuse entirely ignores them. Can anyone confirm? Maybe a BD-Java issue.

I just don’t see any subtitles working at all Lars, regardless of the original media format. Case in point, we watched FURY the other day. It was ripped directly to MKV using MakeMKV, and I don’t select / unselect any audio tracks of subtitle tracks, they are all included in the MKV, and when played back we needed full subtitles on for the entire movie because about 5% of the movie is in German. Quite frustrating.

I don’t think I’ve ever had InFuse show forced subtitles that weren’t burned into the movie.

I can confirm that, if the subtitles are properly marked as forced in the mkv, Infuse works perfectly.

The problem is not Infuse but the Mkv that was not properly done.
Fixing it is not too difficult or long using mkvtoolnix: files can be processed in batches and the forced subtitle track is usually the smaller in size

By sheer chance I have ripped a DVD this evening which shows up as having a forced subtitles track in MakeMKV. Looking forward to testing. :slight_smile:

An update on this. A newly ripped DVD still didn’t work.

I fail to see how this is a ripping problem and not an Infuse problem, unless Infuse is adhering to some strange standard that everything else ignores. Here’s an example;

I used MakeMKV to create an MKV of the Equalizer - it’s a full DVD rip with all of the included subtitles - including one that stipulates (forced). When I play back via Infuse - nothing - but when I use that same MKV to create an MP4 using handbrake, handbrake picks up on the forced subtitles and burns them in without any manual config.

How can Infuse be the only application that is doing the correct thing, in that scenario?

From what I remember, Handbrake goes through and analyzes the subtitles to the determine which one use only a small subset of the total subtitle count to see if it is a foreign language part or not.

Fascinating. Every day is a learning day, thanks munpip214.

I’m quite deflated about the whole thing. I went down the MKV route because of quick ripping time, consistently good quality and an easy process. I upgraded Infuse because I love the project and because it validated my view that MKV was the way to go, but given how overly complex the forced subtitle situation seems to be, I may as well just start ripping everything to MP4.

If only Infuse could analyse the subtitles to determine the smallest subtitle count like Handbrake, my problems would be over and the product would be absolutely perfect…

You’re mistakenly calling those ‘forced’. ‘Forced’ subtitles are a particular tag in the mkv container. That’s not what your dvd player is doing.

The DVD player has a language set, and if the audio is tagged as a different language, the DVD player shows the subtitle of the configured language. So eg if you set the DVD player to english, and load a movie with a spanish audio track (tagged as such) and there is an english sub track, the DVD player will show that english sub for you. This is “foreign audio” not “forced subtitle”. The sub track on the DVD is not “forced”, it just matches your language setting and differs from the audio track.

You can work around this in your rips by setting the forced flag for your language sub, when the main audio track is a foreign language.

However, infuse should turn on the sub for you just like the DVD player does, without requiring that ‘forced’ flag.

See Wanted: An additional subtitle options

you can easily fix this with mkvpropedit.

in pseudocode:

for movie in `find . -name '*.mkv'`
do
  [ ... use mkvinfo to discover default audio track ...]
  if $def_audio_lang != "eng"
  then
    first_eng_sub = [ ... use mkvinfo to discover first english sub track ...]
   [ ... use mkvpropedit to set $first_eng_sub forced flag ... ]
  fi
done

makeMKV always shows a forced sub track. it doesn’t know if one is there or not until it rips it. in this case, there wasn’t one, or you have infuse set to “subtitles off”.

I double checked this on my extended version of Avatar. I ripped it a long time ago but I made sure that I only selected the ‘forced subs’ track within MakeMKV. Within infuse you need your subtitles switched on (and select that track that has forced subs) in my case I only have one which states ‘Eng default’. But if I added all of the tracks I would have two English tracks, one would be all subtitles and forced, and the other is just forced.

There is no issues within Infuse if correctly ripped.

Hi Dean

Thanks for your additional info.

I understand what you’re saying (I think) but even given that, Infuse‘a implementation of subtitles still doesn’t make sense to me. I’ll clarify what I do and see if that helps:

Rip the movie using MakeMKV

  • I choose only the main title but I don’t manually select subtitles, though I do always make sure that English (forced) is among them if I’m aware of foreign audio.

Copy that MKV container over to my storage.

In Settings > Playback > Subtitles, it’s set to “forced only” which I would assume that infuse will only show subtitles which have been forced. The other options are on/off after all…

Under language, everything is set to Auto.

I playback the movie and get zero subtitles. If I then go into the options during playback and turn subtitles on, I just get full English subtitles for everything, including the foreign audio.

The point is, I’m actively ensuring forced subtitles are selected when I rip, I’ve enabled forced only in the general settings, indicating that I only want subtitles for foreign audio and Infuse knows my main language is English.

I’m not sure what else I can possibly do?

Handbrake seems to handle this really easily, and another poster states that it does that by choosing the smallest subtitle file and using that, which for me begs the question, why doesn’t infuse just do the same thing instead of relying on me not having “ripped it wrong” at a point in time before I’ve even seen the movie and don’t know yet if there’s any foreign language as part of the movie?

Call me expectant, but it seems like none of the options for this in Infuse actually do what their function describes…

Or am I expecting too much?

That is all well and good, but the DVD player works out there’s a forced track when playing the disc back, and Handbrake works out from the MKV (that supposedly doesn’t include a forced track) that there are forced subtitles.

Infuse is the only thing seemingly not able to handle my rips. If it’s that fussy, I suggest infuse either needs to get smarter, or publish a guide for ripping discs in a way it can handle, if it’s that fussy…

You are doing the ripping correctly. The only thing is that makemkv does not set the mkv forced flag. In my experience, every time I ripped a movie, makemkv just says that the forced subtitle track was empty and removed. All of the “forced” tracks just appear to be regular tracks. This flag needs to be set manually after ripping (use mkvtoolnix or others). Once the mkv is flagged then the infuse knows to play it. A may take a little time but probably a good idea to just go and mark them.

It’s not quite as simple to just make infuse smarter. What if you have only one track? Default subtitles or foreign language? What if multiple track of the same size? It it probably be more frustrating if infuse gets it wrong and you have to manually correct it. They could add other options like checking language of the tracks but even that would have to be manually edited as foreign language tracks are sometimes the same language coding as the regular subtitles.

OK, I’ve never seen that option (in the main settings) nor have I changed it. I’m talking about the settings within the player.

So I’ve done the same as you with Avatar. I click Avatar and it starts playing, I pause it, hit the settings button (cog), click subtitles and click English. As forced subtitles is the only one I have it will still say (English Default). Now this shows me only the forced subtitles which to me is the Navi language.

I would double check this on yours when playing a video.

Note: I’m using the latest version as I’m on the old (discounted) legacy subscription. If you’re using older versions this maybe why?