I’m running PMS on a Synology NAS and my Plex client is running on a nVidia Shield TV Pro (Android TV). The Shield TV Pro in connected to a Sony AV receiver that can decode Dobly Digital and DTS.
Previously, when I played videos with unsupported audio, such as 5.1 and 7.1 AAC files, the audio was transcoded to AC3 (Dobly Digital) and I got 5.1 sound. However, since the latest update to the Plex client, unsupported audio is now only transcoded to OPUS, which my AV receiver does not support. As a result, every video file with unsupported audio now just plays in stereo. Who thought this was a good idea!?
Is there a way that I can disable transcoding to OPUS? My understanding is that it is the client that dictates the transcoding. When I go into the settings within Plex on my Shield TV (the client) I have audio passthrough enabled and AC3 (DD) and DTS are ticked, but there’s no way to disable OPUS.
As a result of this latest change with transcoding to OPUS, I’ve gone back to using KODI where I can actually still get 5.1 audio for videos with AAC audio, versus Plex, which will now only give me stereo for the exact same file.
Thanks. Before creating this thread I did search for ‘disable opus’, and various similar things, but I couldn’t find any other threads about disabling transcoding to OPUS. I only found threads about transcoding to OPUS instead of AC3 etc. I’ll have another look.
Can you please elaborate on what do you mean by “try optical”? My nVidia Shield TV Pro doesn’t have optical audio output and plugs into my AV receiver via HDMI.
So I’ve been playing around with the settings of my nVidia Shield and Plex client. Turns out my AV receiver (a Sony STR-DN840) can decode pretty much all the common audio formats except for Dolby Atmos and AAC. It handles Dolby Digital (AC3), Dolby Digital Plus (E-AC3), Dolby TrueHD, DTS, DTS-HD, and more. So I have all these audio formats enabled in my Shield’s settings, but I have Atmos disabled since the AV receiver cannot decode Atmos.
Within the Plex client settings:
If I set passthrough to HDMI, then any video with audio encoded in AC3, E-AC3, DTS, DTS-HD (non-AAC) plays via direct play (in terms of audio) and works perfectly in that I get 5.1. However, any video with AAC audio also direct plays, but since my AV receiver doesn’t handle AAC I just get stereo audio output.
If I set passthrough to Optical and then tick/enable AC3 and DTS, then everything is transcoded to OPUS, including video files that AC3, E-AC3, DTS and DTS-HD audio, which my receiver can actually decode. I guess this is because my Shield connects to the AV receiver via HDMI, as opposed to optical, meaning that with passthrough set to optical there’s no longer any passthrough for the HMDI signal that is actually in use. And since there’s no passthrough on the HDMI output, everything gets transcoded to OPUS and I end up getting stereo output.
If I disable passthrough then everything gets transcoded to OPUS and I end up with stereo, same as when passthrough is set to optical (which is not actually in use).
So basically this latest update has killed the ability for me to get 5.1 audio for any video file that has AAC audio, even though I was previously able to transcode AAC audio to AC3 without any issues whatsoever. Not happy, Plex Dev Team!
Plex Media Server version?
Plex Android TV app version?
There was an issue with audio transcoding to stereo when the app was set to Optical. It was addressed in 8.25.0. The current version is 8.25.1.
Check the version installed on your Shield and update if necessary.
See Authorized Devices for a list of servers, clients, and their respective versions.
There is no need to do this. The Shield and Sony receiver exchange capabilities via the HDMI interface.
The Optical setting is meant to emulate a connection via an optical cable. It is useful when the Shield is connected to a TV input via HDMI and the TV is connected to a receiver/soundbar via an optical or coax cable.
When set to Optical, the output will behave as an optical output. The supported audio formats are AC3 & dts at 5.1 or fewer channels and PCM 2.0. Other formats will be transcoded.
Set the Shield audio back to Auto.
Update the Plex app to 8.25.1 if on an earlier version
Set the Plex app to Passthrough = HDMI.
AC3/EAC3/dts/dts-HD should direct play and passthrough to your receiver.
AAC 5.1 (or fewer channels) should pass to your receiver as multi-channel PCM.
The specifications I see online do not list TrueHD as a supported audio format for the STR-DN840 (Sony website).
If TrueHD is not supported by the receiver, it will be transcoded by the Plex Media Server to a supported format. At one time TrueHD was transcoded to EAC3. However, it may now be transcoded to OPUS. I do not know what format will be passed from the Shield to the Sony receiver.
In any event, you should receive multi-channel audio for both AAC 5.1 and TrueHD 7.1/5.1.
PMS version: 1.24…5.5173-7000 (this the latest available for Synology NAS)
Plex client on Android TV: 8.24.1.28493 (2ae123ac)(this is the latest version available to Android TV through the Play Store, and if I try download the latest version for Shield TV/Android directly from Plex.tv it just directs me to the Play Store).
As per your suggestions, I set the Shield TV audio preferences back to auto and I set passthrough to HDMI. With these settings, video files with AC3 and DTS audio play properly as they are not transcoded and give me 5,1. However, videos with AAC are not transcoded either and Plex’s “Now Playing” dashboard reports Audio: “Unknown (AAC5.1) → Direct Play”. And since my AV receiver doesn’t support AAC I get stereo.
Within the Shield audio settings, I tried enabling “Stereo upmix - upmix stereo streams to 5.1 PCM” but I still only get stereo for AAC 5.1. So at this stage I’m still having to use KODI for anything that has AAC audio. Seems absurd that I cannot configure my Plex client to turn on or turn off the audio formats that my AV receiver can or cannot decode.
Okay, so good news. Plex 8.25.1.28703 just became available to my Shield TV through the Play Store. After installing 8.25.1.28703;
if I have Passthrough through set to HDMI, then AAC audio still direct plays, and I end up with stereo (because my AV receiver cannot decode it), but
if I have passthrough set to Optical with AC3 and DTS enabled, then AAC audio now gets transcoded to AC3 again, thankfully! What’s annoying though is that with these settings E-AC3 gets transcoded to AC3 even though my AV receiver can decode E-AC3, whereas DTS-HD still direct plays, even though DTS-HD isn’t an option I am able to tick/enable for the optical passthrough. So neither E-AC3 or DTS-HD have options for me to tick in the optical passthrough settings, but only E-AC3 gets transcoded AC3 whereas DTS-HD does not get transcoded to DTS.
Anyway, at least I’ve gotten away all AAC content being transcoded to OPUS
If you’ve got HDMI, AAC 5.1 should be decoded on the device and 5.1 PCM sent to the receiver. That’s what happens on my FIreStick Lite (2020) in Jellyfin – DTS/AC3/EAC3 pass through and AAC is decoded on the device. Receivers generally don’t decode AAC.
Don’t have Plex clients installed at the moment – so can’t test this myself in Plex. Just wanted to make clear what should happen with the AAC 5.1. You don’t want it transcoded to AC3 because you will lose quality – i.e. the AAC would be decompressed and the result recompressed as AC3.
Edit – Looks like we just posted at the same time. My response was to your previous post.
Well I’m not sure why but I definitely don’t get AAC 5.1 decoded and 5.1 PCM sent to the AV receiver. I just tested it again and when I had passthrough set to optical with AC3 and DTS ticked, when I played an AAC 5.1 file it was transcoded to AC3 (confirmed in Plex dashboard) and I got sound from all 5.1 speakers. But then I changed the Plex (client) settings to passthrough on HDMI and the same video with AAC 5.1 direct plays (confirmed in Plex dashboard) and I could only hear sound out of the front L and R speakers.
I’d certainly rather not have AAC transcoded to AC3 if it means reduced quality, but at this stage it’s better than AAC direct playing on an AV receiver that cannot handle it.
So based on what you said, I guess the question is why is the Plex client not decoding the AAC 5.1 to 5.1 PCM? I’ve been all through the client settings and Shield/Android TV settings and cannot find anything else to tweak.
When pass through is set to optical, you would be limiting yourself to 5.1 AC3 or stereo PCM going to the receiver anyway. Optical doesn’t have the bandwidth for 5.1 PCM.
As for the rest, it sounds pretty similar to other threads that I read on the issue. It sound like Plex is not catching all the situations correctly.
My setup: Shield Pro (2015) → Denon 4300
Plex app 8.25.1.
If I play a video with AAC 5.1 audio, the Shield sends it to the Denon as PCM 5.1.
Not sure why yours is not doing the same, as the Sony supports multichannel PCM.
Can you pull the Plex app log from the Shield and post it to the thread? It might show something.
See Android, Android TV, Fire TV, Portal Logs. Enable logging in the app and point a browser at http://[shield_ip_address]:32500/logging (displayed in lower right corner of Plex app settings screen). You’ll need to have the Plex app running to pull the log file. If you quit the app the info is not lost, but it cannot be accessed.
Also, check the Sony setup to see if something prevents mult-channel PCM from working. Inadvertent button push, wrong sound effect selected, etc.
Maybe, the AAC would be decoded to PCM if you left pass through off. By the way, I’m assuming your receiver has some sort of indicator/display that says what type of signal is being received. I would not rely on the information in the server dashboard or the playback info on the app.
With pass through off, AC3 should also be decoded by the app and 5.1 PCM sent to the receiver since the android app has an AC3 software decoder.
Every now and then the Plex team introduces changes which render my setup (Sonos Playbar) unable to get 5.1.
I don’t get why the codec mapping does not get exposed to the user without fiddling with device profiles on the server side. Having the ability to exclude certain codecs from the client UI would have saved months of precious lifetime to investigate transcode problems.