4k DV level 10 mkvs (or hls protocol?) causing errors on Google TV

Server Version#: 1.42.2.10156
Player Version#: 10.30.4.4092

I noticed some of my 4k MKVs were failing with “An error occured. Please check your connection.” But it was not network related as other higher-bitrate ones would load fine and quickly. Looking more closely at which ones were failing, I noticed they all tended to say “D O V I Level 10” in the Media Info panel, and a command-line “ffmpeg -i” would report the following in the stream in the file:

Side data:
  Mastering Display Metadata, has_primaries:1 has_luminance:1 r(0.6800,0.3200) g(0.2650,0.6900) b(0.1500 0.0600) wp(0.3127, 0.3290) min_luminance=0.000100,max_luminance=1000.000000

In the server.log, I see at a time of request:

Sep 27, 2025 21:48:33.249 [139919868095288] DEBUG - [Req#b75f63/Transcode] MDE: Selected protocol hls; container: mkv
Sep 27, 2025 21:48:33.249 [139919868095288] DEBUG - [Req#b75f63/Transcode] MDE: analyzing media item 670826
Sep 27, 2025 21:48:33.249 [139919868095288] DEBUG - [Req#b75f63/Transcode] MDE: The French Movie (2021): Direct Play is disabled
Sep 27, 2025 21:48:33.249 [139919868095288] DEBUG - [Req#b75f63/Transcode] MDE: The French Movie (2021): media must be transcoded in order to use the hls protocol
Sep 27, 2025 21:48:33.249 [139919868095288] DEBUG - [Req#b75f63/Transcode] MDE: The French Movie (2021): no direct play video profile exists for http/mkv/hevc
Sep 27, 2025 21:48:33.249 [139919868095288] DEBUG - [Req#b75f63/Transcode] MDE: The French Movie (2021): no direct play video profile exists for http/mkv/hevc/dca
Sep 27, 2025 21:48:33.249 [139919868095288] DEBUG - [Req#b75f63/Transcode] MDE: The French Movie (2021): no direct play video profile exists for http/mkv/hevc/ac3
Sep 27, 2025 21:48:33.249 [139919868095288] DEBUG - [Req#b75f63/Transcode] MDE: The French Movie (2021): no direct play video profile exists for http/mkv/hevc/ac3
Sep 27, 2025 21:48:33.249 [139919868095288] DEBUG - [Req#b75f63/Transcode] MDE: The French Movie (2021): selected media 0 / 670826`
Sep 27, 2025 21:48:33.250 [139919868095288] DEBUG - [Req#b75f63/Transcode] Streaming Resource: Reached Decision id=542839 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=670826 part=(id=680378 decision=transcode container=mkv protocol=hls streams=(Video=(id=1791909 decision=copy width=3840 height=2160) Audio=(id=1791910 decision=copy channels=6 rate=48000))))

Then it appears to try and transcode it and the ffmpeg command… fails? Is the issue that the video stream is DV Level 10? Or that this “hls” protocol was used (logs were unclear about it).

Of course the client side is part of the picture - I don’t have this problem on either an Android phone (Pixel 6) or the Linux desktop client. And it’s Plex specific - these problematic files on Plex play fine on Kodi on the same Google TV. And, to be clear, “D O V I Level 6” mkvs seem to play fine on Plex Google TV, even those of higher bitrates.

Happy to provide more logs to ops or fiddle with other settings with DEBUG logging back on.

Thanks!

B

Since this appears to be more player-specific, I’ve moved it over to the players forum, updated with some new debugging:

B

@brianbehlendorf

I have a question.

Isn’t Profile 8 Level 10 also a single layer like Profile 5 is ?

If it is then I must ask – Are you certain it’s DirectPlay ?

I ask because Plex is not licensed to transcode Dolby Profile 5 (it has no HDR-10 fallback layer)

What I am also confused at is finding

  • There is no “Level 10” for Profile 8 that defines a content format.

I’m wading into deep waters here, so I’m looking for online references. The only Dolby reference material I can find re DV Levels is here:

It suggests that the Level is really just an indicator of the client’s expected capabilities regarding number of pixels per second it can render, maximum bitrates, etc. However the files I have that are marked as dvhe.08.10 (Profile 8, Level 10, using the Dolby-preferred shorthand?) have lower bitrates than much of my dvhe.08.06 or non-DV HDR content.

If it is then I must ask – Are you certain it’s DirectPlay ?

I can’t get the dvhe.08.10 content to play at all - it never even pops up on the server admin dashboard for the 5-6 seconds it appears to try to load. The dvhe.08.06 content plays just fine, listed as “Direct Play” in the dashboard.

What I am also confused at is finding “There is no “Level 10” for Profile 8 that defines a content format.”

If this is just someone mislabeling their transcodes and I can change that label to dvhe.08.06 in some non-destructive, non-re-encoding manner using ffmpeg or the like, that seems the simplest work-around.

But since the same dvhe.08.10 that fails on Android TV on the Google TV Streamer device works on the Pixel 6 suggests something else is going on.

Finally I should note the GTV Streamer is direct-connected to an LG C2, which appears to support HDR10, HLG and DV but not HDR10+, and GTV Streamer’s settings know that it doesn’t support HDR10+. The movie files that fail claim to have the fallback from DV to HDR10+, but I’d assume if the client lacked HDR10+ then the HDR10 base stream would play, it wouldn’t fail entirely. I don’t think this is an issue but it’s the only other thing different on my GTV Streamer/LG setup than the other two places (Pixel6, Linux desktop) where these files Direct Play just fine.

Brian

May I have the entire server DEBUG logs please?

  1. Restart PMS
  2. 2 minutes - let it settle
  3. Start the playback of that file
  4. As soon as it fails, Download the server logs
  5. Attach the ZIP here.

I’ll be able to see the entire decision process for the file and what PMS decided.

I suspect we’ll find it failing because it’s single layer and not HDR10 compatible just like Profile 5 is (has no HDR10 fallback to allow remuxing or anything Plex is licensed for)

Attached. Do you need more than “Plex Media Server.log”?
Plex Media Server-new.log (551.9 KB)
I’ve changed some details (login name, file name) to protect the innocent.

I suspect we’ll find it failing because it’s single layer and not HDR10 compatible just like Profile 5 is (has no HDR10 fallback to allow remuxing or anything Plex is licensed for)

Still curious about why it plays then on my Pixel 6. Both are current-gen Android devices with DV and HDR10 support. And presuming this is the case, the error message in the player should be changed to indicate it’s a media support decision, not a connection error.

Brian

@ChuckPa bump?

Is the conclusion that media in profile dvhe.08.10 can not be played on Plex on Google TV due to complicated licensing issues (which don’t affect Plex on Pixel 6 Android devices), and profile dvhe.08.10 doesn’t contain an HDR fallback? It “felt” more like a bug given the other ways Plex can play this media, and the error message given at the very least.

@brianbehlendorf

Can we arrange for you to get me a sample ?

With a sample, i can examine the headers and test various ways.

Without being able to test either way , and knowing how Dolby licensing works, and knowing Plex’s licence to transcode Dolby content is VERY limited,

I would be inclined to assert:
1 It’s not a bug
2. It’s a case of PMS is not licensed to transcode dvhe.8.10 content
(technically means – not licensed to transcode content with no fallback layer)

We know Profile 5 has no fallback layer and won’t transcode without Dolby license (dolby’s proprietary codec for single layer transcode)

If 8.10 is the same then the same situation exists.

If I may have a sample, I’ll be able to give a better analysis.

Would love to get you access to a sample, but your DMs are closed and I don’t have a sample I can share publicly. Can you DM me here?

@brianbehlendorf

Got your sample. Perfect. Thank you.

I have a LG C1 (2019 model) 48"

Playback went to Direct Play. The TV registered as HDR.

dvhe-8.10 on LG C1

please forgive the junk under my tv. (parts box)

That’s great. Did you try reproducing it with the Plex.client on the Google TV streamer? That’s the platform that’s failing for me (everywhere else with Plex on Android I’ve tested has been fine). For greater greater clarity I’m talking about this small box here:

I don’t own any Google TV products.

The closest I can come is the Nvidia Shield Plex app and it also played perfectly there because it was DP through the Onkyo to the TV.

So, unfortunately, I cannot repro your problem with Google TV.
When the engineering team gets back from their conference, we can see if any of them can test it. (I’ll forward internally)

@brianbehlendorf

Your Google TV Streamer should be able to Direct Play your file, but only if your TV supports the format.

Given that Plex is forced to transcode the file would seem to indicate that your TV does NOT support the format and since your NAS is NOT capable of Hardware transcoding anything (AMD V1500B), the transcode fails in software transcoding, probably due to a lack of processing power.

If it did succeed, you would probably find the video would play for a few seconds, pause, then play for another few seconds, pause, etc…

Your only solution here is to:

  1. upgrade your TV to one that fully supports the file format or
  2. upgrade your NAS to an Intel powered model with QSV support (not likely) or
  3. re-encode your file to a more suitable format for your TV or download a more suitable version for the TV or
  4. install PMS on a PC/Mini PC and use the NAS for storage only. The PC/Mini PC would need to support Intel QSV or have a dedicated GPU (AMD, NVidia, etc.).

Sorry for jumping in here, but could it be the DTS audio. Some LG TV’s stopped support DTS. Looks like ChuckPa’s TV supports it, but yours might not. Your original post listed the file having an AC3 audio track. See if the file plays when selecting that.

It could still be a video issue, but should check the audio to rule that out.

@MovieFan

Audio=(id=1791910 decision=copy channels=6 rate=48000)

The descision= copy appears to rule out the audio theory.

I don’t see why. There are reports of some TVs incorrectly telling PMS what it supports. The theory is that the base OS of the TV still thinks it supports DTS, but LG blocked it some other way, so it messes up Plex. This has been confirmed on multiple instances with Android devices that say they support a codec, but really don’t. So PMS passes along the audio in the supposed supported codec, then the player just fails.

You may be correct in your reasoning, the message is rather ambiguous and it is also curious that the video stream is copied as well.

In any case, the failure seems to be that transcoding fails in some way, probably for the reason I outlined and that prevents playback.

I looked at the PMS logs provided earlier. It shows the client requested a direct play first and got the file.

Sep 29, 2025 23:59:36.653 [140348604226360] DEBUG - Request: [192.168.1.85:51670 (Subnet)] GET /video/:/transcode/universal/decision?audioBoost=100&autoAdjustQuality=0&autoAdjustSubtitle=1&directPlay=1&
Sep 29, 2025 23:59:36.754 [140348589407032] DEBUG - Request: [192.168.1.85:51670 (Subnet)] GET /library/parts/680349/1758612227/file.mkv?autoAdjustQuality=0&hasMDE=1&location=lan&mediaBufferSize=209664 (10 live)

This failed to play. The client then asks for direct stream.

Sep 29, 2025 23:59:40.814 [140348589407032] DEBUG - Request: [192.168.1.85:43646 (Subnet)] GET /video/:/transcode/universal/decision?audioBoost=100&autoAdjustQuality=0&autoAdjustSubtitle=1&directPlay=0&directStream=1&directStreamAudio=1

PMS then starts making the segments.

Sep 29, 2025 23:59:41.324 [140348604226360] DEBUG - [Req#12f/Transcode/78d1b17749970429-com-plexapp-android/5ff2a176-4b96-4825-a334-4542a83ccdc7] Transcoder segment range: 0 - 0 (-1)
Sep 29, 2025 23:59:41.354 [140348604226360] DEBUG - [Req#19d/Transcode/78d1b17749970429-com-plexapp-android/5ff2a176-4b96-4825-a334-4542a83ccdc7] Transcoder segment range: 0 - 0 (0)
Sep 29, 2025 23:59:41.354 [140348589407032] DEBUG - [Req#19f/Transcode/78d1b17749970429-com-plexapp-android/5ff2a176-4b96-4825-a334-4542a83ccdc7] Transcoder segment range: 0 - 1 (0)
Sep 29, 2025 23:59:41.373 [140348578794296] DEBUG - [Req#1a0/Transcode/78d1b17749970429-com-plexapp-android/5ff2a176-4b96-4825-a334-4542a83ccdc7] Transcoder segment range: 0 - 1 (1)
Sep 29, 2025 23:59:41.373 [140348604226360] DEBUG - [Req#1a3/Transcode/78d1b17749970429-com-plexapp-android/5ff2a176-4b96-4825-a334-4542a83ccdc7] Transcoder segment range: 0 - 2 (1)

Then there’s nothing after that so it looks to be a client issue.

@brianbehlendorf Are you also trying to optimize files that aren’t working?

Sep 30, 2025 00:00:36.924 [140348665449272] DEBUG - Versions: skipping generator 5134 because it's suspended: diskUnwritable

I actually missed that in the logs, mind you I wasn’t looking for it … lol, but diskUnwriatble might indicate a permissions issue, which could cause the optimisation/transcode to fail.

Hi all! Thanks for jumping in, feels like I have the A Team on this! If anyone wants access to the test file please DM me.

To answer the above questions, I ran a test to trigger transcoding - what happens if I turn on subtitles, which required it to burn them in? Sure enough, it would play the video fine, albeit with pauses/stuttering. My Synology NAS was indeed pretty slow at software transcoding and couldn’t keep up in real time with burning subtitles into the original 4k bitstream, but when I asked it to also transcode down to “720p high” (4 Mbps) then it played it fine without pauses. Here’s the shot of it during the transcode:

And, another box I have a different Plex server on, with an Intel N150 chip, hardware transcoding was able to keep up without ratcheting down the bitrate:

Note that in this second instance, because it’s HVEC being output, it preserved the HDR information, so when I played it showed the “HDR” in the upper right hand corner.

As a final test, I started playing the file through PM4K/PlexMod (0..8.0rc4, e.g. almost the latest) on Kodi, on the same exact Google TV device. It played fine, without any transcoding, and showed the “Dolby Vision” logo in the upper-right corner of the TV:

I realize PM4K/PlexMod isn’t supported by Plex or you all; I simply bring it up to show there isn’t a question of whether there is sufficient DV support in either the TV or the Google TV streamer.

I think this all suggests there is an HDR stream in the file that the Plex transcoder can access and render subtitles into. But trying to play it without burn-in or intentionally transcoding still fails, and in a user-unfriendly way. I think my experiments have ruled out permissions issues or other server-side issues (though I also saw and can’t explain that “diskUnwritable” error).

I recognize that PM4K/PlexMod and Kodi can take liberties with DV licensing that Plex the business can not. I could understand if “official Plex client can’t play DV layer due to licensing issues” was the answer, but it seems at least like there’s an HDR layer it should be able to Direct Play, without requiring subtitles burn-in or transcoding.

Hope this was enough data to debug further for those with access to the Google TV streamer device. They really are pretty great for the price.

Brian