Server Version#:1.41.9.9961
Player Version#: ios 2025.20.0 (1153)
I am unable to get TrueHD to transcode on my Windows server. Direct play of TrueHD (e.g., on a Shield) works fine, but the server rightfully attempts to transcode TrueHD for iOS devices to OPUS and fails.
Several months ago I moved my PMS over to a Windows machine from a Synology where TrueHD was transcoding as it should. Everything else with PMS seems to be working fine, including transcoding 4k video with Intel QuickSync. When I attempt to watch a TrueHD file, I can see that the file is briefly created and then deleted from my transcode directory (separate USB drive with plenty of space).
I have tried deleting the codec folder (several times), but that does not help. I also tried adding the two EAE dll files to the Windows System32 folder (saw it in another thread) but that didnât help either.
From what I can see in the Plex logs (attached), it appears that EAE canât be found by plex for some reason. Is there some permission issue or registry issue I am missing? Maybe some setting that carried over from the Synology? Any help would be greatly appreciated!
Jul 23, 2025 12:36:50.000 [12072] ERROR - [Req#12b/Transcode/fc7d54e5-12d8-494c-b51b-1344bc6ddc22/41e8d5cc-8aea-45f6-bcea-0a90d22d5975] [truehd_eae @ 00000211e3ef1e80] EAE timeout! EAE not running, or wrong folder? Could not read â\?\D:\Transcode\Sessions\EasyAudioEncoder\Convert to WAV (to 8ch or less)\fc7d54e5-12d8-494c-b51b-1344bc6ddc22_14376-0-1.wavâ
Jul 23, 2025 12:36:50.010 [12072] ERROR - [Req#14b/Transcode/fc7d54e5-12d8-494c-b51b-1344bc6ddc22/41e8d5cc-8aea-45f6-bcea-0a90d22d5975] [truehd_eae @ 00000211e3ef1e80] error reading output: -5 (I/O error)
A gentle bump to see if anyone has any thoughts.
Iâm getting the same thing but on a nas. all previous âfixesâ donât work. Itâs almost like the EAE transcoder is borked.
The only other thing that I can add to this is that if I tell Plex to create an optimized version of a video with TrueHD, it will work but will take 4 or 5 hours to transcode a 30 video. In other words, EAE itself doesnât seem to be failing exactly but rather it is just incredibly slow and likely so slow that when Plex transcodes TrueHD on the fly, it sees that slowness as an error.
I tried the latest Beta PMS today and that didnât seem to make any difference. I wish we could swap in a different EAE version to try. Or alternatively, it would be nice if the EAE program/exe generated a log file about what was going on.
I tried the beta as well today and still not working. I can see the transcoded wav files get created. I can open them and they have audio. I know plex has the correct permissions on the folders since it can write to the location.
What happens if you try to âoptimizeâ a file with TrueHD?
I get the same result as you. It takes forever and half. I donât want to pre-transcode all versions someone can select per show/movie.
Ok, thatâs a helpful result. It shows that EAE is actually working, but just very slowly. msamaras, are you running PMS on a Synology NAS? If so, it is interesting that this is happening on two different operating systems.
yes, I have it installed on my synology and not as a docker container. One thing to note that I am not running on synology hardware. It is running as a VM but that shouldnât matter.
@ChuckPa I know you are busy these days, but do you have any thoughts on this? I feel like I have exhausted every suggestion that others have had in the past.
Iâm a bit confused.
Are you saying that you are running a fully-blown virtual machine on your Syno, and not just a relatively lightly abstracting Docker container?
Are you trying to run the Linux/Synology version of Plex server within a virtual machine on Windows? That is a real stretch. Donât expect a sane performance.
I am running a VM server that hosts a synology instance. plex is running inside that as an installed app and not a docker. Synology is a linux distro but it is having the same issue listed here. Just making a correlation of windows/linux having similar problems with the codec.
But on a straight Windows 11 install with an Intel i3-10100T, like I am running, it should work. TrueHD encoding to Opus was working when I was running PMS on my Synology DS1517+ (no docker) with an Intel Atom C2538.
If that is an UHD rip which also requires tone mapping, then you are expecting a bit much from that little CPU. Even with Quicksync.
But that is just my opinion.
P.S. I see that the first playback in your logs is direct-streaming the video unchanged, and only the audio needs transcoding.
That lowers the sytem load significantly.
Though for some reason it chooses to still send 7.1 audio channels to the phone. Which also means it has to transcode 8 channels from TrueHD to Opus in realtime.
What kind of drive is D: ?
I turned off tone mapping since that does not work with this CPU. The âD:â drive is a USB 200Gb thumb drive formatted to exFAT. I tried relocating the transcode directory to the main SSD âC:â drive where PMS is installed and that didnât change anything, so I am not sure that is the issue.
@evilattorney
To clarify?
- Host CPU is an i3-10100T (w/ UHD 630 transcoding ASIC )
- Base host is a Windows machine
- Windows HyperV or similar hypervisor used to create XPEnology DSM instance
- PMS installed as native app on the XPE DSM instance
Issue is the amount of CPU time required for any transcoding ?
Is this correct?
If I have understood correctly,
-
On a Windows host, running a Linux VM, you will never get Linux HW transcoding. Windows does not grant that level of access directly to the hardware.
-
Audio transcoding (TrueHD â whatever) is trivial CPU work and only a few CPU percentage points of an i3.
Have I missed anything else ?
No, for me, I am running PMS directly on Windows 11 with no Linux at all. Another commenter is running a virtual instance of Synology, I believe, and seems to be having a similar issue (but maybe it isnât related). You are correct on the CPU.
In short, EAE seems to be running extremely slowly so that live TrueHD transcoding times out and optimizing TrueHD takes many, many hours. Quicksync works fine for transcoding 4k to 1080p otherwiseâŠit is just TrueHD that gives EAE problems.
I have tried whitelisting the entire Plex directory with EAE in Windows Security in case it was an antivirus issue, but that didnât work. Deleting the transcoder directory with EAE in it didnât work either. Permissions all seem to be fine on all the directories too.
Since I migrated my PMS over from a Synology install, is it possible that the wrong version of EAE is getting downloaded for some reason? The EAE .exe file does seem to be executable by itself, so perhaps that isnât it either.
In your logs,
Jul 23, 2025 12:36:45.073 [2588] DEBUG - [Req#e6/Transcode/fc7d54e5-12d8-494c-b51b-1344bc6ddc22] TPU: hardware transcoding: final decoder: , final encoder:
Jul 23, 2025 12:36:45.077 [2588] DEBUG - [Req#e6/Transcode/fc7d54e5-12d8-494c-b51b-1344bc6ddc22/JobRunner] Job running: set âEAE_ROOT=\?\D:\Transcode\Sessions\EasyAudioEncoderâ & set âFFMPEG_EXTERNAL_LIBS=\\?\C:\Users\charl\AppData\Local\Plex\ Media\ Server\Codecs\46f74ab-560174306fe167a5978a79dd-windows-x86_64\â & set âX_PLEX_TOKEN=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxâ & âC:\Program Files\Plex\Plex Media Server\Plex Transcoder.exeâ -codec:0 hevc -codec:1 truehd_eae -eae_prefix:1 fc7d54e5-12d8-494c-b51b-1344bc6ddc22_ -noaccurate_seek -analyzeduration 20000000 -probesize 20000000 -i â\crapper\Shared Files\Movies\Coraline\Coraline 2009 2160p BluRay REMUX HEVC DTS HD MA TrueHD 7 1 Atmos FGT ORARBG.mkvâ -map 0:0 -metadata:s:0 language=eng -codec:0 copy -filter_complex â[0:1] aresample=async=1:ochl=â7.1â:rematrix_maxval=0.000000dB:osr=48000[0]â -map [0] -metadata:s:1 language=eng -codec:1 libopus -b:1 1032k -segment_format matroska -f ssegment -individual_header_trailer 0 -flags +global_header -segment_header_filename header -segment_time 10 -segment_start_number 0 -segment_copyts 1 -segment_time_delta 0.0625 -segment_list http://127.0.0.1:32400/video/:/transcode/session/fc7d54e5-12d8-494c-b51b-1344bc6ddc22/41e8d5cc-8aea-45f6-bcea-0a90d22d5975/manifest?X-Plex-Http-Pipeline=infinite -segment_list_type csv -segment_list_size 5 -segment_list_separate_stream_times 1 -segment_list_unfinished 1 -segment_format_options output_ts_offset=10 -max_delay 5000000 -avoid_negative_ts disabled -map_metadata:g -1 -map_metadata:c -1 -map_chapters -1 media-%05d.ts -start_at_zero -copyts -vsync cfr -y -nostats -loglevel quiet -loglevel_plex error -progressurl http://127.0.0.1:32400/video/:/transcode/session/fc7d54e5-12d8-494c-b51b-1344bc6ddc22/41e8d5cc-8aea-45f6-bcea-0a90d22d5975/progress
This part shows the hardware is not being detected / used.
Jul 23, 2025 12:36:45.073 [2588] DEBUG - [Req#e6/Transcode/fc7d54e5-12d8-494c-b51b-1344bc6ddc22] TPU: hardware transcoding: final decoder: , final encoder:
Playing on Android can cause this.
When you play using the web browser, what happens ?
From a web browser, it will play a few seconds of a movie, then buffer for 30 seconds or so, then play a few more seconds. Dashboard says it is direct playing the video and transcoding the TrueHD to AAC. In my original logs in the first post, I was playing on an iPhone, but ipads and Rokus all do the same thing when TrueHD is present. Copied part of the log from the browser playback below:
Jul 31, 2025 14:06:04.980 [66620] DEBUG - [Req#2981b/Transcode] Starting a transcode session yp5fmb565pn5qd2w3ndlt258 at offset -1.0 (state=3)
Jul 31, 2025 14:06:04.998 [66620] DEBUG - [Req#2981b/Transcode] TPU: hardware transcoding: enabled, but no hardware decode accelerator found
Jul 31, 2025 14:06:05.000 [66620] DEBUG - [Req#2981b/Transcode] [Universal] Using local file path instead of URL: \crapper\Shared Files\Movies\Rogue One A Star Wars Story\Rogue One 2016 PROPER 2160p BluRay REMUX HEVC DTS HD MA TrueHD 7 1 Atmos FGT ORARBG.mkv
Jul 31, 2025 14:06:05.000 [66620] DEBUG - [Req#2981b/Transcode] TPU: hardware transcoding: final decoder: , final encoder:
Jul 31, 2025 14:06:05.003 [66620] DEBUG - [Req#2981b/Transcode/JobRunner] Job running: set âEAE_ROOT=\?\D:\Transcode\Sessions\EasyAudioEncoderâ & set âFFMPEG_EXTERNAL_LIBS=\\?\C:\Users\charl\AppData\Local\Plex\ Media\ Server\Codecs\46f74ab-560174306fe167a5978a79dd-windows-x86_64\â & set âX_PLEX_TOKEN=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxâ & âC:\Program Files\Plex\Plex Media Server\Plex Transcoder.exeâ -codec:0 hevc -codec:1 truehd_eae -eae_prefix:1 yp5fmb565pn5qd2w3ndlt258_ -noaccurate_seek -analyzeduration 20000000 -probesize 20000000 -i â\crapper\Shared Files\Movies\Rogue One A Star Wars Story\Rogue One 2016 PROPER 2160p BluRay REMUX HEVC DTS HD MA TrueHD 7 1 Atmos FGT ORARBG.mkvâ -map 0:0 -metadata:s:0 language=eng -codec:0 copy -filter_complex â[0:1] aresample=async=1:ochl=âstereoâ:rematrix_maxval=0.000000dB:osr=48000[0]â -map [0] -metadata:s:1 language=eng -codec:1 aac -b:1 256k -f dash -seg_duration 5 -dash_segment_type mp4 -init_seg_name init-stream$RepresentationID$.m4s -media_seg_name chunk-stream$RepresentationID$-$Number%05d$.m4s -window_size 5 -delete_removed false -skip_to_segment 1 -time_delta 0.0625 -manifest_name http://127.0.0.1:32400/video/:/transcode/session/yp5fmb565pn5qd2w3ndlt258/f5e09195-65ab-4d02-99c0-fab46c6bf421/manifest?X-Plex-Http-Pipeline=infinite -avoid_negative_ts disabled -map_metadata -1 -map_chapters -1 dash -start_at_zero -copyts -vsync cfr -y -nostats -loglevel quiet -loglevel_plex error -progressurl http://127.0.0.1:32400/video/:/transcode/session/yp5fmb565pn5qd2w3ndlt258/f5e09195-65ab-4d02-99c0-fab46c6bf421/progress
Jul 31, 2025 14:06:05.003 [66620] DEBUG - [Req#2981b/Transcode/JobRunner] In directory: âD:\Transcode\Sessions\plex-transcode-yp5fmb565pn5qd2w3ndlt258-f5e09195-65ab-4d02-99c0-fab46c6bf421â
This tells me your QSV ASIC (in the CPU) is not being found.
The audio is inconsequential compared to this.
I will get some help for this. Iâm not a Windows engineer.