Why will Plex not choose a audio and subtitle format that it can use?

Hello,

I have this movie with both TrueHD 7.1 and Dolby Digital audio tracks. In addition I have PGS and SRT subtitles in the movie.

Now I wonder why the different Plex clients will not choose the format that they support? Instead they try to transcode what they do not support.

I’ve tried with both Google Chrome on a Windows 10 computer and the smart TV app for a LG TV. Both will try to transcode TrueHD and PGS when they play Dolby Digital and SRT just fine.

Can I change this behavior?

Audio Track Selection
Plex chooses the first audio track that matches your language settings. It does not matter if the audio track can be direct played, direct streamed, or must be transcoded. Furthermore, Plex does not honor the default flag in either MKV or MP4/M4V containers.


Subtitle Track Selection
Plex honors the forced subtitle flag for embedded subtitles. It also honors using forced in the name of external subtitles (ex: movie_name (year).language.forced.srt).

Your account settings also come into play: SettingsAccount → Audio & Subtitle Settings


Audio Format Support
Whether the audio direct plays/streams or transcodes depends on the client.

No Smart TV supports TrueHD audio. It will always be transcoded to a supported format.

Plex Web is probably the most limited client. It varies by OS (Win/Mac/Linux) and browser (Chrome/Safari/Firefox/etc), but in general, AAC will direct play and everything else will transcode (dts, TrueHD, etc).


Subtitle Format Support
Subtitle support varies by client. Unfortunately, there is no master reference list of supported subtitles for each client.

Plex Web is the most limited Plex client, due to browser limitations. SRT subtitles will direct play. Expect that all other formats - PGS/VOBSUB/ASS - will transcode, and may force a video transcode as well.

For the Plex LG webOS client:

  1. If the media is direct playing, then PGS, VOBSUB, & SRT subtitles direct play.
  2. If the media is direct streaming, such as when audio is transcoding, enabling any subtitle format results in a video transcode.
  3. For SSA/ASS subtitles, if burn subtitles = automatic, they force a video transcode. If burn subtitles = image format only, they direct play, but formatting information such as location, color, etc are discarded (they’re treated as SRT subs).

Plex for Android/Android TV probably has the best subtitle support. PGS, VOBSUB, SRT, and SSA/ASS subtitles direct play, even if the video or audio is transcoding.

1 Like

Thank you FordGuy61 for that detailed explanation!

My “problem” is that I try to convince both family and friends that Plex is a great streaming option. We live in Norway and the use of subtitles is more or less mandatory on anything but children movies that use the Norwegian dubbed audio track.

Personally, at home, I use the Nvidia Shield 2019 Pro and have no problems playing all audio formats and all subtitles. The problem arises when I tell a friend, or family, about a great movie they should watch. A movie that I have available on my Plex server.

“Oh great!” they say, but when starting the movie, it will most likely transcode. Since my server is hosted on the Synology DS920+ it is capable of transcoding, but it is not THAT powerful. This leads to stutter and lag in the movie. This in turn leads to a very bad Plex experience for my friends and family.

I cannot expect them to choose audio and subtitle type before watching a movie. They do not know what it means and they do not care. They just want to see the movie. All other streaming services offer this without user intervention. This finally leads to the main problem. They tell me Plex is s*** because it does not work.

This is why I’d like to rip my movies with both lossless and lossy audio track. But I see that clients, as you say, do not choose the audio track they support to give a positive experience.

I’d also like to keep the Norwegian PGS subtitle. I convert this to SRT as this is supported by most clients. But the clients do not choose it automatically to avoid transcoding…

Now this was the longer explanation to what I am trying to accomplish.

If you are still reading, I have these questions:

1 - My first question was “How can I rip a movie to make it compatible with most players so as to avoid transcoding and finally lag and stutter?” If I understand you correctly however, I see that this really do not matter since the user still needs to actively choose the audio and subtitle track compatible for their specific client. A task very few of my family and friends will take the time to learn and understand… They just want to press Play and watch the movie.

2 - Does it matter if the SRT file is embedded in the MKV file or is it just the same if it is included as an external .srt file?

