Audio & Subtitle language selection

I have been trying for weeks now to figure out how to do what seems like should be a simple task. The solution somehow evades me.

Scenario:

  • Media collection is primarily lang-1, with lang-1 audio first & default in the mkv/mp4.
  • A significant minority of collection is in lang-2, with lang-2 audio first & default in the mkv/mp4.
  • Most lang-2 files also have lang-1 audio, which I want to retain for the family members who dislike subtitles.

What I want:

  • Media with lang-1 marked default in-file should play with lang-1 audio and no subtitles.
  • Media with lang-2 marked default in-file should play with lang-2 audio and lang-1 subtitles.

The problem: No matter what combination of audio & subtitle autoselection options I choose, I can’t get the above behavior. This behavior is, I’d imagine, not an uncommon preference. Most people I know watch movies and shows in their native languages without subtitles, and those in foreign languages with subtitles. I can’t be the only one who watches Dragon Ball subbed but puts it on dubbed for the kids who can’t yet read quickly.

The question: How do I achieve the desired result without remuxing single-language versions of foreign-language media?

Plex does not “respect” (consider) the flags of individual audio / subtitle streams you might find in some files.
There are dedicated settings in your Plex account to specify the language behavior for that particular user.
see Audio & Subtitle Settings in

You can e.g. configure Plex to use French as your preferred audio language and to show French subtitles with foreign audio (e.g. if the video you want to play only has an English audio track).

If you override that setting on an individual movie / episode, Plex will remember that selection when you play that particular video again.

Edit:
there’s a support article describing how to use those settings

Right, the options I’ve been trying different combinations of are the account audio/subtitle language settings.

Going by the description of the logic on the support page, the best I can come up with is this:

  • Preferred audio language: Select Language (i.e., unset)
  • Preferred subtitle language: English
  • Auto-select subtitle mode: Shown with foreign audio

This was one of the first configurations I tried, and intuitively it should get the job done. The account display even says, “Track selection – English subtitles shown with foreign audio,” without mention of audio selection criteria. Accordingly, Plex should use the first audio track, regardless of language. Plex should then enable English subtitles if the selected audio track doesn’t match my preferred subtitle language; i.e, English.

But it doesn’t.

It’s almost correct, but it fails in two ways.

  1. When the first audio track is mono, Plex selects a different audio track. Usually this is not the original language.
  2. When the first audio track is English, Plex enables subtitles.

Regarding (1), I have movies and TV going back to 1931. Monaural audio is actually quite common. The first track is first for a reason. That Plex disrespects track order in its zeal to find the “highest quality” is utter nonsense. Do I seriously have to remux every mono track to 5.1 in order to get Plex to stop doing this? I mean, I’ll script it if necessary, but that’s some nonsense.

Regarding (2), I can only conclude that this is the failure point:

Shown with Foreign Audio

If an audio track matching your preferred audio language is not found, Plex will try to display the most appropriate subtitle track using the following logic:

As I have no preferred audio language, Plex finds no audio track matching my preferred audio language. So the code must basically be doing

if (!PreferredAudio.Find()) { SelectPreferredSubtitle(); }

This logic doesn’t consider the case where no audio track matching your preferred audio language is found because there is no preferred audio language. Therefore, selecting “Show with foreign audio” yields behavior identical to “Always enabled”. Why is the test not something like:

if (GetSelectedAudioTrack().language != PreferredSubtitle.language)
or
if (!IsNull(PreferredAudio) && !PreferredAudio.Find())

So I ask again: How can I get Plex to do this seriously basic thing?

Set the preferred audio language to English.
If a video has no English audio track it’ll pick the next best thing. Plex has no mode for “preferred audio is not set”

But that’s the thing: The foreign-language media have secondary English tracks.

Are you suggesting that I’m expected to have separate “[Series] (English)” and “[Series] (Original)” filesets, thereby nearly doubling the storage space required?

I don’t.
Maybe I misunderstood part of your issue… if you’re dealing with exactly 2 languages you can set Plex to prefer lang2. This way movies with that language will use that as default (even if it has a 2nd audio track in lang1). Videos with only lang1 audio tracks will play the lang1 audio instead.

Plex has no concept of multiple preferred languages following a sequence/priority.
I’ve run into situations like this myself with 1 show. I ended up manually setting the correct tracks for those episodes.

If different family members have different preferences you can create own (managed) users for them

:neutral_face:

Implementing managed users for family members who live a thousand miles away is not the most practical solution.

Half of collection:

  • Multiple audio tracks:
    • First audio track: English
    • Second … nth audio track: varies
  • Desired behavior: English audio, no subtitles

Other half of collection:

  • Multiple audio tracks:
    • First audio track: Foreign (Russian, Japanese, Swedish, Norwegian, Spanish, Portuguese, etc.)
    • Second audio track: English
  • Desired behavior: Foreign audio, English subtitles

As a matter of pedantry, there is no need for a hierarchy of language preference. In fact, I don’t want Plex to do any auto-selection of audio at all. I only want it to auto-select subtitles. And yet, the system’s logic treats not auto-selecting an audio track as a failure to auto-select a preferred audio track. Because it “failed”, it displays subtitles regardless of the audio track when “show with foreign audio” is enabled.

I’ve got 60 TB of media. The thought of having to manually set every file’s subtitle status—because someone wrote a bad conditional that doesn’t account for the null case—is rather irksome. :expressionless:

So is there any way to get Plex to

  • Not perform audio track auto-selection, and
  • Enable English subtitles if the audio is in some other language?

That’s all I want, and it should be simple to do. If there isn’t a way to do it, I’ll go make a feature request for an “I hate dubs” mode.

If I understand you correctly, no. It was to some degree working up to version 1.16.3.1402. That’s the version my server is running on ever since they messed it up.

My language settings (server! and account):
Prefer audio tracks in: Japanese
Subtitle mode: Shown with foreign audio
Prefer subtitles in: English

That way my anime will play in Japanese with English subtitles and my English shows will not display English subtitles.

1.16.3.1402 was the last version where “Shown with foreign audio” meant “subtitle language different from audio track language”. After that it meant “subtitle language different from preferred audio track language” which makes no sense.

Whenever I updated my server since (and afterward rolled back for obvious reasons) it would play my anime in Japanese without English subtitles and my English shows with English subtitles. Absolutely bonkers. And there is no way fixing this with the settings provided.

I would have suggested to set-up your server with version 1.16.3.1402, however, I was infuriated today by a mail from Plex:

This is a friendly announcement that we will soon be increasing the minimum version of Plex Media Server required by our player apps to 1.18.3 or newer. This new minimum version will be required in our Roku app shortly, and other player apps will soon follow.

Edit: I still recommend the version change, just disable auto-update in every player and the server of course.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.