PMS Throttles 4K Stream from ~ 4.0 to 0.0, then buffers, unthrottles, rinse and repeat

I’ve been having trouble playing some 4K videos, but I feel that my server should be powerful enough, and I’m not running much else on it. So I looked into it a bit, and came on a Plex support document that led me to check the logs for speed, which showed me this seemingly strange pattern. As I understand it, the server only throttles a transcode when it’s running faster than necessary, which, at almost 4x, makes sense. But it appears to be throttling all the way down to 0.0, leading to a buffering problem.

My server has a slightly older FX 4100 chip (4 cores, 3.6 GHz) and 12GB DDR3 RAM with a 4GB RX 480 discreet GPU.

Server Version#: 1.14.1.5488
Player Version#: Plex for LG 3.80.1 / webOS 4.1.0

NOTE: I had to turn on verbose logging to see transcode speeds, but just including a small sample of logs below:

Dec 31, 2018 06:19:20.437 [4504] VERBOSE - * speed => 3.9
Dec 31, 2018 06:19:20.437 [4504] VERBOSE - * vdec_hw_status => 0
Dec 31, 2018 06:19:20.438 [4504] VERBOSE - It took 0.0 sec to serialize a list with 0 elements.
Dec 31, 2018 06:19:20.438 [12180] DEBUG - Completed: [127.0.0.1:62094] 206 PUT /video/:/transcode/session/bif/e5f992cf-bd32-4669-b2bb-dadee9e4482d/progress?progress=81.8&size=-22&remaining=269&vdec_packets=109898&vdec_sw_ok=109893&speed=3.9&vdec_hw_status=0 (14 live) 3ms 355 bytes (pipelined: 1860) (range: bytes=0-)
Dec 31, 2018 06:19:20.605 [12184] VERBOSE - Auth: We found auth token (xxxxxxxxxxxxxxxxxxxx), enabling token-based authentication.
Dec 31, 2018 06:19:20.605 [12184] VERBOSE - Auth: Came in with the master token, authorization succeeded.
Dec 31, 2018 06:19:20.607 [9728] DEBUG - Request: [127.0.0.1:51994 (Loopback)] PUT /video/:/transcode/session/9nagdpwkkmq2b7btlvlo4eqi/738ce64b-0ce8-4ef2-a14d-778a42b29120/progress?progress=2.4&size=-22&remaining=-1&vdec_packets=1494&vdec_hw_ok=1487&speed=0.0&vdec_hw_status=1 (14 live) Signed-in Token (BlaineKyle)
Dec 31, 2018 06:19:20.607 [9728] VERBOSE - * User-Agent => Lavf/58.9.100
Dec 31, 2018 06:19:20.607 [9728] VERBOSE - * Accept => /
Dec 31, 2018 06:19:20.608 [9728] VERBOSE - * Range => bytes=0-
Dec 31, 2018 06:19:20.608 [9728] VERBOSE - * Connection => keep-alive
Dec 31, 2018 06:19:20.608 [9728] VERBOSE - * Host => 127.0.0.1:32400
Dec 31, 2018 06:19:20.609 [9728] VERBOSE - * Icy-MetaData => 1
Dec 31, 2018 06:19:20.610 [9728] VERBOSE - * X-Plex-Token => xxxxxxxxxxxxxxxxxxxx
Dec 31, 2018 06:19:20.610 [9728] VERBOSE - * progress => 2.4
Dec 31, 2018 06:19:20.611 [9728] VERBOSE - * size => -22
Dec 31, 2018 06:19:20.611 [9728] VERBOSE - * remaining => -1
Dec 31, 2018 06:19:20.611 [9728] VERBOSE - * vdec_packets => 1494
Dec 31, 2018 06:19:20.611 [9728] VERBOSE - * vdec_hw_ok => 1487
Dec 31, 2018 06:19:20.612 [9728] VERBOSE - * speed => 0.0
Dec 31, 2018 06:19:20.612 [9728] VERBOSE - * vdec_hw_status => 1
Dec 31, 2018 06:19:20.613 [9728] VERBOSE - We want 60 seconds ahead, last returned was 93.009678 and max is 118.034700.
Dec 31, 2018 06:19:20.613 [9728] VERBOSE - It took 0.0 sec to serialize a list with 0 elements.
Dec 31, 2018 06:19:20.614 [12180] DEBUG - Completed: [127.0.0.1:51994] 206 PUT /video/:/transcode/session/9nagdpwkkmq2b7btlvlo4eqi/738ce64b-0ce8-4ef2-a14d-778a42b29120/progress?progress=2.4&size=-22&remaining=-1&vdec_packets=1494&vdec_hw_ok=1487&speed=0.0&vdec_hw_status=1 (14 live) 8ms 355 bytes (pipelined: 327) (range: bytes=0-)
Dec 31, 2018 06:19:20.942 [12180] VERBOSE - Auth: We found auth token (xxxxxxxxxxxxxxxxxxxx), enabling token-based authentication.
Dec 31, 2018 06:19:20.942 [12180] VERBOSE - Auth: Came in with the master token, authorization succeeded.
Dec 31, 2018 06:19:20.943 [2200] DEBUG - Request: [127.0.0.1:62094 (Loopback)] PUT /video/:/transcode/session/bif/e5f992cf-bd32-4669-b2bb-dadee9e4482d/progress?progress=81.9&size=-22&remaining=260&vdec_packets=109925&vdec_sw_ok=109920&speed=3.9&vdec_hw_status=0 (13 live) Signed-in Token (BlaineKyle)
Dec 31, 2018 06:19:20.943 [2200] VERBOSE - * User-Agent => Lavf/58.9.100
Dec 31, 2018 06:19:20.943 [2200] VERBOSE - * Accept => /
Dec 31, 2018 06:19:20.943 [2200] VERBOSE - * Range => bytes=0-
Dec 31, 2018 06:19:20.944 [2200] VERBOSE - * Connection => keep-alive
Dec 31, 2018 06:19:20.945 [2200] VERBOSE - * Host => 127.0.0.1:32400
Dec 31, 2018 06:19:20.945 [2200] VERBOSE - * Icy-MetaData => 1
Dec 31, 2018 06:19:20.945 [2200] VERBOSE - * X-Plex-Token => xxxxxxxxxxxxxxxxxxxx
Dec 31, 2018 06:19:20.945 [2200] VERBOSE - * progress => 81.9
Dec 31, 2018 06:19:20.945 [2200] VERBOSE - * size => -22
Dec 31, 2018 06:19:20.946 [2200] VERBOSE - * remaining => 260
Dec 31, 2018 06:19:20.946 [2200] VERBOSE - * vdec_packets => 109925
Dec 31, 2018 06:19:20.946 [2200] VERBOSE - * vdec_sw_ok => 109920
Dec 31, 2018 06:19:20.946 [2200] VERBOSE - * speed => 3.9
Dec 31, 2018 06:19:20.946 [2200] VERBOSE - * vdec_hw_status => 0
Dec 31, 2018 06:19:20.947 [2200] VERBOSE - It took 0.0 sec to serialize a list with 0 elements.
Dec 31, 2018 06:19:20.947 [12184] DEBUG - Completed: [127.0.0.1:62094] 206 PUT /video/:/transcode/session/bif/e5f992cf-bd32-4669-b2bb-dadee9e4482d/progress?progress=81.9&size=-22&remaining=260&vdec_packets=109925&vdec_sw_ok=109920&speed=3.9&vdec_hw_status=0 (13 live) 4ms 355 bytes (pipelined: 1861) (range: bytes=0-)
Dec 31, 2018 06:19:21.149 [12180] VERBOSE - Auth: We found auth token (xxxxxxxxxxxxxxxxxxxx), enabling token-based authentication.
Dec 31, 2018 06:19:21.149 [12180] VERBOSE - Auth: Came in with the master token, authorization succeeded.
Dec 31, 2018 06:19:21.150 [10576] DEBUG - Request: [127.0.0.1:51994 (Loopback)] PUT /video/:/transcode/session/9nagdpwkkmq2b7btlvlo4eqi/738ce64b-0ce8-4ef2-a14d-778a42b29120/progress?progress=2.4&size=-22&remaining=-1&vdec_packets=1499&vdec_hw_ok=1492&speed=0.0&vdec_hw_status=1 (13 live) Signed-in Token (BlaineKyle)
Dec 31, 2018 06:19:21.150 [10576] VERBOSE - * User-Agent => Lavf/58.9.100
Dec 31, 2018 06:19:21.150 [10576] VERBOSE - * Accept => /
Dec 31, 2018 06:19:21.150 [10576] VERBOSE - * Range => bytes=0-
Dec 31, 2018 06:19:21.150 [10576] VERBOSE - * Connection => keep-alive
Dec 31, 2018 06:19:21.151 [10576] VERBOSE - * Host => 127.0.0.1:32400
Dec 31, 2018 06:19:21.151 [10576] VERBOSE - * Icy-MetaData => 1
Dec 31, 2018 06:19:21.151 [10576] VERBOSE - * X-Plex-Token => xxxxxxxxxxxxxxxxxxxx
Dec 31, 2018 06:19:21.151 [10576] VERBOSE - * progress => 2.4
Dec 31, 2018 06:19:21.152 [10576] VERBOSE - * size => -22
Dec 31, 2018 06:19:21.152 [10576] VERBOSE - * remaining => -1
Dec 31, 2018 06:19:21.152 [10576] VERBOSE - * vdec_packets => 1499
Dec 31, 2018 06:19:21.152 [10576] VERBOSE - * vdec_hw_ok => 1492
Dec 31, 2018 06:19:21.152 [10576] VERBOSE - * speed => 0.0
Dec 31, 2018 06:19:21.153 [10576] VERBOSE - * vdec_hw_status => 1
Dec 31, 2018 06:19:21.153 [10576] VERBOSE - We want 60 seconds ahead, last returned was 93.009678 and max is 118.034700.
Dec 31, 2018 06:19:21.154 [10576] VERBOSE - It took 0.0 sec to serialize a list with 0 elements.
Dec 31, 2018 06:19:21.155 [12184] DEBUG - Completed: [127.0.0.1:51994] 206 PUT /video/:/transcode/session/9nagdpwkkmq2b7btlvlo4eqi/738ce64b-0ce8-4ef2-a14d-778a42b29120/progress?progress=2.4&size=-22&remaining=-1&vdec_packets=1499&vdec_hw_ok=1492&speed=0.0&vdec_hw_status=1 (13 live) 5ms 355 bytes (pipelined: 328) (range: bytes=0-)
Dec 31, 2018 06:19:21.498 [12184] VERBOSE - Auth: We found auth token (xxxxxxxxxxxxxxxxxxxx), enabling token-based authentication.
Dec 31, 2018 06:19:21.498 [12184] VERBOSE - Auth: Came in with the master token, authorization succeeded.
Dec 31, 2018 06:19:21.499 [3200] DEBUG - Request: [127.0.0.1:62094 (Loopback)] PUT /video/:/transcode/session/bif/e5f992cf-bd32-4669-b2bb-dadee9e4482d/progress?progress=81.9&size=-22&remaining=270&vdec_packets=109975&vdec_sw_ok=109970&speed=3.6&vdec_hw_status=0 (13 live) Signed-in Token (BlaineKyle)
Dec 31, 2018 06:19:21.499 [3200] VERBOSE - * User-Agent => Lavf/58.9.100
Dec 31, 2018 06:19:21.499 [3200] VERBOSE - * Accept => /
Dec 31, 2018 06:19:21.500 [3200] VERBOSE - * Range => bytes=0-
Dec 31, 2018 06:19:21.500 [3200] VERBOSE - * Connection => keep-alive
Dec 31, 2018 06:19:21.500 [3200] VERBOSE - * Host => 127.0.0.1:32400
Dec 31, 2018 06:19:21.500 [3200] VERBOSE - * Icy-MetaData => 1
Dec 31, 2018 06:19:21.500 [3200] VERBOSE - * X-Plex-Token => xxxxxxxxxxxxxxxxxxxx
Dec 31, 2018 06:19:21.500 [3200] VERBOSE - * progress => 81.9
Dec 31, 2018 06:19:21.501 [3200] VERBOSE - * size => -22
Dec 31, 2018 06:19:21.501 [3200] VERBOSE - * remaining => 270
Dec 31, 2018 06:19:21.501 [3200] VERBOSE - * vdec_packets => 109975
Dec 31, 2018 06:19:21.501 [3200] VERBOSE - * vdec_sw_ok => 109970
Dec 31, 2018 06:19:21.501 [3200] VERBOSE - * speed => 3.6
Dec 31, 2018 06:19:21.501 [3200] VERBOSE - * vdec_hw_status => 0
Dec 31, 2018 06:19:21.502 [3200] VERBOSE - It took 0.0 sec to serialize a list with 0 elements.
Dec 31, 2018 06:19:21.502 [12180] DEBUG - Completed: [127.0.0.1:62094] 206 PUT /video/:/transcode/session/bif/e5f992cf-bd32-4669-b2bb-dadee9e4482d/progress?progress=81.9&size=-22&remaining=270&vdec_packets=109975&vdec_sw_ok=109970&speed=3.6&vdec_hw_status=0 (13 live) 4ms 355 bytes (pipelined: 1862) (range: bytes=0-)
Dec 31, 2018 06:19:21.578 [12184] VERBOSE - Auth: We found auth token (xxxxxxxxxxxxxxxxxxxx), enabling token-based authentication.
Dec 31, 2018 06:19:21.578 [12184] VERBOSE - Auth: Came in with the master token, authorization succeeded.
Dec 31, 2018 06:19:21.578 [8692] DEBUG - Request: [127.0.0.1:51994 (Loopback)] PUT /video/:/transcode/session/9nagdpwkkmq2b7btlvlo4eqi/738ce64b-0ce8-4ef2-a14d-778a42b29120/progress?progress=2.4&size=-22&remaining=-1&vdec_packets=1503&vdec_hw_ok=1496&speed=0.0&vdec_hw_status=1 (12 live) Signed-in Token (BlaineKyle)
Dec 31, 2018 06:19:21.579 [8692] VERBOSE - * User-Agent => Lavf/58.9.100
Dec 31, 2018 06:19:21.579 [8692] VERBOSE - * Accept => /
Dec 31, 2018 06:19:21.579 [8692] VERBOSE - * Range => bytes=0-
Dec 31, 2018 06:19:21.579 [8692] VERBOSE - * Connection => keep-alive
Dec 31, 2018 06:19:21.579 [8692] VERBOSE - * Host => 127.0.0.1:32400
Dec 31, 2018 06:19:21.579 [8692] VERBOSE - * Icy-MetaData => 1
Dec 31, 2018 06:19:21.579 [8692] VERBOSE - * X-Plex-Token => xxxxxxxxxxxxxxxxxxxx
Dec 31, 2018 06:19:21.579 [8692] VERBOSE - * progress => 2.4
Dec 31, 2018 06:19:21.580 [8692] VERBOSE - * size => -22
Dec 31, 2018 06:19:21.580 [8692] VERBOSE - * remaining => -1
Dec 31, 2018 06:19:21.580 [8692] VERBOSE - * vdec_packets => 1503
Dec 31, 2018 06:19:21.580 [8692] VERBOSE - * vdec_hw_ok => 1496
Dec 31, 2018 06:19:21.580 [8692] VERBOSE - * speed => 0.0
Dec 31, 2018 06:19:21.580 [8692] VERBOSE - * vdec_hw_status => 1
Dec 31, 2018 06:19:21.581 [8692] VERBOSE - We want 60 seconds ahead, last returned was 93.009678 and max is 118.034700.
Dec 31, 2018 06:19:21.581 [8692] VERBOSE - It took 0.0 sec to serialize a list with 0 elements.
Dec 31, 2018 06:19:21.582 [12180] DEBUG - Completed: [127.0.0.1:51994] 206 PUT /video/:/transcode/session/9nagdpwkkmq2b7btlvlo4eqi/738ce64b-0ce8-4ef2-a14d-778a42b29120/progress?progress=2.4&size=-22&remaining=-1&vdec_packets=1503&vdec_hw_ok=1496&speed=0.0&vdec_hw_status=1 (12 live) 3ms 355 bytes (pipelined: 329) (range: bytes=0-)