An addendum to my first post.
a) Plex prefers external subtitles to embedded subtitles. So, if a movie has external SRT subs and embedded PGS/VOBSUB subs, Plex will pick the external subs first.

Example: A movie has embedded PGS subs with the forced flag set. External SRT subtitles are also available with “forced” in the file name (movie (year).lang.forced.srt). Plex defaults to the external subtitles.

b) Plex remembers subtitle selections per movie/episode. If you play a movie and manually pick a specific subtitle, Plex remembers the selection the next time you play the same file.

All my SRTs are external. I find it easier to manage them when external (I may want to correct a spelling or punctuation error and demuxing/remuxing embedded subs is a PITA).

As far as I know, Plex prefers external subtitles over internal subtitles. Also, the rules regarding transcoding are the same - it does not matter if the SRTs are embedded or external.

Note that adjusting subtitle offsets is only supported for external text based subs. Not possible with embedded subtitles.

First, try this: https://www.youtube.com/watch?v=YgYEuJ5u1K0

Then, take some aspirin and realize there is no perfect answer.

I’ve a DS918+. It makes a nice Plex server unless you have to burn subtitles. The Celeron CPU is just not powerful enough.

I tried several options:

a) Converting PGS/VOBSUB to SRT with Subtitle Edit. Works, but too time consuming.
b) Looking for SRTs on the web. Not viable. Most subtitles either had incorrect timestamps (too time consuming to correct) or are just horrible quality (poor spelling, punctuation, etc).
c) Transcoding movies with Handbrake to lower bitrates that will usually direct play. Works, but is very time consuming. And still requires obtaining SRT subtitles.

My solution: Move Plex Media Server from the Synology to a dedicated PC that can handle transcoding and subtitle burning.

I picked up a used Lenovo M90q PC with an i5-10500T on eBay, added some RAM and a spare SSD and loaded Ubuntu 22.04. Media remains on the NAS, accessed via NFS.

It works great.

Most of my movies/shows are Blu-ray rips (1080p) or DVD rips (480p). The Lenovo can easily transcode the video to lower bitrates and burn in subtitles if needed.

Moving PMS to the Lenovo greatly reduced the amount of time I spend curating media. I rip a disc using MakeMKV, selecting only the desired audio & subtitle tracks. Run the file through MKVToolNix to add chapter names, tweak audio/subtitle track names, etc., then load it on the server. No Handbrake, Subtitle Edit, etc. Easy Squeezy.

I use a Nvidia Shield to watch media at home. It direct plays everything in my library.

Friends/family I share with are much happier since I moved to the Lenovo. They have full subtitle support. No buffering due to subtitle burning. They have a mix of Android TV, Samsung Tizen, and Roku devices.

I limit remote streams to 8 Mbps due to max 30 Mbps upstream from my house. Not a problem to run three concurrent remote streams (all transcoding) while also watching something at home myself.

A note about 4K HDR: I do not share 4K HDR media remotely. It would be transcoded to SDR due to limited uplink bandwidth. I have less than 100 4K movies and I find it easier to keep both 4K & 1080p versions.

The i5-10500T will happily transcode 4K HDR media. However, it does struggle with subtitle burning. Subtitle burning on Linux systems uses the CPU and is single threaded. A CPU with faster individual cores could burn subtitles when transcoding 4K HDR media.

Hope this helps. Let me know if anything is not clear, seems incorrect, etc.

1 Like

Great reply once again FordGuy61! Highly appreciated :slight_smile:

This sounds like a possible solution.

I do not have that many movies in the library, so converting the PGS subtitles to SRT external could solve most issues. The DS920+ seem to transcode the audio track reasonably well. Your suggestion about getting a dedicated computer with enough CPU power to transcode and burn the PGS subtitles is an option, but I’d prefer to stick with the DS920+ if at all possible. It seems like the PGS subtitles causes most issues with the streaming. Is it mostly TrueHD audio you’ve found is causing issues? Will the various DTS tracks play better?

Do you happen to know what issues I should think about regarding casting from the iOS apps to a smart TV? Can it stream ok, or will there be (other) issues there as well?

Your post helps a lot :slight_smile: Thank you!

