Samsung 2025 Plex App transcodes (E)AC3 to AAC for no reason

Server Version#: 1.42.2.10156 (on QNAP TVS-473)
Player Version#: 5.93.2 (on Samsung S95F OLED TV 2025)

Playback information displayed:

File:
Mode: Direct Stream, speed: 5.2
Container: mkv ⇨ mp4
Protocol: dash
Player Estimated Bandwidth:

Video:
Codec: hevc
Resolution: 3840x2160
Bitrate: 44.9 Mbps
FPS: 23.976
Aspect: 1.78

Audio:
Codec: eac3 ⇨ aac
Bitrate: 960 ⇨ 774
Channels: 5.1 ⇨

Server:
Location: LAN
URI: http://192.168.7.7:32400

Decision:
Reasons:
Cannot direct play with protocol: http, codec: eac3. Reason: Player does not support selecting alternative audio stream.
Direct play not available; Conversion OK.

Misc:
Time: 1659.021 / 3095.092 (53.60%)
Status: paused

In the server logs:

Nov 06, 2025 23:27:42.067 [140603552394040] DEBUG - [Req#418/Transcode] TranscodeUniversalRequest: adapting profile with augmentation data: add-transcode-target(type=videoProfile&context=all&protocol=dash&container=mp4&videoCodec=h264,hevc&audioCodec=aac)+add-limitation(scope=videoAudioCodec&scopeName=hevc&scopeType=videoCodec&context=all&protocol=dash&type=match&name=video.orientation&list=0)+add-limitation(scope=videoCodec&scopeName=h264&type=upperBound&name=video.level&value=51)+add-limitation(scope=videoTranscodeTarget&scopeName=h264&scopeType=videoCodec&context=all&protocol=dash&type=upperBound&name=video.width&value=4096)+add-limitation(scope=videoTranscodeTarget&scopeName=h264&scopeType=videoCodec&context=all&protocol=dash&type=upperBound&name=video.height&value=2160)+add-limitation(scope=videoTranscodeTarget&scopeName=h264&scopeType=videoCodec&context=all&protocol=dash&type=upperBound&name=video.bitDepth&value=8)+add-limitation(scope=videoTranscodeTarget&scopeName=h264&scopeType=videoCodec&context=all&protocol=dash&type=upperBound&name=video.frameRate&value=60)+add-limitation(scope=videoTranscodeTarget&scopeName=h264&scopeType=videoCodec&context=all&protocol=dash&type=upperBound&name=video.bitrate&value=60000)+add-limitation(scope=videoTranscodeTarget&scopeName=hevc&scopeType=videoCodec&context=all&protocol=dash&type=upperBound&name=video.width&value=4096)+add-limitation(scope=videoTranscodeTarget&scopeName=hevc&scopeType=videoCodec&context=all&protocol=dash&type=upperBound&name=video.height&value=2160)+add-limitation(scope=videoTranscodeTarget&scopeName=hevc&scopeType=videoCodec&context=all&protocol=dash&type=upperBound&name=video.bitDepth&value=10)+add-limitation(scope=videoTranscodeTarget&scopeName=hevc&scopeType=videoCodec&context=all&protocol=dash&type=upperBound&name=video.frameRate&value=60)+add-limitation(scope=videoTranscodeTarget&scopeName=hevc&scopeType=videoCodec&context=all&protocol=dash&type=upperBound&name=video.bitrate&value=80000)+add-limitation(scope=videoTranscodeTarget&scopeName=hevc&scopeType=videoCodec&context=all&type=match&name=video.colorTrc&protocol=dash&list=bt709|bt470m|bt470bg|smpte170m|smpte240m|bt2020-10|smpte2084&isRequired=false)+add-limitation(scope=videoCodec&scopeName=hevc&type=notMatch&name=video.DOVIProfile&value=5)+add-transcode-target-settings(type=videoProfile&context=all&protocol=dash&IncludeMapInEmptyVTT=true)
Nov 06, 2025 23:27:42.068 [140603552394040] DEBUG - [Req#418/Transcode] TranscodeUniversalRequest: using augmented profile Generic
Nov 06, 2025 23:27:42.068 [140603552394040] DEBUG - [Req#418/Transcode] Downloading document http://127.0.0.1:32400/library/metadata/1723?includeBandwidths=1&offset=-1&X-Plex-Incomplete-Segments=1&X-Plex-Session-Identifier=a0vxq0vtstwhyv2m1zeno73p
Nov 06, 2025 23:27:42.076 [140603552394040] DEBUG - [Req#418/Transcode] Audio Stream: 5591, Subtitle Stream: 0
Nov 06, 2025 23:27:42.078 [140603552394040] DEBUG - [Req#418/Transcode] Audio Stream: 125849, Subtitle Stream: 0
Nov 06, 2025 23:27:42.090 [140603552394040] DEBUG - [Req#418/Transcode] MDE: Selected protocol dash; container: mp4
Nov 06, 2025 23:27:42.090 [140603552394040] DEBUG - [Req#418/Transcode] MDE: analyzing media item 54082
Nov 06, 2025 23:27:42.090 [140603552394040] DEBUG - [Req#418/Transcode] MDE: E2 - Mountains: Direct Play is disabled
Nov 06, 2025 23:27:42.090 [140603552394040] DEBUG - [Req#418/Transcode] MDE: E2 - Mountains: media must be transcoded in order to use the dash protocol
Nov 06, 2025 23:27:42.090 [140603552394040] DEBUG - [Req#418/Transcode] MDE: E2 - Mountains: selected audio stream is not the first audio stream and direct play stream selection is not enabled
Nov 06, 2025 23:27:42.090 [140603552394040] DEBUG - [Req#418/Transcode] MDE: E2 - Mountains: no direct play video profile exists for http/mkv/hevc
Nov 06, 2025 23:27:42.090 [140603552394040] DEBUG - [Req#418/Transcode] MDE: E2 - Mountains: no direct play video profile exists for http/mkv/hevc/eac3
Nov 06, 2025 23:27:42.090 [140603552394040] DEBUG - [Req#418/Transcode] MDE: E2 - Mountains: no direct play video profile exists for http/mkv/hevc/eac3
Nov 06, 2025 23:27:42.090 [140603552394040] DEBUG - [Req#418/Transcode] MDE: Cannot direct stream audio stream due to codec eac3 when profile only allows aac
Nov 06, 2025 23:27:42.090 [140603552394040] DEBUG - [Req#418/Transcode] MDE: Planet Earth II - S1 E2 - Mountains: selected media 1 / 54082


Why newest Samsung profile doesn’t include AC3 and EAC3 as the supported audio codecs?

If I force Direct Play, the same file is playing EAC3 codec fine.

Why is transcoding used when it is not needed? It causes delays and CPU usage on NAS.

Thanks in advance for suggestions.

Are you sure? Your logs indicate the eac3 track is not the first audio track and the samsung app can only direct play the first audio track.

Yes, I understand why the whole file cannot be played with direct play, but the point is that the second track is being transcoded from eac3 to aac which is obviously wrong: the TV will be able to play eac3 just fine, there’s no need to transcode it.

The tv may only support eac3 when direct played. It may not be supported when using the streaming protocol during a transcode. This is a common limitation on some players.

Sorry, are you sure about that or just guessing?