Server Version#: 1.21.1.3766
Player Version#: Plex Web 4.48.1
Regular hardware transcoding works fine with 1080p h264 content. I’m unable to get HW transcoding to work with an h265 10bit HDR file, however.
I’m on a fresh Ubuntu 20.04 install, and have installed the dependencies referenced in the HDR to SDR Tone Mapping article .
CPU is an i5-9400 and motherboard is Gigabyte b365m ds3h. Logs from an attempt to play an HDR file are attached. It played, but via software transcoding and tone mapping.
(File removed)
ChuckPa
December 17, 2020, 4:14am
3
Are the required libraries installed / in a VM?
The transcoder is trying to invoke the hardware:
Dec 12, 2020 11:09:10.476 [0x7f3316ffd700] DEBUG - [Transcode] TPU: hardware transcoding: final decoder: vaapi, final encoder: vaapi
Dec 12, 2020 11:09:10.477 [0x7f3316ffd700] DEBUG - [Transcode] Job running: EAE_ROOT=‘/tmp/pms-8a7086da-9048-42e7-b764-bb1dc8f9c4fb/EasyAudioEncoder’ EnableExtendedVaFormats=‘1’ FFMPEG_EXTERNAL_LIBS=‘/var/lib/plexmediaserver/Library/Application\ Support/Plex\ Media\ Server/Codecs/367b3d4-3654-linux-x86_64/’ LIBVA_DRIVERS_PATH=‘/usr/lib/plexmediaserver/lib/dri’ NEOReadDebugKeys=‘1’ XDG_CACHE_HOME=‘/var/lib/plexmediaserver/Library/Application Support/Plex Media Server/Cache’ XDG_DATA_HOME=‘/usr/lib/plexmediaserver/Resources’ X_PLEX_TOKEN=‘xxxxxxxxxxxxxxxxxxxx’ ‘/usr/lib/plexmediaserver/Plex Transcoder’ ‘-codec:0’ ‘hevc’ ‘-hwaccel:0’ ‘vaapi’ ‘-hwaccel_fallback_threshold:0’ ‘10’ ‘-hwaccel_output_format:0’ ‘vaapi’ ‘-hwaccel_device:0’ ‘vaapi’ ‘-codec:1’ ‘eac3_eae’ ‘-eae_prefix:1’ ‘j0z5dd2flbm8fzrvg39es2eu_’ ‘-analyzeduration’ ‘20000000’ ‘-probesize’ ‘20000000’ ‘-i’ ‘/mnt/Elements2/Test/Aquaman.2018.2160p.WEB-DL.DDP5.1.HDR.HEVC-MOMA/Aquaman.2018.2160p.WEB-DL.DDP5.1.HDR.HEVC-MOMA.mkv’ ‘-filter_complex’ ‘[0:0]hwupload[0];[0]scale_vaapi=w=2276:h=1280:format=p010[1];[1]hwmap=derive_device=opencl[2];[2]tonemap_opencl=tonemap=mobius:format=nv12:m=bt709:p=bt709:r=tv[3];[3]hwmap=derive_device=vaapi:reverse=1[4];[4]hwupload[5]’ ‘-filter_complex’ ‘[0:1] aresample=async=1:ocl=’'‘stereo’'‘:rematrix_maxval=0.000000dB:osr=48000[6]’ ‘-map’ ‘[5]’ ‘-codec:0’ ‘h264_vaapi’ ‘-b:0’ ‘9597k’ ‘-maxrate:0’ ‘12797k’ ‘-bufsize:0’ ‘25594k’ ‘-r:0’ ‘23.975999999999999’ ‘-force_key_frames:0’ ‘expr:gte(t,0+n_forced*1)’ ‘-map’ ‘[6]’ ‘-metadata:s:1’ ‘language=eng’ ‘-codec:1’ ‘aac’ ‘-b:1’ ‘256k’ ‘-f’ ‘dash’ ‘-seg_duration’ ‘1’ ‘-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/j0z5dd2flbm8fzrvg39es2eu/deb2da56-60d9-4f23-b69e-54647c544f73/manifest?X-Plex-Http-Pipeline=infinite ’ ‘-avoid_negative_ts’ ‘disabled’ ‘-map_metadata’ ‘-1’ ‘-map_chapters’ ‘-1’ ‘dash’ ‘-start_at_zero’ ‘-copyts’ ‘-vsync’ ‘cfr’ ‘-init_hw_device’ ‘vaapi=vaapi:’ ‘-filter_hw_device’ ‘vaapi’ ‘-y’ ‘-nostats’ ‘-loglevel’ ‘quiet’ ’
This is probably due to an old version of intel beignet which is not compatible with the Intel 9th and 10th gen CPUs.
You could try this workaround (run this script):
#!/bin/bash
#description=This script updates Beignet Driver to support last Intel GPUs for Plex Container
sudo apt update && sudo apt -y install cmake pkg-config python ocl-icd-dev libegl1-mesa-dev ocl-icd-opencl-dev libdrm-dev libxfixes-dev libxext-dev llvm-7-dev clang-7 libclang-7-dev libtinfo-dev libedit-dev zlib1g-dev build-essential git clinfo
git clone --branch comet-lake https://github.com/rcombs/beignet.git
mkdir /beignet/build/ && cd /beignet/build && cmake -DLLVM_INSTALL_DIR=/usr/lib/llvm-7/bin .. && make -j && make install
rm -rf beignet
clinfo -l
(Modified version of this script: https://forums.unraid.net/topic/77943-guide-plex-hardware-acceleration-using-intel-quick-sync/page/9/?tab=comments#comment-920581 )
Execute it, will take some time to download all the required dev librairies, and do the actual compilation, but it works !!!
It should finish with lines like these:
beignet-opencl-icd: no supported GPU found, this is probably the wrong opencl-icd package for this hardware
(If you have multiple ICDs installed and OpenCL works, you can ignore this message)
beignet-opencl-icd: no supported GPU found, this is probably the wrong opencl-icd package for this hardware
(If you have multiple ICDs installed and OpenCL works, you can ignore this message)
beignet-opencl-icd: no supported GPU found, this is probably the wrong opencl-icd package for this hardware
(If you have multiple ICDs installed and OpenCL works, you can ignore this message)
Platform #0: Intel Gen OCL Driver
`-- Device #0: Intel(R) UHD Graphics Coffee Lake Desktop GT2
Platform #1: Intel Gen OCL Driver
Script Finished Dec 17, 2020 08:33.56
Thanks for everyone’s help! I was messaged by another Plex dev last night and was pointed towards updated iGPU drivers here:
https://github.com/intel/compute-runtime/releases/tag/20.50.18716
This did the trick!
system
Closed
March 17, 2021, 12:39pm
6
This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.