Linux PMS-1.17.0.1709 HEVC 10bit hw transcode fails to fallback to software

Server Linux PMS-1.17.0.1709
Client: Any browser or client that cannot direct play HEVC 10

When you have HW transcoding enabled AND
You play an HEVC 10 bit file AND
Your hardware is not capable of decoding HEVC 10 bit content, the transcoder fails to fall back to software transcoding and just refuses to play the video at all.

player_log.json.zip (5.0 KB)
Plex Media Server Logs_2019-09-09_13-47-09.zip (1.1 MB)

3 Likes

Same appears to be happening to me. Windows Version 1.17.0.1709. Will not play on any device.

I have had the same problem. I downgraded to 1.16.6.1592 and that one works, it is transcoding the file 4K (HEVC Main 10 HDR) (hw) to 1080P (H264) Transcoderen (hw).

Problem still exists for me on Linux and 1.16.x

I am also seeing the same issue, disabling he acceleration (globally) allows it to work but is obviously not ideal.

Hey guys give these test builds a go . which should resolve this issue. Once confirmed it will make its way into the next Plex Media Server beta release :slight_smile:

PMS 1.18.0 that is now out in beta contains a fix for this issue :slight_smile:

It’s close. The video now seems to fall back to software but only plays about 10-15 seconds and then hangs up. Does this with or without HW transcoding enabled.

