Subtitles - Help Please

OK. Thanks. I guess I wasn’t picking up that MakeMKV was the culprit.

That post is a mess to try and understand but I’ll tackle it with a clear mind tomorrow. It’s been a long day.

Plex handles subtitles 100% correctly, if they are labeled correctly. If this information is not there, not even blu-ray players can do subs correctly. The problem here happens because MakeMKV by default does NOT capture this information properly when it creates the video file.

Long post ahead, in-depth. Use as a summary or ignore as you wish:

In your example Kill Bill Volume 1 file, I count 7 subtitle tracks. None of them have a descriptor for them, so we must infer the contents of the subtitles by the other “tags” that these subtitle tracks. Two of the files (track 4, and track 15) are english. MOST LIKELY whatever program you used to make this file rip captured the languages correctly, so we can take those on faith.

Usually at this point, the subtitle would have a name/description that mentions whether the contents of the subtitle is "Closed Captions (CC), Subtitles for the Deaf and Hard of Hearing (SDH), or Non-english parts only (Forced). The program you used did not capture this information. Plex (and MKVTools) cannot discover this information if it does not exist.

The best way to find it out what the contents of the subtitle tracks is would be to play the file, enable the first english track, and watch it for a minute. If text appears during a speaking part, then it is CC or SDH. The only difference between the two types is usually stylizing and symbols that indicates music lyrics, or important info that would be inferred if you could actually hear it (if someone not on screen talks, it will have the context: [OFF SCREEN] "Hello Jim, how are you?"

a “Forced” subtitle is harder to detect. These only appear during non-english speaking parts or for translating on-screen text. The way I use to determine if a subtitle is Forced, is to see if ANY text appears on screen when someone talks in english. If none do, you can be pretty sure it’s probably “forced”, but this doesn’t 100% confirm that it is forced. You have to know of the spot where there is non-english and watch that. In Anime, intro/outro songs are usually translated in “forced” subs, but not dialogue, so that can be a quick hint.
Once you determine what kind of content these subtitle tracks are, it is very good practice to lock this info back into the file. MKVTools allows you to write descriptions for each track, and placing “SDH” or “forced” into this text field will save you headache in the future (such as when watching it via Plex).

However, this information is just text. Plex will not magically discover if a text file is forced or not based on the name. It would be too much work to figure out if “forced” and “Forced” and “Non-english parts only” and “non english parts only” all refer to an actual forced track. This is where the “Forced display” tag is good for. If you load the video file into MKVTools, you will see that you can ‘tick’ a green “yes” checkmark or red “no” circle for every single track. Currently, in your file, this field is ‘ticked’ as “yes” for the first english subtitle, track 5. Based on what you said half an hour ago, this subtitle file isn’t really a “forced” sub. Neither is subtitle track 15. I suspect MakeMKV didn’t pull all the tracks (gaps in the numbering).

If it was truly a “Forced” subtitle, and you marked it as such in MKVTools, then Plex will be able to see that, and will properly play it automatically for videos based on your subtitle settings.

At this point myself, I’d re-rip the file once more. Try to find out if there are more sub tracks you missed on ripping. Also, unless you need Spanish, Japanese, Korean, etc tracks, I’d recommend stripping those out of the file, but it’s a personal choice for that.

This is a lot of great information. Thank you. Can you take a look at the forum link from Tom80H above and determine whether making these changes to the MakeMKV profile will accomplish the needs you’ve outlined? Actually, it appears in my setup that I didn’t even have a default profile file in the proper position, but now I’ve enabled that. Will, or should, this change, satisfy the requirements? I will take your suggestion and re-rip the file.

Actually, it appears in my MakeMKV setup that I didn’t even have a default profile file in the proper position, but now I’ve extracted one as described in the forum post. Will, or should, this change, satisfy the requirements?

Tom will know more. I don’t get my videos using MakeMKV, so I have no experience with it or how to set it up. I am looking around at questions on their forums, and it seems that the MakeMKV program can detect “forced” subs, but it will strangely not mark them as “forced” in the MKV file itself, which to me seems like a HUGE oversight. If the MKV structure supports the “forced” flag, why not set it when a track is forced?

Looking at the article Tom linked, it’s a short tutorial that explains how to make a [PROFILENAME].mmcp.xml file, and mentions where to place it. It appears that MakeMKV looks for the presence of such a file and will automatically do certain things in it every time you start extracting a movie. In the article’s case, the OP wants to have MakeMKV mark the first subtitle it finds as “default”. So doing exactly what it states would not work here, as we don’t really want to have MakeMKV mark the very first subtitle as “default”


(I HAVE NOT TESTED THE FOLLOWING ASSUMPTION)
AFAIK, Plex doesn’t much care about the “default” flag if you have the languages set. If there is a language in the file that matches what the player requests, it plays that track, regardless of the default flag. It’s possible that Plex will fall back upon looking at a “default” flag if there are two possible tracks of the same language (‘regular dialog’ and ‘cast commentary’ tracks, for example), but I think Plex will just use whichever is first.

Well, the same should be for subtitle flags. Under your current settings, your player requests english audio. It should - by default - not play any english subtitle, since you requested you only want subs if the language track is not in english. However, forced subtitles over-ride this behavior. If there is a track that is the same language as the audio track and it is marked forced, Plex will play it anyway, since we actually do want this one to play with the english audio track.

I believe I now have the correct default xml profile file in place. It didn’t exist in my MakeMKV setup prior to this exercise. Thanks to Tom’s suggestion I was able to identify it and place it in the data folder. So, I’ll give it a test this afternoon, and do the Plex Dance steps to replace the Kill Bill v1 movie file in Plex.

Do you use a different software to rip your movies that does a better job, especially with subtitles, than MakeMKV?

I’m up for any suggestions and I very much appreciate you sharing your knowledge. Thanks!

I don’t think that this will do any good. All it does is to light up the “default” flag on the first subtitle stream.
But Plex does ignore the default flag. All it cares for is the “forced” flag.

Oups… you’re right. I’ve copied that link from another thread there that was about how to get MakeMKV to write the forced flag to its output file.

Doing some more research there, it seems to be … complicated

I’m in the middle of re-ripping my blu-rays and dvd’s to HEVC (just to save hard drive space). I’m not 100% sure, but if you have the preferred language configured in MakeMKV, the forced subs (if they exist) will become the default subtitle. I only keep the audio and subtitles I need (English) and those tracks are automatically selected and other language de-selected. The resulting file automatically plays the forced subtitle when I have subtitles enabled in a player.

As mentioned, Plex does not pay attention to the default flag, but a quick inspection and edit in the Header Editor tab in MKV_Toolnix (or your preferred metadata editor) can add the “Forced” attribute pretty easily.

Thanks for sticking with this.

Here is the last post of a forum post (last post 2020) in which someone wants to set forced subs. The consensus seems to be that MakeMKV just doesn’t care/use/set the forced flag in the files it creates. It seems even the blue-rays or DVDs themselves don’t use the flag (or at least not in a format that MakeMKV can detect?). Instead, discs simply set the forced subtitle as “default” and “enabled”, expecting that if someone wants real CC subs, they would go into the disc menu and choose that specifically.

Relying on this, MakeMKV does have an option to set the default subtitle as “default” using the flag, but it still refuses to allow you to set the “forced” flag at all. Plex (in my opinion) properly ignores default flags, and relies instead on the languages of the tracks to determine which to play. If you request english tracks, it will pick one if it exists. And you can have a subtitle option in the player on whether you prefer to use english subs with english audio (for those that like CC on all the time).

If you look at the final post I linked, they mention another setting that can be entered in your custom profile: setFirstForcedSubtitleTrackAsDefault=“true”. This ought to get you fairly close to what you need for Plex, but you will have to run it through MKVTools or any other metadata editor to enable the “forced” flag for this subtitle.

They mention another flag that would be great to have, but I think they made it up. They state that they wish it existed and would have been perfect for our situation. setFirstForcedSubtitleTrackAsForced=“true”

Honestly, I’m shaking my head at all of this DVD/BR tech. It seems like there are some great organizational tools for explicitly defining various terms and flags, but almost no DVD/BR producers ever bother to put in the effort to use any of them.

This is the first part of the default.mmcp.xml file that ships with MakeMKV (73, I think). It’s not inserted into your data directory where custom profiles should be placed by default. You can see that it has the setFirstForcedSubtitleTrackAsDefault=“true” parameter set. I don’t think I edited this file at all. I only copied it from the .tar to the proper data directory.

So, I’m going to make another copy of Kill Bill 1 and take a look at the header.

After updating the xml profile file, I re-ripped Kill Bill v1, but the hoped for values didn’t get set. I did see an error in the MakeMKV startup that it had detected multiple custom profiles, so I’m going to have to try and track that mess down.

First of all, I’d like to thank all of you that have offered help on this topic. I’ve finally made some progress.

Initially, I re-ripped the film (Kill Bill 1) and used MKVToolNix to edit the (first English sub track) “forced” parameter to “true.” I tried a custom profile for MakeMKV to set the value during the rip, but it didn’t work. I’m still working on that. There were 2 English subtitle entries, and I picked the first one. After the edit, I had the following values.

Then, I restored the file to Plex and did the Plex Dance. Plex showed the following for subtitles…

When I played the movie, subtitles were on constantly, which was not my intention.

So, I removed the files from Plex and edited the header again to include the second English subtitle.

I then replaced the files and did the Plex Dance again which gave a second choice for subtitles.

Not making a change in the selection, I played the movie again with the same results; constant subtitles. I then selected the second subtitle menu and it FINALLY worked as I’d hoped and expected! The subtitles were actually even a different color and font that those I’d seen before.

So, now my question is “how do you know” or is it just a trial and error situation to select the proper “forced” track? Is there any magic to it?

If I were a YouTube creator, I’d think this would make a great video topic. There’s a lot to know about subtitles. You guys have presented the knowledge here in this post, but it’s a lot to sort out in this format.

But anyway, thanks again. On to Kill Bill vol. 2, and I still want to see if I can get a MakeMKV custom profile to set this values automatically.

It’s hard to tell which is which. Unless you can open up the subtitle track itself (some MKVTool apps let you extract single tracks) and look at the data in it, it’s mostly trial and error.

It’s often best to have a local computer video player (cough VLC cough) to play the newly ripped file from your DVD. When you play the file, you can select each subtitle track one-by-one and see it play right then and there. Once you determine one track that IS ENABLED but doesn’t seem to be showing any subtitles at all during normal speech, you most likely have found the “forced” track. Remember which track was the forced (for example, was it the first subtitle? second?).

Then, load the file into MKVTools. Remember which track was the forced track from before? Mark that - and only that - as forced. It does not need to be default, and it does not need to be first. MKVTools will spit out a copy of the file with the flag now set for that track. Get rid of the old file. Put the new file to where Plex can see it. Plex Dance it if you already added the movie to Plex previously.

Yes, it takes a few extra steps every time you rip a video. Unfortunately, DVD/BR makers did not design them with the intention people would later rip them to a digital file, so we have to add these forced flags ourselves every time.

(FYI, I think some programs can tell you the FILESIZE of each subtitle track. Forced subtitle tracks are pretty much always going to be much much smaller than any other kind of subtitle… Often close to 1% the size of the rest. If your ripper program shows the file size of the subs, look for that info.)

Your screenshots say that you’ve put the “forced” flag on both subtitle streams.
I’m pretty sure that at least one of these is wrong.

Download MediaInfo
It can tell you the “number of items” in each subtitle stream.
Forced subtitles are usually those with the least number of items (unless there are some specialties, like “song lyrics” or “commentary speaker identification” etc.)
The order in which mediainfo is showing the tracks is the same as they appear in MKVtoolnix.

Remaining doubts can be solved by looking at the subtitles themselves.
Subtitle Edit has proven invaluable to me for this and other purposes.

Thanks! I had downloaded and installed MediaInfo but I didn’t know how to make much sense of it. But, now I can see what you mean about the Count of Elements parameter. I will also take a look at Subtitle Edit.

Thank you, once again. I do normally use VLC to check my rips before sending them to Plex on my NAS. Now that I know more about the subtitle tracks I’ll better know how to use it to check for proper performance. What video player do you use?

Somewhere in my research, possibly in a post on this topic I found this spreadsheet that has a bunch of information about movies and their subtitles. Could one of you gurus take a look and give me a bit of information about what it means, please? I looked specifically at the listing for Kill Bill v1. I also just looked at Jack Ryan: Shadow Recruit and it seems to actually point out the proper forced track?? Thanks in advance!!

I use VLC. It’s why I recommended it for use to preview your videos. With subtitles, it is really important to play the video on VLC for a bit to properly identify the subtitle tracks. Then throw it through MKVTools to place the proper labels (SDH, Forced, Dialogue, CC, etc) and set the forced flag ONLY on forced tracks. Plex relies on this “Forced” flag to figure out which one to play in case no other subtitle is selected. If you turn it on for a normal CC track, Plex doesn’t know it’s not “forced”. This is why the first time you put it out on Plex, it played what was called a “forced” track, but it was wrong.

That google doc is pretty nice. It looks like they have kept track of a lot of movies that have or require “Forced” tracks in them. In some, they label it “hardcoded” which indicates it is already burned into the video. Think of it like the intro or ending credits, the text is in English and already in the video. In some movies (modern ones), movie companies realized they could make one video and rely on separate “forced” subtitle tracks to provide this info. Unfortunately, it’s hard to tell which is which until you start watching the movie. This doc should let you know to look out for forced subs when you get a movie.