Please edit your post and either format the log entries as preformatted text or upload them as a file. The current format is a completely unreadable mess.

  1. Also turn off verbose logging. Just attach the entire zip file.

  2. Is the TV 4K? If so, then why is the video transcoding in the first place? Plex transcodes 4K to 1080p. You want to avoid that if possible.

Transcoding 4K is a lot like Fight Club. First rule of transcoding 4K? Do not transcode 4K.

Your system is not powerful enough to transcode 4K.

Your CPU has a PassMark of 4068 (cpubenchmark.net)

Plex recommends a PassMark of 12000 for 4K SDR and 17000 for 4K HDR.
See What kind of CPU do I need for my Server?

Your system can easily stream 4K as long as the video direct plays. The Celeron in my Synology NAS direct plays 4K w/o issue. Just no transcoding.

It is a 4K TV, wired through a gigabit switch using all high-end Cat6. The switch is connected to a Nighthawk router (via a 50ft Cat6 run). I’m not strictly sure whether that should matter with both devices on the same unmanaged switch, but I guess it may, since the router handles, well, routing. So in theory, the stream is having to go upstream through that single Cat6 run and then back down, but apart from latency issues, I wouldn’t think that would be too major of a bandwidth limitation, considering the 4K file I’m testing with currently is 67Mbps and the nominal limit of that connection is 1000Mbps. Even if it’s only 50% efficient and the bandwidth is cut in half because of my cabling configuration, I should have 3x the necessary bandwidth.