Sep 22, 2019 08:35:55.041 [0x7faaa27fc700] WARN - QueryParser: Invalid field 'sectionID' found, ignoring.
Sep 22, 2019 08:35:55.049 [0x7faa717ea700] WARN - Transcode runner appears to have died.
Sep 22, 2019 08:35:55.049 [0x7faac9ffb700] WARN - Transcode runner appears to have died.
Sep 22, 2019 08:35:55.055 [0x7faaa27fc700] WARN - QueryParser: Invalid field 'sectionID' found, ignoring.
Sep 22, 2019 08:35:57.829 [0x7faa6e93d700] ERROR - [FFMPEG] - No support for codec hevc profile 2.
Sep 22, 2019 08:35:57.829 [0x7faa6e93d700] ERROR - [FFMPEG] - Failed setup for format vaapi_vld: hwaccel initialisation returned error.
Sep 22, 2019 08:35:57.829 [0x7faa6e93d700] ERROR - [FFMPEG] - Invalid return from get_format(): vaapi_vld not in possible list.
Sep 22, 2019 08:35:57.829 [0x7faa6e93d700] WARN - [FFMPEG] - Error parsing NAL unit #3.
Sep 22, 2019 08:35:57.830 [0x7faa6e93d700] WARN - Codecs: avcodec_open2 returned -1 for decoder 'hevc'
Sep 22, 2019 08:35:57.830 [0x7faa6e93d700] ERROR - [FFMPEG] - Cannot load libcuda.so.1
Sep 22, 2019 08:35:57.830 [0x7faa6e93d700] ERROR - [FFMPEG] - Could not dynamically load CUDA
Sep 22, 2019 08:35:57.831 [0x7faa6e93d700] ERROR - [FFMPEG] - No support for codec hevc profile 2.
Sep 22, 2019 08:35:57.831 [0x7faa6e93d700] ERROR - [FFMPEG] - Failed setup for format vaapi_vld: hwaccel initialisation returned error.
Sep 22, 2019 08:35:57.831 [0x7faa6e93d700] ERROR - [FFMPEG] - Invalid return from get_format(): vaapi_vld not in possible list.
Sep 22, 2019 08:35:57.831 [0x7faa6e93d700] WARN - [FFMPEG] - Error parsing NAL unit #3.
Sep 22, 2019 08:35:57.831 [0x7faa6e93d700] WARN - Codecs: avcodec_open2 returned -1 for decoder 'hevc'
Sep 22, 2019 08:35:57.831 [0x7faa6e93d700] ERROR - [FFMPEG] - Cannot load libcuda.so.1
Sep 22, 2019 08:35:57.831 [0x7faa6e93d700] ERROR - [FFMPEG] - Could not dynamically load CUDA
Sep 22, 2019 08:36:21.437 [0x7faa70fe9700] WARN - Transcode runner appears to have died.
Sep 22, 2019 08:36:21.470 [0x7faaa27fc700] WARN - QueryParser: Invalid field 'sectionID' found, ignoring.
Sep 22, 2019 08:36:21.471 [0x7faa6e93d700] WARN - Transcode runner appears to have died.
Sep 22, 2019 08:36:21.480 [0x7faaa27fc700] WARN - QueryParser: Invalid field 'sectionID' found, ignoring.
Sep 22, 2019 08:36:28.539 [0x7faa70fe9700] WARN - MyPlex: we have an existing connectivity refresh request for async identifier a32cb8fc-432a-4f6a-b28a-9dbfc5740495, but it has expired so we will try ag
ain.
Sep 22, 2019 08:37:13.807 [0x7faa6e93d700] WARN - Transcode runner appears to have died.```

I should note that this happens on all videos, not just HEVC 10.

Sep 22, 2019 09:05:39.706 [0x7fb22f063700] ERROR - LPE: unknown item 610976.
Sep 22, 2019 09:05:39.706 [0x7fb22f063700] ERROR - Sync: failed to generate query for path library://1b43be00-c917-437b-9400-4107f30b3dea/item/%2Flibrary%2Fmetadata%2F610976 in sync item 24451020
Sep 22, 2019 09:05:39.706 [0x7fb22f063700] ERROR - Sync: skipping items for sync list 17755676, sync item 24451020: unable to generate sync set query
Sep 22, 2019 09:05:39.707 [0x7fb22f063700] ERROR - LPE: unknown item 610976.
Sep 22, 2019 09:05:39.707 [0x7fb22f063700] ERROR - Sync: failed to generate query for path library://1b43be00-c917-437b-9400-4107f30b3dea/item/%2Flibrary%2Fmetadata%2F610976 in sync item 24451020
Sep 22, 2019 09:05:39.707 [0x7fb22f063700] ERROR - Sync: empty sync set, unable to update status for sync list 17755676, sync item 24451020
Sep 22, 2019 09:05:52.294 [0x7fb2b6fc7700] ERROR - [Time] Failed to convert '1970-01-01 00:00:01' to epoch.

Can I get the full “Plex Media Server.log” as I need to see what’s going on.

Sure thing. Attached.

Plex Media Server Logs_2019-09-22_14-28-42.zip (832.5 KB)

Thanks for the logs. I’m looking over them now. Does playback stop after 10-15 seconds in all clients when it is software decoding HEVC and then hardware encoding H.264?

I just did a few tests and the gist is this problem only exists in browsers (I’m on MacOs)

  1. Chrome - multiple conversion settings all fail
  2. Safari - Multiple conversion settings all fail
  3. IOS - Works perfectly with and without HW transcoding. Tried direct play as well as forcing encoding and seeing HW transcoding being reported.
  4. Mac Desktop player - Same as IOS. Works as expected.

I should add that it is the same behavior on all devices if it is HEVC 10 or H.254.

Hi @seligkcimyour thanks for the data points. I’m currently investigating this today.

One other thing, if you disable HW transcoding, does the issue still occur in the Plex Web client?

Yes, the issue still exists with or with or without HW transcoding enabled and regardless of HEVC or H.264. I am unable to play any content in the web player client on this build no matter what I try.
On IOS and the Desktop Client it is the opposite. I cannot reproduce any of these issues. It seems to work perfectly on those clients with or without HW transcoding enabled, even if I force transcoding.

Thanks @seligkcim We were able to track down the cause of this issue and fix it. Please try the updated builds in my previous post here.

1 Like

Thanks mate, this build is working perfectly in all my tests on Linux.
Good job!

Hey @chrisallen I just noticed an issue that may be related to this build. On desktop browsers and the Mac Player App I get this error when viewing the Live TV section. Worth noting that Live TV works fine on the IOS app.

Someone suggested this might fix the problem I seem to be having here, but I didn’t see any mention of it being a TrueHD transcode problem. That’s what I see in the logs I’ve posted and it happens on all clients (web, iOS, tvOS, MacOS). Is this related or another issue altogether?

I’d try the test build, bIt I’m running in a docker. Not sure how to update that manually.

Any idea when the test packages might make it out to production? I’m tired of having to manually update my container every time I have to restart it. :slight_smile: