Wanted to follow up in this thread to report my outcome on finally solving this issue for my personal HTPC setup. The good news is I finally have Forced Subs working, the bad news is it wasn't easy to fix and involved a fair amount of manual labor because my collection was so large. But, if you never want to be bothered by foreign language subtitles not working automatically, it's worth the effort to fix... once and for all.
Some of this information is already documented in other threads (on AVS Forum and elsewhere) and mentioned even in this thread, but I'm going to include the steps I used in case someone finds this update helpful.
My basic goal was to have my playback system (WMC7 + Media Browser) display Forced Subtitles automatically without having to fiddle with apps like DirectVobSub (which still required me to Pause the movie and enable the right Subtitle track with trial and error), and certainly not having to permanently burn in subs with Handbrake (which would require multi-hour re-encoding and some loss of quality—if negligible—to the original file.)
As has been mentioned here, the problem I was experiencing wasn't necessarily in the playback software (which many people have reported no problems with), but was due to the original ripping process. I, like many, used MakeMKV to rip my 800+ title collection to lossless-quality MKVs. MakeMKV is great, but unfortunately does not handle Forced Subtitles well at all. When I ripped my titles, I always checked all of the "Forced Subtitle (English)" streams on the disc, and for most of them also checked regular non-forced English subtitles. That means I had to dutifully go back in to every title I have with foreign language passages, and "fix" the forced subtitles to correctly display. Here's the process I used:Note on Playback Software
First, to note my playback software setup: I am using Media Browser
as a front end for WMC7
. While I haven't gone back to see if the native WMC7 player will now work after going through this process, I did end up switching to MPC-HC as an External Player
(defined through the Advanced tab of Media Browser Configuration) as it had more settings related to subtitles. I'm also using LAV Filters only
, configured as External Filters in MPC-HC (look elsewhere for a guide on how to do this, it's fairly easy.) I also happen to be using madVR as the DirectShow Video renderer in MPC-HC, but this doesn't have any bearing on the subtitles and is optional. In any case, I can't guarantee this method will work for any other software configurations.
My LAV Splitter settings
are as follows:
Note the "eng:eng|f;eng:off;*:eng" setting for Subtitles, and I didn't need to specify anything under the PGS setting.Determine the Movies in Your Collection with Foreign Language Subtitles
The first step in fixing Forced Subs on already-ripped MKVs is to determine which of your titles have Forced Subs. The best way to begin is to consult the Movies With Forced Subtitles
thread here on AVS. If you Google it, you'll find a couple of versions of this spreadsheet, one is locked from Editing, and one is open for Editing. Unfortunately the two documents are in different states at this point, so you'll need to consult them both to build a comprehensive list of movies in your library that have Forced Subs
. I made a Text Edit document with all of my movies to fix as a "To-Do" list, as this process will take several days of effort for large collections. I used color-coding for titles like To Be Fixed
, Titles that are Fixed
, and Titles that were on the Movies with Forced Subtitles list but ended up having Burned-in Subs
and therefore didn't need fixing. Because I had so many titles to go through, this system just gave me a nice, quick visual indicator of my progress over the several days it took me to go through them all.Identify the Forced Subtitle Track in Each MKV
Once you've got your list of movies to tackle, the next step is to go through them one-by-one to determine which of the embedded subtitle tracks is the Forced Subtitle. It will be different for every single movie, so this is where the manual labor begins. You'll need to install MKVToolNix
for sure, and then grab any GUIs you need (I personally am not as comfortable or fast using the command line). I grabbed both MKVExtractGUI-2
and MKVMerge GUI
. You'll probably want both.
I would first start with MKVExtractGUI on an MKV, since it's stripped down in features and pretty straightforward:
—Once you've selected your MKV as the Input File, you'll see all the Track numbers for video, audio, and subtitles.
—Select all of the subtitle tracks and hit Extract, and it will create individual .SUP files for each track in the Output directory you've specified (I just used the Desktop for simplicity) and will begin the process of de-muxing the MKV to extract those tracks as files. Unfortunately it takes about 10-15 minutes to do this, BUT you can run multiple instances of the GUI (or command line) on a few different titles on your list if you want to multi-task.
Here's a screenshot showing MKVExtractGUI pulling the .SUP files out of a title, and a Windows Explorer window showing the files it's placed on the Desktop. Note that the filenames created by MKVExtract do not correlate to the true Track #s in the MKV.
This will be important later.NOTE:
MKVExtractGUI is buggy. On several titles, you'll get a screenshot like the one below where there are some tracks with a title that reads "Track:, [eng]"
. If you see this, MKVExtractGUI will not be able to rip the subtitles from this MKV
. If you select the subtitle tracks and hit Extract, it will immediately report "Extracted OK", but will not actually create the .SUP files
. If you have any MKVs with tracks that look like the below screenshot, you're going to need to use MKVMerge GUI instead*
Now that you've got direct access to the .SUP tracks from your MKV, you need to identify which one is the Forced Subtitle (the others will be subtitles like Director's commentary, English for the Hearing Impaired, etc.) The easiest way to identify the Forced Subtitle is to find the .SUP with the smallest file size
. In all of my titles, there was never an instance where the smallest file was NOT the Forced Subtitle. Here, in an example file, you can see that out of all the .SUPs pulled from this MKV of The Incredibles, the Forced Subtitle is pretty obvious: it's the 53KB one, because there are literally only 4 lines of foreign dialog in the movie.
Not all of the Forced Subs you rip will be this easy to identify, so you'll want to download Subtitle Edit
to open the files and ensure you've got the right file by reading a few lines of dialog. It should be pretty obvious whether you've got the right file or not (see below screenshot for an example of Subtitle Edit I used for visual confirmation):Make sure the Forced Subtitle Flag is Enabled
Now that you've identified the exact Subtitle Track from your MKV, the next step is to use MKVMerge GUI's Header Editor
to change the 'Forced display' flag to YES
, and turn off all the other ones.
Here's where it can get tricky, though: when you extracted those .SUP files, MKVExtract created file names with "dumb" sequential track names (i.e. "The Incredibles_track3_eng.sup", then "_track4_", then "_track5_" and so on.) These track numbers in the file name do NOT
necessarily correlate to the Track #s you will see in MKVMerge. In the screenshot below, you can see that while the extracted .SUP files are numbered 3-7 sequentially, the actual subtitle Track #s in the MKV are numbered 3, 5, 7, 9, and 11! Argh!
So how can we correlate which .SUP is which track in MKVMerge? Simple: count them
. The correct track, as noted earlier, is the smallest one in the extracted .SUP files on the Desktop. If you count them out, the fourth file in Windows Exporer, track # 6, is the Forced Subtitle. Now, if you count down 4 Subtitle Tracks in MKVMerge, the fourth Subtitle track listed there is Subtitle track 9! That's the one you want to work with. Not very elegant, but this "counting method" worked for me every time.
To use the Header Editor in MKVMerge to turn this track back on, first make sure you load your MKV into the HEADER EDITOR
of MKVMerge, NOT
as in Input File in the initial GUI screen:
—Open MKVMerge GUI, ignore the Input window you see.
—Go to File> Header editor
(or hit CTRL-E)
—This will open up a second modal dialog box
—Go to File > Open and select your MKV, and it will populate with all the embedded, video, audio, and subtitle tracks in the file.
—Open up the Subtitle track you counted down to (fourth one down in this example, which is Subtitle track 9) by clicking the "+" icon.
—Under 'Forced display' flag, change the Current Value to yes
. (If it was no, this is exactly where/why your subtitles weren't working)
—For safety, I also changed the current value flags of 'Default track' and 'Track enabled' to yes as well
—For even MORE safety, I went into EVERY other subtitle track and changed the current value to 'NO' for all three settings
. Just to be sure. These steps are what I believe makes it so LAV Splitter doesn't need to invoke its extra "Deliver Forced Subtitles" only features, etc, which I could never get to work.
Once all the tracks values are correctly set, hit File > Save
. DON'T FORGET TO DO THIS
, it's easy to forget and just close the window, but if you forget, you're going to wonder why subtitles still aren't working. The nice thing about this step, even though it took awhile to get to it, is that it saves the MKV instantly. It doesn't have to re-mux it, which could take 30+ minutes per title.*If MKVExtract GUI doesn't work:
If you run across a title that MKVExtract GUI could not process (roughly half of my collection could not be processed this way), you'll need to use MKVMerge GUI instead:
1) Open MKVMerge GUI and add your MKV to the Input files window.
2) Select all the subtitle tracks ("S_") and deselect everything else.
3) Specify an Ouput filename, and hit Start muxing. This will create an .MKS file in your Output directory.
4) Open the .MKS file in Subtitle Edit, and you'll be prompted to open a particular track embedded in the file. Open each one to determine which is the foreign language track.
5) Make note of the foreign language track (using the "counting method" as described above, because unfortunately the Track # here will not correlate to the Track # in MKVMerge's Header Editor.)
6) Load the MKV into MKVMerge's Header Editor, and follow the steps above for changing the "current value" of the Forced, Default, and Enabled flags below.Verify Your Subtitles Work
Now, load your MKV back up into your player and fast forward to the time-code of where the first subtitle appears, and if everything has been configured correctly, you should see your Forced Subtitle appear with NO user input needed, no awkward fumbling for the remote control in the middle of a movie to find the right track and switch over to it, etc. Congratulations!Alternate Method for Troublesome MKVs:
There are going to be times when, for whatever reason, the above process doesn't work. Out of the 50 or so titles I had to fix in my collection, there were a few that required a heavier hand to fix. In most cases, the above process will work, but when it doesn't, you need to get a little more extreme:
For troublesome titles, you can use the following process of obliterating your MKVs embedded subtitle tracks, and replacing them with a known-good subtitle track from an online database:
1) Go to subscene.com
and enter your movie title. Click on the search result of the correct movie and you'll be presented with a long list of available subtitles. Find the ones in English, and read the descriptions, which will hopefully indicate "Foreign dialog only" or "Forced subs" or something along those lines. I was always able to find the file I was looking for. Download this file.
2) The file will probably be in .SRT format. You need to convert it to .SUP format so you can mux it back into your MKV
. Open the .SRT in Subtitle Edit
and you should see all the subtitles. This is where you can verify that you're only seeing the foreign dialog of the movie, and not English for the Hearing Impaired, etc. You may also use this time to delete any "credits" that are often inserted into these files if you choose, often at the very beginning of the file, giving credit to whoever provided the subtitles.
3) Export these subs as an .SUP file by going to File > Export > Blu-ray sup...
4) Optionally, at this point, you can adjust the font, size or color of the subs if you wish. I would usually increase the Font size to about 40-50, but you'll have to find settings to your own liking. You can use the defaults to start with.
5) Choose "Export all lines..."
and choose a filename and location you will remember. After a few moments of exporting, the file will be ready. Now we need to stick this file into your MKV ("re-mux" it).
6) Open MKVMerge GUI and specify your MKV in the Input File window (click "add", then find your MKV).
7) Click "add" again and now find and select the .SUP file you just exported
from Subtitle Edit.
8) In the "Tracks, chapters and tags:" window, you will see a list of all the MKV's embedded video, audio, and subtitle tracks, as well as the new .SUP file you exported.
all the tracks that begin with "S_"
(those are the subtitle tracks, naturally.) This is going to strip out and remove ALL of the subtitle tracks in your MKV so there is NO confusion.
10) Place a CHECK
next to the .SUP file you exported (probably noted as a "PGS" track.) This is going to insert your known-good subtitle track into the MKV, in place of all the ones you're stripping out.
11) Click on the subtitle track you imported, and below the file window under "General Track Options", change "Language:" to eng (English), change Forced Track Flag: to YES.
This is so you won't have to use the Header Editor later to change the Forced value, etc. to yes.
12) Specify an Output filename and location, and hit "Start muxing"
. This process will probably take about 7-10 minutes to create your new MKV.
13) Once the new MKV has been written, open it in your playback system and verify that the subtitles are working. It's a good idea to fast-forward to several different locations in the movie, to ensure no timing / lip-syncing problems were in the subtitle file. If there are any mis-timings (this subtitle file you downloaded came from some random person on the internet, you know), you'll have to go back and adjust the time codes in Subtitle Edit youself. Out of ~50 titles, I think I had to do this once, so it shouldn't be a big concern.
14) If the new MKV works and timing / lip-syncing is good throughout, replace your original MKV with this new, corrected one.
If you're dealing with an already-ripped library, fixing all your titles is going to take some time, but for me it was worth it to have a smoother movie-watching experience. Don't forget you'll have to stay vigilant with new titles you add to your collection, being mindful of which ones have foreign dialog, and using the above steps to correct them as-needed.
Hope this guide helps out some fellow enthusiasts still having trouble with Forced Subs!