But it is transcoding anyway. I have Direct Play enabled in the LG Plex app, and am logged in as the owner (or whatever you’d call it–the main user with a crown by my name when viewing users). Nonetheless, when I start the stream and then check activity, it shows that it is transcoding, not playing directly.

So, I’d love to have it Direct Play, I just don’t know how to force it, I guess. I just recently switched from a Roku 4K TV to the LG HDR 4K ThinQ. I love the display; it’s a huge upgrade from the cheap Insignia with Roku, but the Plex app for LG seems a few generations behind the Roku, which played 4K videos fine, until onboard wired NIC in my TV went bad and I had to connect via wifi until I could get a replacement.

Anyway, below is the zip file with logs. I turned off verbose, but I don’t know a lot about how these work, so not sure if it removes the verbosity from the existing logs or just changes it going forward. Let me know if I need to try to play the video again with verbose turned off. I’m at work now, so I’d have to do that tonight after I get home. Thanks for your help!

Plex Media Server Logs_2018-12-31_13-30-43.zip (4.1 MB)

Okay, so from responses here I’m thinking the question I should have asked is just: Why is my Plex server insisting on transcoding a 4K video over the local network to my LG TV?

When I had a 4K Roku TV, and therefor was able to use the Roku Plex app, I had the option to click the “…” on the media details page before starting a movie, and could select “Original” quality, or some transcoded version, for any file regardless of whether it was SD, HD, 4K SDR, or 4K HDR. This isn’t an option on the LG app, but I have now found that I can access those options after I start playing…which sucks when the video won’t actually play correctly. I get there by pressing select while the video is playing and choosing the EQ slider icon–however, this doesn’t work until the video which is playing finishes buffering initially, which is frustrating when I’m trying to switch it to play a different quality specifically because of buffering issues.

