Hardware Transcoding Issues

Continuing the discussion from Hardware Transcoding Issues:
I am having a similar issue getting hardware accelerated transcoding to work as discussed in this previous thread. I’m running Plex plugin version 1.25.7.5604 in a TrueNas jail (12.2-RELEASE-p15). I’m using TrueNAS-12.0-U8.1. Here as sample of my Plex log:

Apr 18, 2022 20:43:00.617 [0x80aed5000] DEBUG - [Transcode] Codecs: hardware transcoding: testing API vaapi
Apr 18, 2022 20:43:00.617 [0x80aed5000] ERROR - [Transcode] [FFMPEG] - libva: /usr/local/share/plexmediaserver-plexpass/lib/dri/iHD_drv_video.so init failed
Apr 18, 2022 20:43:00.617 [0x80aed5000] DEBUG - [Transcode] [FFMPEG] - Format 0x32315659 → yuv420p.
Apr 18, 2022 20:43:00.617 [0x80aed5000] DEBUG - [Transcode] [FFMPEG] - Format 0x30323449 → yuv420p.
Apr 18, 2022 20:43:00.617 [0x80aed5000] DEBUG - [Transcode] [FFMPEG] - Format 0x3231564e → nv12.
Apr 18, 2022 20:43:00.617 [0x80aed5000] DEBUG - [Transcode] [FFMPEG] - Format 0x32595559 → yuyv422.
Apr 18, 2022 20:43:00.617 [0x80aed5000] DEBUG - [Transcode] [FFMPEG] - Format 0x59565955 → uyvy422.
Apr 18, 2022 20:43:00.617 [0x80aed5000] DEBUG - [Transcode] [FFMPEG] - Format 0x48323234 → yuv422p.
Apr 18, 2022 20:43:00.617 [0x80aed5000] DEBUG - [Transcode] [FFMPEG] - Format 0x58424752 → rgb0.
Apr 18, 2022 20:43:00.617 [0x80aed5000] DEBUG - [Transcode] [FFMPEG] - Format 0x58524742 → bgr0.
Apr 18, 2022 20:43:00.617 [0x80aed5000] DEBUG - [Transcode] [FFMPEG] - Format 0x30313050 → p010le.
Apr 18, 2022 20:43:00.617 [0x80aed5000] DEBUG - [Transcode] Codecs: Testing with profile ‘Main 10’
Apr 18, 2022 20:43:00.617 [0x80aed5000] DEBUG - [Transcode] [FFMPEG] - nal_unit_type: 32(VPS), nuh_layer_id: 0, temporal_id: 0
Apr 18, 2022 20:43:00.617 [0x80aed5000] DEBUG - [Transcode] [FFMPEG] - nal_unit_type: 33(SPS), nuh_layer_id: 0, temporal_id: 0
Apr 18, 2022 20:43:00.617 [0x80aed5000] DEBUG - [Transcode] [FFMPEG] - nal_unit_type: 34(PPS), nuh_layer_id: 0, temporal_id: 0
Apr 18, 2022 20:43:00.617 [0x80aed5000] DEBUG - [Transcode] [FFMPEG] - nal_unit_type: 20(IDR_N_LP), nuh_layer_id: 0, temporal_id: 0
Apr 18, 2022 20:43:00.617 [0x80aed5000] DEBUG - [Transcode] [FFMPEG] - Decoding VPS
Apr 18, 2022 20:43:00.617 [0x80aed5000] DEBUG - [Transcode] [FFMPEG] - Main 10 profile bitstream
Apr 18, 2022 20:43:00.617 [0x80aed5000] DEBUG - [Transcode] [FFMPEG] - Decoding SPS
Apr 18, 2022 20:43:00.617 [0x80aed5000] DEBUG - [Transcode] [FFMPEG] - Main 10 profile bitstream
Apr 18, 2022 20:43:00.617 [0x80aed5000] DEBUG - [Transcode] [FFMPEG] - Decoding VUI
Apr 18, 2022 20:43:00.617 [0x80aed5000] DEBUG - [Transcode] [FFMPEG] - Decoding PPS
Apr 18, 2022 20:43:00.617 [0x80aed5000] DEBUG - [Transcode] [FFMPEG] - Format vaapi_vld chosen by get_format().
Apr 18, 2022 20:43:00.617 [0x80aed5000] DEBUG - [Transcode] [FFMPEG] - Format vaapi_vld requires hwaccel initialisation.
Apr 18, 2022 20:43:00.617 [0x80aed5000] ERROR - [Transcode] [FFMPEG] - No support for codec hevc profile 2.
Apr 18, 2022 20:43:00.617 [0x80aed5000] ERROR - [Transcode] [FFMPEG] - Failed setup for format vaapi_vld: hwaccel initialisation returned error.

Server Version#:1.25.7.5604
Player Version#:

It appears the media is in an unsupported format.

You can check the format of your media (Main 10, Main 12, etc) using MediaInfo or Plex Get Info.

4K HDR Blu-ray movies use Main 10, which is a version 1 profile.

You need to determine if your GPU supports decoding version 2 profiles.

Even if the GPU supports v2 profiles, I do not know if they are supported by the Plex Transcoder. I have no such media and have not tried transcoding any with Plex.

Information on HEVC Profiles:

Info from Nvidia on supported decode/encode formats:

Intel GPUs:

Check the datasheets for your CPU family. Look in Datasheet, Volume 1, Graphics section (sometimes called Processor Graphics), for the Hardware Accelerated Video Decoding table. There may be additional notes, exceptions, etc in the surrounding text.

Make sure you check the CPU datasheet, not the Chipset datasheet. They are listed together and can sometimes be hard to differentiate between them (the web page is sometimes unclear).

Example from 10th Gen CPU datasheet (which does not support HEVC Profile 2):

https://www.intel.com/content/www/us/en/products/docs/processors/core/core-technical-resources.html

2 Likes

Thank you for the response and sharing links to additional references and resources. This has been tremendously helpful. I do have one more question relating to the earlier error in the log.

Would you be able to help me troubleshot this error? I get this error whenever I’m transcoding files and it causes streaming of the content to fail. If I use direct play I don’t get this error. This isn’t an issue if I’m on the same network as my Plex server, however it affects me if I try playing a movie remotely over the Internet

Unfortunately I cannot help with that error. I run Plex on Ubuntu. I’m not familiar with running it on TrueNAS.

When running Plex in a docker container, you have to passthrough the GPU so Plex can see it. Maybe something similar on TrueNAS? ← That’s a complete guess.

Suggestion: re-create the problem and upload log files.

  1. Reboot your system, or restart Plex Media Server.
  2. Wait 2 - 3 minutes for Plex to start and the log files to capture the startup sequence.
  3. Recreate the problem. Use a video you know your system is capable of transcoding (i.e. not HEVC profile 2).
  4. After the problem occurs, stop playback and wait one minute for the logs to capture everything.
  5. Pull the log files, Settings → Troubleshooting, and attach the entire ZIP file to the thread. Drag it into the message window. It will insert at the cursor location.
  6. Mention the CPU model (ex: i3-8100), and GPU model if you’re using a graphics card (ex: GTX 1050). Also the name of the video you used to test (makes it easier to search the log files).

Hopefully someone familiar with running Plex on TrueNAS can look through the logs and assist with the troubleshooting.

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