Hello, curious about what I’m seeing here-- file is MKV, H264 with 6-channel AC3 at 448 kb/s
I’m seeing in the log that the audio was transcoded to same format AC3, still CBR, but at a rate of 597 kb/s-- if it’s not changing the codec why would it choose to increase the CBR audio rate instead of direct play?
Is it unable to copy the audio stream because of the other items needing transcode? or maybe the subtitle burn?
<Variant id="aa04be81-2698-4b1e-8b43-bde217880b3e" targetBitrate="3866" context="streaming" sourceVideoCodec="h264" sourceAudioCodec="ac3" videoDecision="transcode" audioDecision="transcode" subtitleDecision="burn" protocol="hls" container="mpegts" videoCodec="h264" audioCodec="ac3" audioChannels="6" transcodeHwRequested="1" transcodeHwDecoding="dxva2" transcodeHwEncoding="mf" transcodeHwDecodingTitle="Windows (DXVA2)" transcodeHwEncodingTitle="Windows (Media Foundation)" transcodeHwFullPipeline="0"> <Media id="5600" videoProfile="high" audioChannels="6" audioCodec="ac3" bitrate="3681" container="mpegts" duration="7485478" height="480" protocol="hls" videoCodec="h264" videoFrameRate="24p" videoResolution="480p" width="854" selected="1"> <Part id="5698" videoProfile="high" bitrate="3681" container="mpegts" duration="7485478" height="480" protocol="hls" width="854" decision="transcode" selected="1"> <Stream bitrate="3084" codec="h264" default="1" frameRate="23.975999999999999" height="480" id="12346" streamType="1" width="854" decision="transcode" location="segments-av" /> <Stream bitrate="597" bitrateMode="cbr" channels="6" codec="ac3" default="1" id="12347" language="English" languageCode="eng" selected="1" streamType="2" decision="transcode" location="segments-av" /> <Stream burn="1" default="1" forced="1" id="12348" language="English" languageCode="eng" selected="1" streamType="3" decision="burn" location="segments-av" />