So it would seem as though I’ve found the fix…except, no. If I play a 1080p video, it’s all peaches and roses, and in fact it’s already playing in Original quality, which if I’m not mistaken means it’s direct streaming. BUT, with my 4K video, Original is not an option. It insists on converting the video, even to output the same resolution at the same bitrate. I’m including below a snap I took of the TV screen showing this, as well as a screengrab of the file details via the web app.


Could the problem be that the LG webOS Plex app can’t play HEVC files, and therefor must receive a transcoded stream to play them? If so, that majorly sucks, because HEVC is definitely the best codec to use to manage large 4K videos. Also, would that be a limitation of webOS or of the Plex app on that platform, which clearly has not received the same amount of attention as the app has on more popular platforms?

By the way, I should have thought to try this sooner, but I just loaded up the same video on the Plex for Windows app directly from the server, which is also connected to my 4K TV, and it defaulted to direct play (original) and played it just fine. So I guess I’ve got that as a workaround, but I’d really prefer to stick to smart apps on my smart TV for playing content.

Actually I just found the answer to my question, but it’s one that sucks and frankly pisses me off as a Plex Pass subscriber. Now that you guys have helped me realize that the problem is the app transcoding when it shouldn’t have to, some Googling led me to another thread, from over one year ago, wherein someone else had the same issue, and it was determined that this is a limitation of the Plex app for LG TVs. A number of people chimed in to say that this was a known and previously reported issue but that devs have never acknowledged it, clearly don’t care, and would never do anything to fix it. Given this was TWO YEARS AGO, I’d have to say they were right about that.
Link: https://forums.plex.tv/t/direct-play-hevc-on-lg-smart-tv-with-web-os-3-using-the-plex-app/180391/7

