I know there is a “hearing impaired” flag supported by MKVs and I was wondering if there would be a global setting to always choose the subtitle track with this flag?
I know that it is possible to set the subtitle track as the default, or even forced if so inclined, when ripping in MakeMKV or to use the MKVToolNix header editor to do this after the fact, but I prefer to leave tracks as they are on the disc themselves and select for it later via the player.
So typically a disc would have the regular subtitle first, then SDH second, then Forced last if it exists.
So I would want to keep the regular subtitle as default, the SDH flagged as “hearing impaired”, and the Forced as forced.
Now I realize that the forced flag will probably override any global settings by default, so let’s just pretend like there’s no forced track for now and just a regular and an SDH subtitle track.
What I’m looking for is an option to set so when I choose to playback a video, if one of the tracks is flagged as “hearing impaired”, it will automatically select that despite it not being the default subtitle track.
Example of “hearing impaired” flag in MKVToolNix:
Settings>player>language has options for preferring vision or hearing impaired. I’ve not had a play around with how exactly any of these affect the selection process but I’d imagine it shouldn’t be too hard to figure out with a bit of trial and error. External subs might be an issue though as last I looked into it you could only assign forced, default, and language with the file name. If you added any other text including SDH it just used that as the subtitle name but didn’t use it as a flag.
99% of my subtitles are the embedded PGS subtitles.
I’ll play around with that setting and see what happens.
So flagging the subtitle as “hearing impaired” with MakeMKV and putting SDH in the subtitles title did nothing with that setting enabled.
Maybe this is a Kodi thing and not a OSMC thing, but does anyone know exactly what that option does?
Not what it’s intended to do, that is obvious, but at a code level what is it attempting to do?
Is it looking at the track title for “SDH” or “HI”, is it looking for the hearing impaired flag, etc?
Kodi’s wiki says:
Prefer subtitles for the hearing impaired
Settings level: Basic
Description: Where available the subtitle stream for the hearing impaired will be selected over other subtitle streams of the same language. Requires correct tagging in the media file.
Wondering what it is expecting for “correct tagging in the media file”.
I just had a bit of a play around and I figured a few things out. Firstly Kodi cares about the language of the audio track as it factors that in on sub selection. Next Kodi doesn’t care about if “SDH” is included in the name tag or not. The hearing impaired flag is read however. In Kodi the default for “preferred subtitle language” is “original language” and to me it seems that with that option the prefer hearing impaired option just doesn’t work. I tried with a file that had no “original language” flag set, one just on the video, just the audio, and both, but nothing made a difference. If you manually select your language then it seems to work fine.
My test file I made with mkvtoolnixgui with video eng, audio eng, first sub set w/ default eng, second sub set w/ eng hearing impaired. With Kodi prefered languages for audio and sub set to english the sub track selected by default at playback start changed depending on if I had Kodi set to prefer the hearing impaired.
Finally, to verify another potential issue I manually selected during playback a sub that was different to the current selection during playback. Once I did that then Kodi remembered which track I manually selected and would no longer automatically switch tracks when I changed that setting. So, when your doing your testing make sure your playing with a file that has never had the sub track manually selected (or rename the file to break the link to that info).
Great information!
I was set to original language so I’ll test out setting it to English.