Was this a playback or an ‘optimize’ or a ‘Sync’?
Which client / opimiziation profile?
The reason for the transcoding decision is also in the Plex Media Server.log file.
activate ‘debug’ logging (not ‘verbose’)
play the file
search for lines in the log starting with MDE:
@OttoKerner said:
search for lines in the log starting with MDE:
Thanks for the reply.
It’s a remote playback, non optimized and not synced. File is a re-encoded DVD rip in H264/AC3 with MKV container.
Remote limit is set at 4Mbps/720, remote client is a current model TCL Roku TV (Profile is Roku-7.x)
Looking at the log I’m seeing a lot of “Direct Play is disabled” messaging but I had user check settings on client a few days ago, he confirmed direct play is auto and direct stream is checked/enabled.
Feb 11, 2018 09:04:38.502 [22756] DEBUG - MDE: Selected protocol hls; container: mpegts
Feb 11, 2018 09:04:38.502 [22756] DEBUG - MDE: analyzing media item 5598
Feb 11, 2018 09:04:38.502 [22756] DEBUG - MDE: Return of the Jedi (1983): Direct Play is disabled
Feb 11, 2018 09:04:38.502 [22756] DEBUG - MDE: Return of the Jedi (1983): media must be transcoded in order to use the hls protocol
Feb 11, 2018 09:04:38.502 [22756] DEBUG - MDE: Return of the Jedi (1983): no direct play video profile exists for http/mkv/h264/ac3
Feb 11, 2018 09:04:38.502 [22756] DEBUG - MDE: Return of the Jedi (1983): selected subtitle cannot be converted to a compatible format, burning into video stream
Feb 11, 2018 09:04:38.502 [22756] DEBUG - MDE: Return of the Jedi (1983): Direct Streaming is disabled, so video stream will be transcoded
Feb 11, 2018 09:04:38.502 [22756] DEBUG - MDE: Return of the Jedi (1983): no remuxable profile found, so video stream will be transcoded
Feb 11, 2018 09:04:38.696 [22756] DEBUG - MDE: Return of the Jedi (1983): Audio Direct Streaming is disabled, so video’s audio stream will be transcoded
It cannot use the original audio stream with 5.1 channels, because the Roku 7 profile has a limit of 2 channels for all audio formats.
<VideoAudioCodec name="aac,mp3,mp2,pcm,flac,alac">
<Limitations>
<UpperBound name="audio.channels" value="2" />
<LowerBound name="audio.samplingRate" value="22050" />
</Limitations>
</VideoAudioCodec>
<VideoAudioCodec name="ac3">
<Limitations>
<LowerBound name="audio.channels" value="2" />
</Limitations>
</VideoAudioCodec>
<MusicCodec name="aac">
<Limitations>
<UpperBound name="audio.channels" value="2" />
</Limitations>
</MusicCodec>
The TV apparently has only 2 speakers and is unable to mix down from 5.1 itself. So the server has to do it. Since every conversion involves some loss of quality, it is not the worst decision to allow for a little higher audio bitrate.
@OttoKerner said:
It cannot use the original audio stream with 5.1 channels, because the Roku 7 profile has a limit of 2 channels for all audio formats.
<VideoAudioCodec name="aac,mp3,mp2,pcm,flac,alac">
<Limitations>
<UpperBound name="audio.channels" value="2" />
<LowerBound name="audio.samplingRate" value="22050" />
</Limitations>
</VideoAudioCodec>
<VideoAudioCodec name="ac3">
<Limitations>
<LowerBound name="audio.channels" value="2" />
</Limitations>
</VideoAudioCodec>
<MusicCodec name="aac">
<Limitations>
<UpperBound name="audio.channels" value="2" />
</Limitations>
</MusicCodec>
The TV apparently has only 2 speakers and is unable to mix down from 5.1 itself. So the server has to do it. Since every conversion involves some loss of quality, it is not the worst decision to allow for a little higher audio bitrate.
Hmm in the Plex Transcoder Statistics.log it indicates it’s still transcoding out to 6 channels?
<Stream bitrate=“597” bitrateMode=“cbr” channels=“6” codec=“ac3”
Also I see AC3 is called out with a “lowerbound”, doesn’t that mean a minimum 2 channels, not a limit?
User does have a 2.1 soundbar capable of decoding AC3, should be able to do the downmix itself I would think
Now I’m really confused, all 3 of these titles are AC3 at 448 kb/s-- 1st title did the transcode to 597 kb/s, 2nd title apparently was able to copy. 3rd title was showing transcode when I posted the MDE lines but I think it’s doing a copy now too…
Stream bitrate=“448” bitrateMode=“cbr” channels=“6” codec=“ac3” default=“1” id=“12344” language=“English” languageCode=“eng” requiredBandwidths=“448,448,448,448,448,448,448,448” selected=“1” streamType=“2” decision=“copy” location=“segments-av”
Here’s a bit more from the media server log;
I’m guessing ‘copy’ isn’t the same as direct play since it has to go in the overall transcoded output?
Feb 11, 2018 09:04:38.696 [22756] DEBUG - MDE: Return of the Jedi (1983): Audio Direct Streaming is disabled, so video’s audio stream will be transcoded
Feb 11, 2018 09:04:39.082 [22756] DEBUG - Streaming Resource: Reached Decision id=2062 codes=(General=1001,Direct play not available; Conversion OK. Direct Play=3000,App cannot direct play this item. Direct play is disabled. Transcode=1001,Direct play not available; Conversion OK.) media=(id=5598 part=(id=5696 decision=transcode container=mpegts protocol=hls streams=(Video=(id=12340 decision=transcode bitrate=3258 encoder=h264_mf width=854 height=480) Audio=(id=12341 decision=copy channels=6 rate=48000) Subtitle=(id=12342 decision=burn languageCode=eng location=embedded))))
You are right about the LowerBound. My mistake. This is to avoid AC3 mono.
stream ‘copy’ is ‘Direct Stream’ which is not that bad. It is the exact same quality as the source stream. Just a little bit more cpu load because it must remux the stream into a different container.
I have no idea why it would decide to transcode the audio in that one case, buit not the other two. Sorry!