WARNING: RANT INCOMING
Plex development has gone right down the toilet. They took DVR right to the finish line and dropped it like an unpolished turd. They waste their time and everyone else’s on crap features no one asked for or wanted, like News and Podcasts, and do a poor job of it at that. When I first loaded the News section, it immediately started playing some InfoWars crap! As for podcasts, we are way too far into the life of that medium and Plex as a platform to shoehorn them together; everyone who wants to listen to podcasts is using Apple, Google, Stitcher, or something else that’s much more matured. And don’t even get me started on Web shows. I have tried to be open-minded about all the crap, and earnestly tried each of these new features I never thought I needed, but even when they seemed to have potential, they were half-assed and abandoned. And now I find that something as basic as media playback in the app for a major TV brand has been ignored for at least two years while they putz around with all that other crap? Seriously, LG is #2 in mid-range to high-end TV brands behind Samsung! What’s more, the webOS platform they put in all of their smart TVs has been lauded by developers and users as the best Smart TV OS by a wide margin, excepting Roku, which is only available on budget panels at this time. There’s no excuse for this. I’ve given Plex hundreds of dollars and they’ve become a company that doesn’t care about its users.

Thanks to the other users who helped me figure out what was wrong. I guess we can only count on each other these days.

I totally agree that the LG app not having support for HEVC direct play “sucks”. I am, however, not entirely sure that this is Plex’s fault. Looking at the official LG help page for codec support etc., it clearly states:

