For Passion of the Christ or Game of Thrones and any movie that uses minor captions (Black Panther), the subtitles won’t show up unless they’re marked forced
Unless you mark the correct “forced subtitle” with “df” (default/forced) in Expert Mode in MKV, you still need a player that plays forced subtitles automatically
- VLC Player, does NOT play forced subtitles automatically
- MPV Player does play forced subtitles automatically
- Great program for testing
MKVToolNix
- In the header editor section, toggle default and forced on the correct subtitle
- Then, click save via the header editor toolbar
- Loading and saving in MKVToolNix takes time, so be patient
- 64-bit version kept crashing, so use the 32-bit version
Other
- There might be a discrepancy between language and subtitles playing automatically, as some movies’ sound language is marked for something other than english (you’ll see all that in MKVToolNix)
- default/forced, it looks to be better to mark both for the forced subtitles (df)
- Handbrake will compress your videos when recording “burn in” subtitles meaning you’ll lose quality
- The program Mediainfo can offer insight into the correct “forced subtitle” from the MKV
- There’s an additional subtitle editor program that can be looked at for answers as well
Take aways
- Actual movie studios use “burn in” via premiere or some other video editing program
- Realistically, I personally will not be chasing these subtitles except for movies completely in another language
- Secondly, since I use VLC on my XBOX for all my MKV watching, so I’ll simply toggle the correct english forced subtitle for movies like Black Panther or just miss out on them completely (Game of Thrones)
Subtitles Burn In Nonsense Tell All
Re: Subtitles Burn In Nonsense Tell All
Dealing with subtitles for 90+% of stuff I rip, the "forced subtitles" are rarely tagged as such. I've had two movies that did so properly; the closest others have been ones where they encoded the video with the forced subtitles, rather than using a subtitle track (Star Trek movies are typical examples), although those often have an "everything" subtitle track in addition to those.
You're GOING to have to make use of something like mkvtoolnix to tag tracks as "forced", even after running the MKV files through something like handbrake to re-arrange the order of the subtitle tracks. Few tools will tag the tracks correctly for all players. You want the track you want to see "all the time" tagged as both "Default" and "Forced".
If you're converting to something like MP4 files, where they have to be burned in, then flags don't matter.
As for "takes time", if you know what you want mkvtoolnix to do in advance, you can put it on the command line, and have it happen almost instantly. I use a batch file to do it, and it can do an entire TV series in under a minute.
You're GOING to have to make use of something like mkvtoolnix to tag tracks as "forced", even after running the MKV files through something like handbrake to re-arrange the order of the subtitle tracks. Few tools will tag the tracks correctly for all players. You want the track you want to see "all the time" tagged as both "Default" and "Forced".
If you're converting to something like MP4 files, where they have to be burned in, then flags don't matter.
As for "takes time", if you know what you want mkvtoolnix to do in advance, you can put it on the command line, and have it happen almost instantly. I use a batch file to do it, and it can do an entire TV series in under a minute.
MakeMKV Frequently Asked Questions
FAQ about BETA and PERMANENT keys.
How to aid in finding the answer to your problem: Activating Debug Logging
FAQ about BETA and PERMANENT keys.
How to aid in finding the answer to your problem: Activating Debug Logging
Re: Subtitles Burn In Nonsense Tell All
Multiple subtitle streams marked: "default_track": true, are displayed based on FIFO. Ignore "forced_track" and "enabled_track" and pretend "default_track" is the only one.
Don't use mediainfo, use "mkvmerge -J <file>" as recommended by all mkvtools. No matter how the .mkv file is created, a player generally adheres to the specification, so the track ID/order given by mkvmerge -J is ultimately what the player should/will use.
I have a unfinished Python script I made for cartoons/anime, for which it disables Japanese audio and subtitles but only _IF_ English audio is found. It's good if all you want is <language> audio and either no subtitles or only forced <language> subtitles. If interested, I could clean it up and put it on gitlab. It does _NOT_ remux, it uses mkvpropedit.
Don't use mediainfo, use "mkvmerge -J <file>" as recommended by all mkvtools. No matter how the .mkv file is created, a player generally adheres to the specification, so the track ID/order given by mkvmerge -J is ultimately what the player should/will use.
I have a unfinished Python script I made for cartoons/anime, for which it disables Japanese audio and subtitles but only _IF_ English audio is found. It's good if all you want is <language> audio and either no subtitles or only forced <language> subtitles. If interested, I could clean it up and put it on gitlab. It does _NOT_ remux, it uses mkvpropedit.
Code: Select all
one_lang.py:
Required Options:
-i, --input_file file to modify ie. "./video.mkv"
-a, --audio-language
3 letter language to use, eg: "eng" (see:
https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes)
-s, --subtitle-language
3 letter language to use, eg: "eng" (see:
https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes)
Mutually Exclusive Subtitle Options:
-d, --disable-all-subtitles
unsets/disables all subtitles (default: False)
-o, --enable-one-matching-subtitle
match one non-forced subtitle if possible, forced if not possible (default: False)
-x, --use-subtitle-track-number
uses this subtitle track number. Useful if always wanting a certain track (default: -1)
--default-subtitle-operation
the normal operation that happens by default if you don't choose 1 of the subtitle exclusives
Mutually Exclusive Audio Options:
-y, --use-audio-track-number
uses this audio track number. Useful is always wanting a certain track (default: -1)
--default-audio-operation
the normal operation that happens by default if you don't choose 1 of the audio exclusives
Options:
-p, --audio-codec-priority
CSV list of codec names (default: DTS-HD Master Audio,E-AC-3,TrueHD,AC-3 Dolby Surround
EX,DTS-ES,A_MS/ACM,DTS,AC-3,FLAC,PCM) (see:
https://www.matroska.org/technical/codec_specs.html)
-n, --no-subtitle-modifications
disable all subtitle modifications (default: False)
-j, --no-audio-modifications
disable all audio modifications (default: False)
-g, --enable-one-matching-subtitle-if-no-matching-audio
if no matching audio, enables one matching subtitle (default: False)
-f, --search-for-force-in-subtitle-track-name
additionally search for "force" in track name. Handy if the track does not have the forced
property set, but does have the word "Forced" in a subtitle track name matching your chosen
language (default: False)
-w, --filter-regex-from-subtitle-track-names
when choosing a subtitle track, this will use re.search() to filter _OUT_ any matches. You can
use a regular string eg. -g '(?iu)commentary' (default: "") (see:
https://docs.python.org/3/library/re.html)
-z, --filter-regex-from-audio-track-names
when choosing a audio track, this will use re.search() to filter _OUT_ any matches. You can
use a regular string eg. -c '(?iu)commentary' (default: "") (see:
https://docs.python.org/3/library/re.html)
-k, --replace-title-with-filename
replaces the global file title with the its own filename minus extension (default: False)
-t, --remove-title removes the file's title property (default: False)
-r, --remove-all-tags
strips all tags, note: tags are _NOT_ chapters (default: False)
-b, --mkvmerge-bin
link to mkvmerge, ie. /usr/bin/mkvmerge (default: $PATH)
-e, --mkvpropedit-bin
link to mkvpropedit ie. /usr/bin/mkvpropedit (default: $PATH)
-m, --print-audio-codecs
print a comma separated list of audio codecs then exit (default: False)
-c, --print-video-codecs
print a comma separated list of video codecs then exit (default: False)
-u, --print-subtitle-codecs
print a comma separated list of subtitle codecs then exit (default: False)
--parse-mode-full uses the full parse mode of mkvpropedit, which takes much longer, but may be needed for
broken/corrupt files (default: False (fast mode))
Usage example:
./one_lang.py -a "eng" -s "eng" -f -w '(?iu)comment' -z '(?iu)comment' -i ./video.mkv