NVIDIA Shield: EAC3 to OPUS audio transcoding

Server Version#: 1.32.8.7639
Player Version#: 10.7.0.5386

Playing media on the NVIDIA Shield results in audio transcoding from EAC3 to OPUS, while EAC3 is supported by the Shield. The Shield product page mentions Dolby Digital Plus, and when I go to the HDMI status page in the Shield settings I also see “DD+”.

Both my friend and I got a NVIDIA Shield Pro, and both are transcoding audio from EAC3 to OPUS.

Why is this happening, and how to prevent it?

Jan 28, 2024 15:20:20.236 [548038430944] DEBUG - [Req#10bc6] [Now] Device is Android (SHIELD Android TV).
Jan 28, 2024 15:20:20.237 [548038430944] DEBUG - [Req#10bc6] [Now] Profile is Android

[…]

Jan 28, 2024 15:20:26.341 [548117561568] DEBUG - [Req#10c06/Transcode] TranscodeUniversalRequest: adapting profile with augmentation data: add-limitation(scope=videoCodec&scopeName=h264&type=upperBound&name=video.level&value=52)+add-limitation(scope=videoCodec&scopeName=&type=upperBound&name=video.width&value=3840&replace=true)+add-limitation(scope=videoCodec&scopeName=&type=upperBound&name=video.height&value=2160&replace=true)+add-transcode-target(type=videoProfile&context=streaming&protocol=hls&container=mkv&videoCodec=h264,hevc,mpeg2video&audioCodec=aac_latm,aac,aac,ac3,alac,dca,flac,mp1,mp2,mp3,opus,vorbis,wmav1,wmav2,wmalossless,wmapro,wmavoice&subtitleCodec=ass,pgs,subrip,dvd_subtitle,mov_text,vtt,dvb_subtitle&replace=true)+add-transcode-target-settings(type=videoProfile&context=streaming&protocol=hls&CopyMatroskaAttachments=true)+add-limitation(scope=videoAudioCodec&scopeName=aac&type=upperBound&name=audio.channels&value=8&replace=true)+add-transcode-target-audio-codec(type=videoProfile&context=streaming&protocol=hls&audioCodec=mp3)+add-transcode-target-audio-codec(type=videoProfile&context=streaming&protocol=hls&audioCodec=ac3)+add-transcode-target-audio-codec(type=videoProfile&context=streaming&protocol=hls&audioCodec=dca)+add-transcode-target-audio-codec(type=videoProfile&context=streaming&protocol=hls&audioCodec=opus)+add-limitation(scope=videoCodec&scopeName=*&type=NotMatch&name=video.anamorphic&value=999&replace=true)+add-transcode-target(type=subtitleProfile&context=streaming&protocol=http&container=mkv&subtitleCodec=srt)+append-transcode-target-codec(type=videoProfile&context=streaming&protocol=hls&videoCodec=mpeg2video)+append-transcode-target-codec(type=videoProfile&context=streaming&protocol=hls&videoCodec=hevc)+add-limitation(scope=videoCodec&scopeName=hevc&type=Match&name=video.profile&list=main|main 10)+add-limitation(scope=videoTranscodeTarget&scopeName=hevc&scopeType=videoCodec&context=streaming&protocol=hls&type=match&name=video.colorTrc&list=smpte2084|bt709|bt470m|smpte240m|smpte170m|bt470bg|bt2020-10&isRequired=false)
Jan 28, 2024 15:20:26.342 [548117561568] DEBUG - [Req#10c06/Transcode] TranscodeUniversalRequest: using augmented profile Android

[…]

Jan 28, 2024 15:20:26.368 [548117561568] DEBUG - [Req#10c06/Transcode] MDE: Cannot direct stream audio stream due to codec eac3 when profile only allows opus

The shield is telling your server that your speakers cannot play eac3 so it is transcoding. Can your speakers play eac3? What is your setup.

I’ve had this discussion before and Plex claims the Shield does not support EAC3. I ended up turning on HDMI passthrough as the TV I was connected on supported it.

The shield is telling your server that your speakers cannot play eac3 so it is transcoding. Can your speakers play eac3? What is your setup.

The Shield is directly connected via HDMI to my Samsung QE55Q70R TV which supports Dolby Digital Plus.

I’ve had this discussion before and Plex claims the Shield does not support EAC3. I ended up turning on HDMI passthrough as the TV I was connected on supported it.

I tried to play with passthrough on Plex and the Shield system settings, without success.

I had similar problems a few years back, and I can relay what I learned then, but I don’t know if this has changed.

The Plex client must be set to HDMI passthrough.

Dolby processing must be turned off on the Shield.

The supported codecs reported by the Shield must be set to automatic. This is because if you set them yourself in the manual mode, Plex can’t read them.

So, in essence, no matter your target device (receiver etc) the next-in-chain device must report support for EAC3 to your Shield. You can see if it does this by looking at the greyed out switches after you’ve picked “auto”.

This is a massive pain for devices that passthrough any audio but do not report native support. In the end I got a receiver that passthroughs the video, and just plug the thing into the Shield, so it could report the correct codecs.

1 Like

This article says it doesn’t but it can pass it through to a sound bar?

  • Dolby Digital Plus Oui

Source: Samsung Product Page

I had similar problems a few years back, and I can relay what I learned then, but I don’t know if this has changed.

The Plex client must be set to HDMI passthrough.

Dolby processing must be turned off on the Shield.

The supported codecs reported by the Shield must be set to automatic. This is because if you set them yourself in the manual mode, Plex can’t read them.

So, in essence, no matter your target device (receiver etc) the next-in-chain device must report support for EAC3 to your Shield. You can see if it does this by looking at the greyed out switches after you’ve picked “auto”.

This is a massive pain for devices that passthrough any audio but do not report native support. In the end I got a receiver that passthroughs the video, and just plug the thing into the Shield, so it could report the correct codecs.

I swear I played with all the possible settings combinations, but I tried yours just now and it worked! Thanks a lot. That being said, I didn’t find any Dolby processing entry.

Maybe I’m not understanding something though, but I expected that EAC3 tracks should always be direct-played considering the Shield natively supports DD+, passthrough enabled or not (the Shield doing its own transcoding for the receiving device if needed, not Plex).

It’s in Shield settings → display and sound → advanced sound settings → Dolby audio processing.

Well, in my experience, you don’t want any processing or interference from the Shield if you can avoid it, simply because it’s an extra step that can go wrong, which could be what you were seeing.

Because in the end, you simply want the audio in your file to find it’s way to your target device.

So, enabling HDMI passthrough and disabling Dolby processing ensures the audio gets passed through correctly, with minimal fuss, accordingly with the codec support that the Shield reports to Plex.

Also, keep in mind that the Shield does actually slow down a little, if it handles transcoding of the audio. It’s not much but it can cause sluggishness in menus etc. You avoid that too by passing through.

Anyway, glad it works now.

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