Temporary workaround to default SDH (or not)

Ok so as we’ve determined, even though Plex has an option where you can tell it to prefer SDH or non-SDH subtitles, it can’t actually tell the difference between them from the file name so it just lists them in alphabetical order.

So here’s the workaround. I don’t know if this will work for all language tags because of the alphabet or not, but it works with English.

If you want the SDH subs to show up first, the files should have the suffix .eng.SDH.srt

If you want the non-SDH, use SDH.eng.srt

This just changes their alphabetical order and causes Plex to put one or the other first.

The option with Prefer SDH is only for searching for subtitles, not for which subtitle is the default selection when you are supplying them.

Plex actually does tell the difference from the filename of the subtitle, it just has to be named according to Adding Local Subtitles to Your Media | Plex Support.
So if you have an SDH and non-SDH subtitle for a show/movie, you would need to name it as filename.eng.sdh.srt (or filename.sdh.eng.srt if you want the non-SDH to show in the list first) and filename.eng.srt. However, because you have the SDH in the filename or not, Plex is able to display that it is SDH (or not). However, if the subtitles are not really SDH, then of course Plex doesn’t actually know that because it is just determining what to display based on the filename.

So while your workaround is valid, your premise that Plex can’t tell the difference from the file is incorrect as is your understanding of the option that contains Prefer SDH and what it is used for.

-Shark2k

So how do we choose our defaults?

The reason this is a problem is because on ios, if it starts with the wrong subtitle file and I switch subtitles, it doesn’t actually switch them unless I force close the app and then reopen it. So, I have to go to the web player, click through one at a time every single episode and switch it to the non-sdh files, or go back and change the file names for every single subtitle file to change their alphabetical order.

On Android and everything else it’s not really a big deal because when I switch subtitle files it actually switches, but there needs to be a default selection.

Unfortunately at this time there isn’t anyway to set the defaults based on SDH vs non-SDH.
You can check to see if there is a feature request to allow this, I think there might be some feature requests for subtitles but I’m not sure. If there isn’t, you can create a request yourself but a feature request, even that gets a lot of votes, is no guarantee that Plex will actually implement it.

Another option is opening a thread about the app not properly changing subtitles on iOS and providing client and server logs that include you attempting this. If a Plex employee sees it and gets the info the right team and they can reproduce it, you might get a fix in the app which would then lessen the need for this.

If you are comfortable with SQL, yet another option is to manipulate the database, though I do have to add the warning THIS IS NOT RECOMMENDED BY PLEX and can result in you messing up your database if done incorrectly. If you do go this way, make sure that you backup your database prior so that you can revert to a working one if you mess it up.

With the database method, you would need to basically find the id for the subtitle that you want to be the default and then get the media_part_id for the episode/movie and do an update to the table that stores the chosen audio and subtitle selection. You would then need to do an insert if nothing exists for that episode/movie for the account you want to update or update the value if there is already an entry.

Based on that, you can see why it’s not really recommended, especially if you are not familiar with SQL, however there are people that have directly manipulated their databases at their own risk (and I’m one of them and I have screwed up my database doing it but was able to recover from a backup).

Otherwise, the only other thing to do is like you mentioned and to select the tracks you want from the web app to be the one you want.

I know that isn’t what you want to hear, but one thing I can say about Plex, even though it’s still not how you would prefer it, is that compared to Emby and Jellyfin, Plex will at least remember your selected track and use that on different devices. With Emby and Jellyfin, you need to select the correct track each time, even on the same device, which to me is a pain as I like to default everything I add to my server (for myself and one managed account and another account I use for my family’s beach house) to specific tracks. I do it for the other accounts because I know the person for the one account and my family for the beach house account won’t change the track to be the best track for the setup (surround soundd vs the stereo track).

I would love if Plex would allow to have per device settings for each account along with defaults per device so that you could say this device under my account can use stereo for the audio but I want this device to use surround sound and the same for subtitles. That would be great for situations where one has a home theater but also a regular TV without surround sound and wants the highest quality audio for the home theater but only wants stereo and say non-SDH subs for the regular TV setting and not have to constantly make the change.

-Shark2k

Yeah I don’t know anything about anything I’m just an end user

Then the best thing would be if you want to try and submit logs so that a Plex employee can take a look to try and get the iOS team to resolve this, you can try and follow the directions here to get client logs iOS Logs | Plex Support. You would want to recreate the issue, so start an episode/movie, change subtitles, let it play for a few seconds. Afterwards, force close the app, reopen it then start playing for maybe 30 seconds then stop and grab the client logs.

After doing that, follow these directions to get the server logs, Plex Media Server Logs | Plex Support, and make sure “Enable Plex Media Server debug logging” is checked under Settings (wrench icon) → General (under Settings in the left menu panel) then on the right panel click the Show Advanced and then check the box for the debug logging. Do that first before reproducing the issue and then you might need to restart Plex (that was a recent change for security reasons). After that is enabled, reproduce, grab both client and server logs and post them.

I don’t use iOS devices, so I can’t try and reproduce on my end. Hopefully it’s something easily reproduceable for others though, which would help make it slightly easier to fix.

Your choice whether you want to attempt that.

-Shark2k

1 Like

Appreciate the input

1 Like

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