Incompatible audio track forces video to transcode

Hi all!
I’ve recently bought a Xiaomi Mi TV Stick 4K (Android TV 11 os). In the majority of my movie collection the default audio track is Dolby TrueHD. I understand, that the Mi TV Stick does not support TrueHD audio codec, but whenever I start a movie, the server encodes the video track as well as the audio. If I select a compatible AC3 audio track, the video switches to direct play.
Why Plex transcodes only the audio track, if the video is fully supported by the device?
Can anyone help me with a workaround? It’s a hassle to switch between audio tracks all the time, because I have a Shield TV Pro in my home theatre setup, and it’s perfectly fine with the TrueHD audio.
Thx for the replies in advance!

The forced video transcode is a workaround which is necessary on some devices, which would otherwise develop an audio/video drift over time.
You can only prevent thios from happening if your file does contain a compatible audio stream.
You could insert a “lowest-common denominator” audio stream, additionally to the TrueHD stream. AAC 224 kbps stereo will probably play directly everywhere.

Thank you for the clarification! Is there any way to tell plex to play certain audio track when the default one is unsupported? I mean a flag, tag or track name which I can add in MKVToolNix?
The majority of the movie watching is on my Shield TV Pro with a dedicated 5.1.2 Atmos setup, therefore the default is always the TrueHD track.
Thx!

This might be something unique to the Xiaomi device.

Transcoded audio should not cause a video transcode on Android TV clients. It does not do so on other Android / Android TV devices, such as a Pixel 6a or Amazon FireStick 4K.

You can test this with your Shield. In the Shield (not Plex app) audio settings, disable TrueHD audio, then play media with TrueHD audio. The audio should transcode, the video should direct stream.

Monitor playback via Plex Dashboard → Now Playing + Expanded View to see what is transcoding.

No.

Plex picks the first audio track that matches your language selections. If it cannot direct play/stream the track, it will transcode it. There is no way to tell Plex to use an alternate track if the first one must be transcoded.

Plex will remember the selected audio track for a given file. The next time you play the same file it should use the same selected audio and subtitle tracks. Beware this can carry across clients. If you play a movie with an AC3 track on the Xiaomi, Plex may pick the AC3 track the next time you play the movie on your Shield.

Thx for the reply!
On my phone, Plex usually plays the video directly while transcodes the audio (same 4K HDR files with TrueHD or DTS-HD audio tracks). I don’t really like the Fire Stick, because of the Amazon UI, Xiaomi uses stock Android TV, but in retrospect, I should have gone with the Fire Stick because of this issue.
Seems I stuck with changing the audio tracks back and forth.

I read this in other topics and it is not accurate, at least in my testing.

Example:

  • I put a movie on my server.
  • The movie file includes two audio tracks: a 5.1 AC-3 track and 7.1 TrueHD Atmos track.
  • I use FFMPEG to downmix the 5.1 track into a 2.0 Stereo AAC track with metadata tags marking it as the default track.
  • In mkvtoolnix, I add the new Stereo track and set the track order to have the new 2.0 AAC track as the first audio track, with the “Default” flag set to Yes.
  • I include the 5.1 and 7.1 tracks as the 2nd and 3rd audio tracks, and set their default flags to No.
  • On playback, the Plex client automatically selects the 7.1 TrueHD track, causing Transcoding, unless the user manually selects the first audio track, which is the Stereo AAC track.

The first audio track that matches my language selections is the Stereo AAC track (Audio track 00 / first audio track). But Plex skips over this, and the second audio track, to default to the third audio track. It does so in clients on Roku TV, PS4, Web player, and Apple TV. My server version is updated and current. I can reproduce the error if necessary.

I started a thread that no one has replied to for this exact issue: Default Audio Track - Player Defaults to Surround Sound track! - #4 by Scoot

See my previous comment; I now encode a Stereo AAC track and include it in any video I add to my library. The issue is, even with “default track” tags and the Stereo AAC track as the first audio track (using --track-order in mkvtoolnix), Plex still chooses the track with the greatest number of audio channels by default, even if it causes transcoding, even if that track is the second or third audio track on the file.

Thanks for the info. I’ve never had Plex skip over the first audio track. However, it has been awhile since I’ve tested it. I’ll have to re-test.

I’ve been able to borrow a Firestick 4K Max, and the same thing happens when I select the TrueHD track: the server transcodes the video as well as the audio. Tried to dig in the Firestick’s settings, selected PCM audio as default, but nothing has changed.
Seems more device is affected with this behavior, or my server is the issue. It’s running on a Qnap NAS with Celeron N5105 CPU, latest Qnap OS with latest Plex server.

Same movie played on my Android phone and Firestick 4K Max:
plex transcode

Oh I see; interesting. I assumed that incompatible audio caused full file / video transcoding 100% of the time - thank you for running / showing the test.

Still, my question is more related to getting Plex to play the Stereo track by default to avoid all transcoding altogether. It’s frustrating to go through the work of re-encoding audio and remuxing files just to have Plex ignore the Stereo track and select the same 7.1 TrueHD audio that was causing the issue in the first place.

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