Plex Player Audio Codecs

Server Version#: 4.102.1
Player Version#:

I am after some general information about the way that Plex processes audio codecs.

Background is that I am loading additional versions of high quality media (4K, 4K HDR and 4K DV) onto my servers and I sometimes get issues playing back items with Dolby TrueHD 5.1, DolbyTrueHD 7.1, Dolby Atmos and DTS audio, but this is inconsistent across devices.

This is primarily focussed on TVs (standalone) and TVs with external audio systems, but I gues would apply equally to other devices.

From what I have read across the forum, some codecs will not support the format and there is then the option to transcode the audio or to use audio-passthrough. I am just trying to understand in my head what is happening.

Question 1: Does the Plex Player App have audio (and video) codecs integrated within the Plex player or does the Plex App always pass the audio stream to the device hardware to process?

Question 2: Does audio Pass-through pass the audio stream from the player to the device hardware or from the Plex App to an external sound system (if connected)?

Question 3: Does the Plex Player interrogate each of the devices Plex Player, Device Hardware, External Sound System in order to determine which audio streams each device can process, or does it blindly send the stream once the pass-through has been configured.

Question 4: How does the Plex Player or Plex Server come to the decision to transcode or pass-through.

Rely appreciate any information you guys can provide.

The Plex Smart TV app uses the codecs available on the TV. This varies by manufacturer.

The Plex Smart TV app knows what audio & video formats are supported by the TV set. It passes this information to Plex Media Server when determining whether to direct play, direct stream, or transcode the media.

Plex’s first choice is to direct play the media, sending it unaltered to the TV. This decision involves multiple criteria, including formats supported by the TV set, how the Plex app is configured, limitations such as bandwidth restrictions, limitations of the streaming protocol used between the client and server.

If Plex cannot direct play or direct stream the media, it will be transcoded by the Plex Media Server to a compatible format, then streamed to the Plex client.

The choice of whether to decode locally or pass to external audio equipment depends on how the TV is configured.

Some Plex apps, such as that for Android TV, have a passthrough option for audio (enabled/disabled/optical). This controls the actions of the Plex app. It does not control the actions of the TV.

For example, the app could have passthrough enabled, but the TV play audio through local speakers. Similarly, the app could have passthrough = optical, but pass audio to a soundbar via HDMI-eARC.

Additional Information

If you are looking for the broadest audio support, do not look to the TV based apps. Acquire an Nvidia Shield Pro and attach it to an HDMI input on the audio equipment (soundbar, receiver, etc). The Shield Pro and Xbox are the only off the shelf devices that passthrough TrueHD + Atmos and DTS:X audio formats, while also supporting HDR10 and Dolby Vision video. The Amazon Fire TV Cube 3rd gen will passthrough TrueHD + Atmos, but DTS is limited to the lossy, core 5.1 audio stream (no DTS-HD or DTS:X).

Not all TVs passthrough all audio formats for devices attached to HDMI inputs. For example, Samsung and LG block all DTS audio formats. Hence the suggestion to attach the Shield directly to the audio equipment instead of the TV.

Do not acquire the Shield non-Pro “tube” model. It has problems with high bit rate media such as 4K HDR Blu-ray rips with lossless audio.

Regarding the Plex app on TVs…

Audio support varies widely by manufacturer. Unfortunately, there is no master list or matrix of what is supported by each TV. The best source is usually the tech specs from the TV manufacturer website and review sites such as rtings.com (which tests audio support as part of their reviews).

Plex uses the native video player for each TV. Therefore, it is limited by what the TV itself supports.

Another limitation is the connection from the TV to external audio equipment. Attempting to pass an unsupported audio format results in the audio being transcoded by Plex Media Server.

  • Optical/Coax is limited to AC3 & DTS at 5.1 channels or less and PCM 2.0 or less.
  • HDMI-ARC adds support for EAC3 at 5.1 or less and PCM at 5.1 or less.
  • HDMI-eARC adds support for lossless audio formats such as TrueHD and DTS-HD.

TrueHD Audio

No TV supports decoding of TrueHD audio. The audio will be transcoded by Plex Media Server to another format. Atmos information, if present, is lost in the process.

No TV supports passing TrueHD audio over HDMI-eARC to attached audio equipment. The audio will be transcoded by Plex Media Server to a supported format. Atmos information, if present, is lost in the process.

DTS audio support varies by manufacturer.

Current Samsung and LG TVs do not decode any DTS audio format. It will be transcoded by Plex Media Server to a supported format. DTS:X info (their competitor to Atmos) is lost in the process.

The same with passthrough. The audio will be transcoded to a supported format.

Many Android TV based sets, such as Sony, will pass DTS audio formats.

Other Audio Formats

In general, you can expect most sets to decode and passthrough AC3 and EAC3 (including EAC3 Atmos) up to 5.1 channels and PCM up to 5.1 channels. As mentioned above, when using external audio, the connection between the TV and audio equipment may limit things.

AAC and Opus will most likely be converted to PCM by the TV set for passthrough to attached audio equipment.

2 Likes

Additional Info https://support.plex.tv/articles/203810286-what-media-formats-are-supported/

1 Like

FordGuy61, thanks for providing the information, much appreciated. Unfortunately we are not using the Nvidea Shield (but useful information anyway).

As I understand from your response, the Plex Player / App on any TV (this is device of focus), does not decode the stream (Video or Audio) directly, instead it forwards this to the native media player for the device and this determines the available codecs (supported protocols).

Now that I understand this, are you able to shed any further light on Questions 2 through 4 specifically.

Thanks
Ian

Q2:
The Plex app does not have its own video/audio player. It uses the TVs native video/audio player, including the audio/video codecs supplied by the TV.

So, when you play a movie using the Plex app, and are using the TV speakers, it is the TV’s native app that is decoding and playing the audio.

When you play a movie using the Plex app, and are using external sound equipment, it is the TV’s native app that is passing the audio to the external sound equipment.

Q3:
The Plex app queries the TV set to find out what audio/video/subtitle formats are supported. Some information will be known in advance, since the TV set has to adhere to certain broadcast standards, including certain video/audio/subtitle formats.

Q4:
When you play a file, the Plex app tells Plex Media Server (PMS) what file you want to watch and what audio/video/subtitle formats it supports.

The Plex Media Server looks at the file and compares the file’s formats to what the TV supports.

If the TV supports the file’s formats, PMS will direct play the file, sending it unaltered to the TV set.

If the TV does not support one or more of the video/audio/subtitle formats, PMS will transcode the unsupported format to a supported format. PMS then streams the file to the client.

There are some things that can influence if the media is direct played or transcoded. For example, PMS may have to transcode the media to fit under a bandwidth limit when streaming remotely.

1 Like

FordGuy61. Thanks for the additional info. Nice and concise.

This has now answered all my questions and helped me better understand how the Plex Player App is working. Please consider this now closed.

1 Like

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