If you use the Plex LG app and run PMS on the DS920+, you will continue to run into problems when using subtitles. FYI, most of this applies to Samsung and other Plex SmartTV apps. They behave similarly to the LG app. The Plex Android TV app behaves much differently and is discussed below.

If the audio and video direct play, then PGS subtitles are not a problem. They also direct play.

Problems arise when the audio has to be transcoded (TrueHD & DTS) and subtitles are enabled. This forces a video transcode and subtitle burning. The Celeron can transcode the video using hardware acceleration, but it cannot burn subtitles fast enough to avoid buffering.

Instead of converting subtitles to SRT format, you might be better off transcoding the audio to Dolby Digital (AC3) or Dolby Digital Plus (EAC3), which are supported by LG TVs.

Another alternative is to use an Android TV based client, such as the Nvidia Shield Pro or Amazon FireTV Stick 4K. Unlike the Plex LG app, the Plex Android TV app direct plays subtitles when the video or audio is transcoding.

To restate the issues:

  • LG TVs do not support TrueHD or DTS audio formats. When using the Plex LG app, they will be transcoded by Plex Media Server to a supported format.
  • With the Plex LG app, if the audio is transcoding, enabling any subtitle in any format results in a video transcode, as Plex has to burn the subtitles into the video stream.
  • Subtitle burning uses the CPU, not the GPU, even when hardware accelerated transcoding is used.
  • The Celeron CPU in a Synology NAS is not powerful enough to burn subtitles in real time.

Possible Solutions

Transcode Audio to supported format
Use XMedia Recode or similar tools to transcode TrueHD & DTS audio tracks to a supported format such as Dolby Digital (AC3) or Dolby Digital Plus (EAC3).
Pro: Audio direct plays, so avoids issues with subtitles.
Cons: Time & effort required.
Note: XMedia Recode permits transcoding audio and passing the video untouched. Handbrake, while a nice tool, always transcodes video, so it is not the best tool when audio only transcoding is needed.

Nvidia Shield Pro
Pro: Direct plays almost all audio/video formats. Direct plays subtitles even if audio/video is transcoding. Will passthrough TrueHD+Atmos and DTS:X if supported by audio equipment.
Con: Cost. Another device & remote.

FireTV Stick 4K or other Android TV clients
Pro: Cost ~$50 USD. Direct plays subtitles even if audio/video is transcoding.
Con: No TrueHD+Atmos or DTS:X passthrough. Another device & remote.

Run PMS on a more powerful server.
Previously mentioned & discussed.

1 Like

My server is a DS920+ yes and I personally use the Nvidia Shield and have no problems playing even 4K content direct. The problem is when sharing with friends and family that do not have a shield and do not plan on investing in one. Hence I have to take into consideration that all possible clients may be used except perhaps the web client as this is so very little compatible. But both LG, Samsung, Apple TV etc will possibly be used.

When you say I will run into problems with subtitles - does that mean with PGS subtitles or also SRT?

Yes, I’ve seen issues with this with PGS. Is this when using PGS only or also SRT subtitles? With DTS you mean only DTS-HD MA or also just DTS 5.1 (similar to Dolby Digital)?

I will need the lossless audio track anyway because that is what I use when I watch a movie at home on my home theatre system and nvidia shield. But I can of course add a Dolby Digital or DD+ audio track to the MKV file as well. If I understand your previous post correctly however the DD or DD+ track will not be selected automatically? It has to be selected manually by the viewer?

Yes, for me this is no problem. I have the Nvidia Shield. The problem is that I can not ask every friend and family to buy one for themselves unfortunately…

This could be a possible solution. I try to rip my movies with both the lossless and lossy audio track, so many films already have a DD or DD+ track in the MKV.

It is not an option to loose the lossless TrueHD and DTS HD-MA track as I enjoy that at home. I will only take the time to adjust files so that they can be viewed by friends and family when I loose no quality myself. Hence the DD or DD+ audio signal would need to be added to the MKV file. I’ve tried to find information about XMedia Recode. Can this software extract the audio track only or will it make a completely new MKV file where I loose the lossless audio?

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