ATTENTION: Your ULTRA HD TV may not support HEVC encoded contents that are not officially supplied by LG.

So this might be an issue of LG locking things down on their end (somewhat speculating here). Similar to what Synology does with hardware transcoding on lower end models. Those officially support 4k hw-transcoding, but the Plex team does not have access to it. Therefore, PMS on those NAS models won’t be able to hw-transcode.

The easiest workaround would probably be some “4K HEVC Plex compatible” dongle. Still sucks because you need to spend extra cash, run extra cables and switch back and forth but it seems to be way less effort then re-encoding all of your 4K content or upgrading your server to be able to hw-transcode the 4K HEVC files.

You are asking the right question.

No.

The LG app in my B7 OLED happily plays 4K HEVC HDR movies, including Venom. However, there are a few restrictions.

  1. No PGS or VOBSUB subtitles. They are not supported for direct play. If selected, Plex will burn them in, which means a video transcode. ASS subtitles may have this same restriction.

For future reference, note that burning subtitles into video is also performed on the CPU. So if your system supported hardware accelerated transcoding, burning in subtitles would negate that capability.

  1. SRT Subtitles are OK, but only if no audio transcoding.

If you choose SRT subtitles AND the audio transcodes, then Plex will burn in the subtitles, which means a video transcode. Plex does this to keep the audio, video, and subtitles in sync with each other. If I remember correctly, it is a limitation of the streaming protocol.

  1. Preferably no TrueHD or dts-HD MA Audio. Choose Dolby Digital, dts, or AAC instead.

Lossless codecs are not supported by the TV, so picking such a track will cause the audio to transcode. As mentioned above, this can cause a video transcode. At a minimum it puts extra load on your server, as audio transcoding is done on the CPU and the system must also Direct Stream (repackage) the media. While neither has a huge impact, it is best avoided if possible.

Where to go next?

Try this:

a) Using Plex Web, go to Settings → Server → General. Show Advanced if not already selected. Enable debug logging. Disable verbose logging if selected. Disable “allow tokens in logs” if selected. Save changes.

b) Restart PMS.

c) Play a 4K HEVC movie on the LG. Do not choose subtitles. Choose Dolby Digital (AC3) audio if possible (to avoid audio transcoding). Play the movie for 1 - 2 minutes then stop.

d) Wait two minutes. This makes sure PMS captures everything to the log files.

e) Using Plex Web, go to Server → Manage → Troubleshooting and download the log files. Attach the entire zip file to your reply.

1 Like

Playing Venom on my B7 OLED.
PMS 1.14.1.5488 on Synology DS918+ (Celeron J3455 CPU).

Screenshot%20(156)

Screenshot%20(158)

Hi FordGuy61. Sorry for ghosting. I got really sick around New Years and am just getting past the work catch-up, household chores that piled up, etc. I really appreciate your continued support, which I know you have no obligation to provide. Cheers.

Looks like you nailed it on the audio transcode. My copy of Venom has TrueHD embedded and defaulted to that, and it was forcing the audio and video to transcode. By switching just the audio track to AC3 5.1, it enables Direct Play for both audio and video. I’m actually also able to Direct Play the DTS-HD 7.1 track that is embedded, although I have no need of it given my sound system is only 5.1. I guess I probably shouldn’t Direct Play a 7.1 track to my 5.1 system in any case, as I might be losing sounds intended for the other two speakers, unless the TV is transcoding it to the toslink connection. I’m pretty dumb about home audio–I only just upgraded from a cheap stereo soundbar about a year ago–but that’s beside the point. I’m much more adept at implementation-specific large theater sound systems from the 90s and early 00s, for what good it does me (it is something I need for my current job, thankfully).

I’m guessing the limitation may have something to do with how the TrueHD sound format works? That is, maybe something about TrueHD means it can’t be separated and re-synced to the video. You don’t have to answer that if you don’t know or care to; I’m just wondering out loud.

I had found another post about this issue at some point which recommended a third party Plex client named XPlay, and did try to use it before reading your last couple of posts. I had some issues getting it to sync up to my Plex account (stuck in an auth loop where it kept giving me a new code to enter at plex.tv/link), but after I got past that I did find that it was able to play the same file without issue. It seemed like magic, but I checked it out via the Plex Web app (again, based on your suggestion), and lo and behold, it was defaulting to DTS-HD, not TrueHD. Even when I manually select the TrueHD track, it switches back to DTS-HD. Digging around in the XPlay settings, I found a universal setting to designate either Direct Play or transcode (there’s no auto option), and it was set to Direct Play by default. So I suspect the app defaults to the best possible track available for Direct Play when the server only offers a transcode for a requested track. The closest option the official Plex app has is “Allow Direct Play,” which would seem to be passive, whereas XPlay’s option is forced. So I guess it would be nice if the Plex app had an option for either force Direct Play or at least prefer it when selecting the default audio and video streams where multiple are available. But now that I know the cause of the problem, it’s really not much trouble to switch audio tracks when it comes up.

Again, thank you so much for your help! Hope you’ve had a nice holiday season and wishing you a great 2019.

Glad you’re doing better. I’ve successfully avoided nasty bugs so far this winter. :crossed_fingers:

Regarding TrueHD & dts-HD MA.

Dolby & dts took different approaches to lossless audio.

dts added lossless information to their existing dts 5.1 (lossy) stream. So, a dts-HD MA stream consists of a lossy dts core plus additional lossless information.

Dolby TrueHD is completely different & incompatible with the older Dolby Digital formats. There is no older core track like with dts.

The other limitation is toslink. It does not have enough bandwidth to support the lossless codecs. You are limited to Dolby Digital 5.1, Dolby Digital Plus 5.1, dts 5.1, or PCM 2.0. HDMI-ARC has the same limits as toslink.

This is a bit of speculation, but if you’re direct playing dts-HD MA 5.1 or 7.1, the TV is probably passing the dts 5.1 core to your receiver and discarding the HD MA part. There is nothing wrong with this. You’re getting the same audio as if you played the movie and selected the dts 5.1 audio track.

Because TrueHD has no “core” like dts and cannot be transported by toslink it will transcode. Nothing you can do about it. It is a limitation of the hardware and toslink specifications.

FYI, in theory this goes away when HDMI 2.1 gear is available later this year. HDMI 2.1 includes HDMI-eARC which can transport lossless codecs. Doesn’t help right now, but good for the future.

I have not tried XPlay. I’ve seen the references in other threads as well. Seems it might help in certain situations. I’ll have to check it out.

Hope all this helps & doesn’t confuse. Cheers & Happy New Year.

Ah! Well that makes a lot of sense. I guess I’m showing my age, as I was still under the impression that toslink was the fastest audio connection you could get. It hadn’t occurred to me that a fiber optic connection could ever become outmoded by a digital standard, but that’s egg on my face. Sorry I didn’t mention that detail sooner.

My sound system doesn’t have HDMI in, but it does have a six-channel 3.5mm input. I don’t know that this would be any better, but if you or someone says it would be, I can see if I have the option to use it. My TV doesn’t have a direct 6-channel out built in, but I know it came with a few dongles for different types of connections so I can dig those up and try my luck.

Thanks again!

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