Server Version#: 1.19.4.2935
Player Version#: chromecast ultra , android TV, Plex for kodi
Ok so the title is a bit grandiose. I’m half way there but posting this stuff here is like shouting into a bucket so if I get any feed back I’ll try harder.
Just for kicks I downloaded a few Dolby TrueHD 7.1 and ATMOS and DTS trailers from thedigitaltheater.com and played about.
All players set for passthrough where possible and the onkyo txl50 is compatible.
Plex for kodi has passthrough enabled and all audio codexs are enabled
4k HDMI cable through ARC input from TV to amp
Chromecast ultra in TV HDMI port (firmware 1.42.183786)
TV is sony bravia 55 x9005f (EU Oreo update factory reset after update)
(cast software on TV is version 1.17.211678)
My findings
for trueHD
Andoid TV transcodes audio to eac3 and 1mbit
kodi plays!
Casting to android TV transcodes to ac3 600kbs
Casting to the chromecast ultra fails to play. (h4)
A standard DTS file
android TV fails to play
kodi fails to play
casting to android transcodes to ac3 600
CHromecast ultra fails to play H4
If anyone from plex gets back to me I’ll run this all again and write down what the file format is according to media info and what plex is detecting (its audio stream labels are variable)
If not, then lossless audio such as TrueHD and dts-HD MA will transcode.
HDMI-ARC cannot pass TrueHD and dts-HD MA audio due to bandwidth restrictions. HDMI-eARC is required for this, and both TV & audio gear must support eARC or the connection falls back to ARC.
Note also that TV manufacturers currently restrict on-board apps such from passing lossless audio via eARC. Devices attached to the TV HDMI ports may pass lossless audio via HDMI-eARC to attached audio equipment.
To monitor transcoding, use the Plex Dashboard. It will show you to which formats the audio is being transcoded.
You can also pull the Plex server logs to view transcode activity. Set your server for debug logs. Verbose level not needed. Look for lines with MDE: (Media Decision Engine).
It is possible that the Plex client and/or the client platform decodes the audio to another format. This varies by platform and is not reflected in the Plex Dashboard (the Dashboard shows what happens on the server, not the client). The activity may or may not be reflected in the Plex client logs. It depends if the decode is performed by the Plex client or by the platform itself.
Example: Plex LG SmartTV app passing audio via HDMI-ARC to attached receiver. Plex Media Server transcodes TrueHD 7.1 audio to AAC 5.1. The LG passes the audio as AC3 5.1 to the attached receiver. Plex Dashboard shows the transcode to AAC. The receiver display shows Dolby Digital 5.1.
Example: Amazon Fire Stick. Set the FireStick audio to EAC3 only. The FireStick sends all audio as EAC3, even if the Plex Server transcodes it to a different format, such as AAC. Change FireStick audio to AC3 only & repeat. All audio is then sent as AC3. This happens on the FireStick, so is not reflected in the Plex server or client logs.
FYI, if you’re looking for a way to play TrueHD + Atmos audio, you have one choice: the Nvidia Shield. It is the only Plex client that will pass TrueHD + Atmos to attached audio gear. It also passes dts-HD MA and dts:X. The attached audio equipment must also support the desired formats and HDMI-eARC if applicable.
The connection options are:
Shield <-- HDMI --> Audio Gear <-- HDMI --> TV
or
Shield <-- HDMI --> TV <-- HDMI-eARC --> Audio Gear
The AppleTV 4K and Roku are close alternatives.
The AppleTV 4K decodes TrueHD to PCM and passes it to attached audio equipment. Apple does not permit passthrough of TrueHD audio. PCM is lossless, so there is no audio degradation. Any Atmos information is lost in the process.
I believe the Roku behaves similarly. Others can verify.
Interestingly its running v.1.36 casting firmware which is about when the chrome cast ultra messed up (its on 1.46) Although that’s a moot point because plex app is working now.