Forced Subtitles for Realsies?

It appears that what Plex calls “forced subtitle support” is merely “automatic subtitle selection” and has nothing to do with true forced subtitles. It’s all well and good that Plex will automatically select an English-language subtitle track if I have set English as my preferred audio language and select an audio track with a different language. But that’s not what I’m looking for.

I’d like Plex to show forced subpictures from all PGS or PES (VOBSUB) subtitle streams in the file, even when I have no subtitle stream selected. It is quite a bother with films like AVATAR (2009), THE HUNT FOR RED OCTOBER (1990), and STAR TREK III: THE SEARCH FOR SPOCK (1984), where the English subtitles for the Na’vi, Russian, and Klingon dialogue are in the same stream as the English subtitles for the English dialogue, to have to somehow separate out the forced subpictures into a separate track. ffmpeg won’t do it (it cannot write a PGS stream except as a direct copy). MakeMKV will, but only at rip time, and not correctly (it mysteriously includes some subpictures that are not forced). I’m working on writing my own tool to do it, but I’m mired in pointer hell. It would be superawesome if Plex could just handle this for me at the transcoder level.

I can’t speak for VOBSUB as I haven’t watch any media with known forced subtitles and having that format. However, all my media that I have that use SRT and have the force flag set as true work as anticipated. And my setting for audio/subtitles is to only auto turn on subtitles if the audio language is not English. I’ve watched multiple movies/tv shows I have that are in English and have forced subtitles.

I have a few shows I ripped from my DVDs with the VOBSUB included. I will modify one temporarily, if possible, to set one of the VOBSUB tracks to forced and report back to you with the results. My guess is it will work as expected.

-Shark2k

“Forced” is not a track-level flag in VOBSUB and PGS, it’s a subpicture-level flag. Forced subtitles are mixed with non-forced subtitles in the same track. SRT format does not support forcing at the individual subtitle level.

@Qwertz said:
MakeMKV will, but only at rip time, and not correctly (it mysteriously includes some subpictures that are not forced). I’m working on writing my own tool to do it, but I’m mired in pointer hell.

Have you ever tested Subtitle Edit?
It can extract the ‘forced’ subpictures from some types of sub files.
Maybe you can find out which software libraries its author is using (if he hasn’t written this part himself).

@Qwertz said:
“Forced” is not a track-level flag in VOBSUB and PGS, it’s a subpicture-level flag. Forced subtitles are mixed with non-forced subtitles in the same track. SRT format does not support forcing at the individual subtitle level.

You are 50% and 50% wrong :slight_smile:
Bitmapped subtitles very much can have forced set on the entire stream. I have those myself. I do however suspect it was more common during the DVD days.
Basically there are two different methods that content creators can set forced subtitles. On the entire stream or just individual lines tagged as forced. The latter is not (yet at least) supported by Plex. I think you can do it in PMP though by setting a flag in the mpv.conf file, but my memory is a little bit fuzzy on the subject so I might be wrong.

Yep, PMP has support for it. Add sub-forced-only=yes to the mpv.conf and you should be good to go.

@OttoKerner said:
Have you ever tested Subtitle Edit?
It can extract the ‘forced’ subpictures from some types of sub files.
Maybe you can find out which software libraries its author is using (if he hasn’t written this part himself).

I can already extract the forced subpictures in much the same way. I referred to nikse’s code while writing my own parser. I’m stuck in pointer hell rewriting MKV EBML headers after adding new blocks and track metadata. But even if I succeed, I’ll just end up with another subtitle stream in the file. Duplicated data, and the stream still has to be selected (or marked default) for the subtitles to appear.

@atrus said:
Basically there are two different methods that content creators can set forced subtitles. On the entire stream or just individual lines tagged as forced. The latter is not (yet at least) supported by Plex.

Yes. That’s why I’m asking for Plex to add this support to the transcoder.

Yep, PMP has support for it. Add sub-forced-only=yes to the mpv.conf and you should be good to go.

Works! But must still select the stream. If no stream selected, no subtitles appear. Unfortunately does not solve the problem for other players.

2022 clean-up: duplicate (newer but with votes)