HW acceleration not working

Hi, I just set up the sever on my QNAP TS-364 which is on Intel N5105, and the cpu supports hardware acceleration. And I have enabled the option in the Plex Web App, however I tried a couple of videos, where transcoding is working, but not hardware acceleration, please help!

Server Version#: 1.25.8.5621
Player Version#: 8.31.0.31311

Plex Media Server Logs_2022-03-22_21-58-55.zip (899.7 KB)

You’re getting HW decode.

The process is:

Mar 22, 2022 18:08:16.834 [0x7f959f59fb38] DEBUG - [Transcode] Auth: authenticated user 133714994 as Bob
Mar 22, 2022 18:08:16.840 [0x7f959f59fb38] DEBUG - [Transcode] We're going to try to auto-select an audio stream for account 133714994.
Mar 22, 2022 18:08:16.840 [0x7f959f59fb38] DEBUG - [Transcode] Selecting best audio stream for part ID 892 (autoselect: 1 language: en)
Mar 22, 2022 18:08:16.840 [0x7f959f59fb38] DEBUG - [Transcode] We're going to try to auto-select a subtitle.
Mar 22, 2022 18:08:16.840 [0x7f959f59fb38] DEBUG - [Transcode] Selected a foreign audio track: zh
Mar 22, 2022 18:08:16.840 [0x7f959f59fb38] DEBUG - [Transcode] Audio Stream: 1848, Subtitle Stream: -1
Mar 22, 2022 18:08:16.840 [0x7f959f59fb38] DEBUG - [Transcode] We're going to try to auto-select an audio stream for account 133714994.
Mar 22, 2022 18:08:16.840 [0x7f959f59fb38] DEBUG - [Transcode] Selecting best audio stream for part ID 908 (autoselect: 1 language: en)
Mar 22, 2022 18:08:16.840 [0x7f959f59fb38] DEBUG - [Transcode] We're going to try to auto-select a subtitle.
Mar 22, 2022 18:08:16.840 [0x7f959f59fb38] DEBUG - [Transcode] Audio Stream: 1879, Subtitle Stream: -1

Here you can see:

  1. HW decode
  2. HW encode
Mar 22, 2022 18:08:19.516 [0x7f959f59fb38] DEBUG - [Transcode/effb8ec9ea31a66b-com-plexapp-android] [FFMPEG] - Created surface 0.
Mar 22, 2022 18:08:19.516 [0x7f959f59fb38] DEBUG - [Transcode/effb8ec9ea31a66b-com-plexapp-android] [FFMPEG] - Direct mapping possible.
Mar 22, 2022 18:08:19.516 [0x7f959f59fb38] DEBUG - [Transcode/effb8ec9ea31a66b-com-plexapp-android] TPU: hardware transcoding: final decoder: vaapi, final encoder: vaapi
Mar 22, 2022 18:08:19.517 [0x7f959f59fb38] DEBUG - [Transcode/effb8ec9ea31a66b-com-plexapp-android/JobRunner] Job running: EAE_ROOT='/share/CACHEDEV1_DATA/.qpkg/PlexMediaServer/Library/tmp/pms-7492789a-acfb-4299-88f4-947b246328e7/EasyAudioEncoder' FFMPEG_EXTERNAL_LIBS='/share/CACHEDEV1_DATA/.qpkg/PlexMediaServer/Library/Plex\ Media\ Server/Codecs/62cc2bc-4266-linux-x86_64/' LIBVA_DRIVERS_PATH='/share/CACHEDEV1_DATA/.qpkg/PlexMediaServer/lib/dri' X_PLEX_TOKEN='xxxxxxxxxxxxxxxxxxxx' '/share/CACHEDEV1_DATA/.qpkg/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' 'effb8ec9ea31a66b-com-plexapp-android_' '-analyzeduration' '20000000' '-probesize' '20000000' '-i' '/share/CACHEDEV2_DATA/Media/Movies/Schemes in Antiques (2021)/Schemes in Antiques(2021).4K.60FPS.H265.10bit.HD.mkv' '-filter_complex' '[0:0]hwupload[0];[0]scale_vaapi=w=3840:h=1608:format=nv12[1];[1]hwupload[2]' '-map' '[2]' '-metadata:s:0' 'language=zho' '-codec:0' 'h264_vaapi' '-b:0' '46310k' '-maxrate:0' '61747k' '-bufsize:0' '123494k' '-r:0' '60' '-force_key_frames:0' 'expr:gte(t,n_forced*1)' '-filter_complex' '[0:1] aresample=async=1:ocl='\''5.1'\'':rematrix_maxval=0.000000dB:osr=48000[3]' '-map' '[3]' '-metadata:s:1' 'language=zho' '-codec:1' 'libopus' '-b:1' '768k' '-segment_format' 'matroska' '-f' 'ssegment' '-individual_header_trailer' '0' '-flags' '+global_header' '-segment_header_filename' 'header' '-segment_time' '1' '-segment_start_number' '0' '-segment_copyts' '1' '-segment_time_delta' '0.0625' '-segment_list' 'http://127.0.0.1:32400/video/:/transcode/session/effb8ec9ea31a66b-com-plexapp-android/a59936e2-eab3-473e-a1f4-16b2c5fd3c4d/manifest?X-Plex-Http-Pipeline=infinite' '-segment_list_type' 'csv' '-segment_list_size' '5' '-segment_list_separate_stream_times' '1' '-segment_list_unfinished' '1' '-segment_format_options' 'output_ts_offset=10' '-max_delay' '5000000' '-avoid_negative_ts' 'disabled' '-map_metadata:g' '-1' '-map_metadata:c' '-1' '-map_chapters' '-1' 'media-%05d.ts' '-start_at_zero' '-copyts' '-vsync' 'cfr' '-init_hw_device' 'vaapi=vaapi:' '-filter_hw_device' 'vaapi' '-y' '-nostats' '-loglevel' 'quiet' '-loglevel_plex' 'error' '-progressurl' 'http://127.0.0.1:32400/video/:/transcode/session/effb8ec9ea31a66b-com-plexapp-android/a59936e2-eab3-473e-a1f4-16b2c5fd3c4d/progress'

Come down a little bit further and now it finds nothing:

Mar 22, 2022 18:08:19.701 [0x7f959f7a9b38] DEBUG - TPU: hardware transcoding: enabled, but no hardware decode accelerator found
Mar 22, 2022 18:08:19.701 [0x7f959f7a9b38] DEBUG - [Universal] Using local file path instead of URL: /share/CACHEDEV2_DATA/Media/Movies/Schemes in Antiques (2021)/Schemes in Antiques(2021).4K.60FPS.H265.10bit.HD.mkv
Mar 22, 2022 18:08:19.701 [0x7f959f7a9b38] INFO - CodecManager: obtaining encoder 'libx264'
Mar 22, 2022 18:08:19.701 [0x7f959f7a9b38] DEBUG - HTTP requesting GET https://plex.tv/api/codecs/libx264_encoder?build=linux-x86_64-standard&deviceId=cca3eebb-dce7-4ec2-8f3d-5bc2169d5f24&oldestPreviousVersion=1%2E25%2E8%2E5621-7a6fed0cf&version=62cc2bc-4266
Mar 22, 2022 18:08:19.789 [0x7f959ebd4b38] DEBUG - Request: [192.168.31.76:55780 (Subnet)] GET /video/:/transcode/universal/session/effb8ec9ea31a66b-com-plexapp-android/base/header (10 live) TLS Signed-in
Mar 22, 2022 18:08:19.945 [0x7f95a02f7b38] DEBUG - [HttpClient] HTTP/2.0 (0.2s) 200 response from GET https://plex.tv/api/codecs/libx264_encoder?build=linux-x86_64-standard&deviceId=cca3eebb-dce7-4ec2-8f3d-5bc2169d5f24&oldestPreviousVersion=1%2E25%2E8%2E5621-7a6fed0cf&version=62cc2bc-4266 (reused)
Mar 22, 2022 18:08:19.945 [0x7f959f7a9b38] DEBUG - HTTP requesting GET https://downloads.plex.tv/codecs/62cc2bc-4266/linux-x86_64-standard/liblibx264_encoder.so
Mar 22, 2022 18:08:19.977 [0x7f95a02f7b38] DEBUG - [HttpClient] HTTP/2.0 (0.0s) 200 response from GET https://downloads.plex.tv/codecs/62cc2bc-4266/linux-x86_64-standard/liblibx264_encoder.so (reused)
Mar 22, 2022 18:08:19.982 [0x7f959f7a9b38] DEBUG - Codecs: hardware transcoding: testing API vaapi
Mar 22, 2022 18:08:19.983 [0x7f959f7a9b38] DEBUG - [FFMPEG] - Format 0x41524742 -> bgra.
Mar 22, 2022 18:08:19.983 [0x7f959f7a9b38] DEBUG - [FFMPEG] - Format 0x42475241 -> argb.
Mar 22, 2022 18:08:19.983 [0x7f959f7a9b38] DEBUG - [FFMPEG] - Format 0x41424752 -> rgba.
Mar 22, 2022 18:08:19.983 [0x7f959f7a9b38] DEBUG - [FFMPEG] - Format 0x52474241 -> abgr.
Mar 22, 2022 18:08:19.983 [0x7f959f7a9b38] DEBUG - [FFMPEG] - Format 0x58524742 -> bgr0.
Mar 22, 2022 18:08:19.983 [0x7f959f7a9b38] DEBUG - [FFMPEG] - Format 0x42475258 -> 0rgb.
Mar 22, 2022 18:08:19.983 [0x7f959f7a9b38] DEBUG - [FFMPEG] - Format 0x58424752 -> rgb0.
Mar 22, 2022 18:08:19.983 [0x7f959f7a9b38] DEBUG - [FFMPEG] - Format 0x52474258 -> 0bgr.
Mar 22, 2022 18:08:19.983 [0x7f959f7a9b38] DEBUG - [FFMPEG] - Format 0x30335241 -> unknown.
Mar 22, 2022 18:08:19.983 [0x7f959f7a9b38] DEBUG - [FFMPEG] - Format 0x30334241 -> unknown.
Mar 22, 2022 18:08:19.983 [0x7f959f7a9b38] DEBUG - [FFMPEG] - Format 0x30335258 -> x2rgb10le.
Mar 22, 2022 18:08:19.983 [0x7f959f7a9b38] DEBUG - [FFMPEG] - Format 0x30334258 -> unknown.
Mar 22, 2022 18:08:19.983 [0x7f959f7a9b38] DEBUG - [FFMPEG] - Format 0x36314752 -> unknown.
Mar 22, 2022 18:08:19.983 [0x7f959f7a9b38] DEBUG - [FFMPEG] - Format 0x56555941 -> unknown.
Mar 22, 2022 18:08:19.983 [0x7f959f7a9b38] DEBUG - [FFMPEG] - Format 0x56555958 -> unknown.
Mar 22, 2022 18:08:19.983 [0x7f959f7a9b38] DEBUG - [FFMPEG] - Format 0x30303859 -> gray.
Mar 22, 2022 18:08:19.983 [0x7f959f7a9b38] DEBUG - [FFMPEG] - Format 0x3231564e -> nv12.
Mar 22, 2022 18:08:19.983 [0x7f959f7a9b38] DEBUG - [FFMPEG] - Format 0x3132564e -> unknown.
Mar 22, 2022 18:08:19.983 [0x7f959f7a9b38] DEBUG - [FFMPEG] - Format 0x32595559 -> yuyv422.
Mar 22, 2022 18:08:19.983 [0x7f959f7a9b38] DEBUG - [FFMPEG] - Format 0x59565955 -> uyvy422.
Mar 22, 2022 18:08:19.983 [0x7f959f7a9b38] DEBUG - [FFMPEG] - Format 0x32315659 -> yuv420p.
Mar 22, 2022 18:08:19.983 [0x7f959f7a9b38] DEBUG - [FFMPEG] - Format 0x30323449 -> yuv420p.
Mar 22, 2022 18:08:19.983 [0x7f959f7a9b38] DEBUG - [FFMPEG] - Format 0x50313134 -> yuv411p.
Mar 22, 2022 18:08:19.983 [0x7f959f7a9b38] DEBUG - [FFMPEG] - Format 0x48323234 -> yuv422p.
Mar 22, 2022 18:08:19.983 [0x7f959f7a9b38] DEBUG - [FFMPEG] - Format 0x56323234 -> yuv440p.
Mar 22, 2022 18:08:19.983 [0x7f959f7a9b38] DEBUG - [FFMPEG] - Format 0x50343434 -> yuv444p.
Mar 22, 2022 18:08:19.983 [0x7f959f7a9b38] DEBUG - [FFMPEG] - Format 0x33434d49 -> unknown.
Mar 22, 2022 18:08:19.983 [0x7f959f7a9b38] DEBUG - [FFMPEG] - Format 0x30313050 -> p010le.
Mar 22, 2022 18:08:19.983 [0x7f959f7a9b38] DEBUG - [FFMPEG] - Format 0x30313259 -> y210le.
Mar 22, 2022 18:08:19.983 [0x7f959f7a9b38] DEBUG - [FFMPEG] - Format 0x30313459 -> unknown.
Mar 22, 2022 18:08:19.983 [0x7f959f7a9b38] DEBUG - [FFMPEG] - Created surface 0.
Mar 22, 2022 18:08:19.983 [0x7f959f7a9b38] DEBUG - [FFMPEG] - Direct mapping possible.
Mar 22, 2022 18:08:19.983 [0x7f959f7a9b38] DEBUG - TPU: hardware transcoding: final decoder: , final encoder: 
Mar 22, 2022 18:08:19.983 [0x7f959f7a9b38] DEBUG - [JobRunner] Job running: EAE_ROOT='/share/CACHEDEV1_DATA/.qpkg/PlexMediaServer/Library/tmp/pms-7492789a-acfb-4299-88f4-947b246328e7/EasyAudioEncoder' FFMPEG_EXTERNAL_LIBS='/share/CACHEDEV1_DATA/.qpkg/PlexMediaServer/Library/Plex\ Media\ Server/Codecs/62cc2bc-4266-linux-x86_64/' LIBVA_DRIVERS_PATH='/share/CACHEDEV1_DATA/.qpkg/PlexMediaServer/lib/dri' X_PLEX_TOKEN='xxxxxxxxxxxxxxxxxxxx' '/share/CACHEDEV1_DATA/.qpkg/PlexMediaServer/Plex Transcoder' '-codec:0' 'hevc' '-codec:1' 'eac3_eae' '-eae_prefix:1' 'effb8ec9ea31a66b-com-plexapp-android_' '-analyzeduration' '20000000' '-probesize' '20000000' '-i' '/share/CACHEDEV2_DATA/Media/Movies/Schemes in Antiques (2021)/Schemes in Antiques(2021).4K.60FPS.H265.10bit.HD.mkv' '-filter_complex' '[0:0]scale=w=3840:h=1608:force_divisible_by=4[0];[0]format=pix_fmts=yuv420p|nv12[1]' '-map' '[1]' '-metadata:s:0' 'language=zho' '-codec:0' 'libx264' '-crf:0' '16' '-maxrate:0' '61747k' '-bufsize:0' '123494k' '-r:0' '60' '-preset:0' 'veryfast' '-level:0' '5.1' '-x264opts:0' 'subme=0:me_range=4:rc_lookahead=10:me=dia:no_chroma_me:8x8dct=0:partitions=none' '-force_key_frames:0' 'expr:gte(t,n_forced*1)' '-filter_complex' '[0:1] aresample=async=1:ocl='\''5.1'\'':rematrix_maxval=0.000000dB:osr=48000[2]' '-map' '[2]' '-metadata:s:1' 'language=zho' '-codec:1' 'libopus' '-b:1' '768k' '-segment_format' 'matroska' '-f' 'ssegment' '-individual_header_trailer' '0' '-flags' '+global_header' '-segment_header_filename' 'header' '-segment_time' '1' '-segment_start_number' '0' '-segment_copyts' '1' '-segment_time_delta' '0.0625' '-segment_list' 'http://127.0.0.1:32400/video/:/transcode/session/effb8ec9ea31a66b-com-plexapp-android/a59936e2-eab3-473e-a1f4-16b2c5fd3c4d/manifest?X-Plex-Http-Pipeline=infinite' '-segment_list_type' 'csv' '-segment_list_size' '5' '-segment_list_separate_stream_times' '1' '-segment_list_unfinished' '1' '-segment_format_options' 'output_ts_offset=10' '-max_delay' '5000000' '-avoid_negative_ts' 'disabled' '-map_metadata:g' '-1' '-map_metadata:c' '-1' '-map_chapters' '-1' 'media-%05d.ts' '-start_at_zero' '-copyts' '-vsync' 'cfr' '-init_hw_device' 'vaapi=vaapi:' '-filter_hw_device' 'vaapi' '-y' '-nostats' '-loglevel' 'quiet' '-loglevel_plex' 'error' '-progressurl' 'http://127.0.0.1:32400/video/:/transcode/session/effb8ec9ea31a66b-com-plexapp-android/a59936e2-eab3-473e-a1f4-16b2c5fd3c4d/progress'

Are you attempting to enable tone mapping on the QNAP?

I did see something in the logs I’m not sure of and have asked Engineering for clarification.

@denniskai

Sorry it took me a little bit to complete research.

  1. The N5105 CPU in the NAS isn’t supported yet.
  2. That NAS model is, for that reason, not on our NAS Compatibility List.

Engineering feels that they can support it but not right now.
They will have to schedule the work to add support for the CPU family.

Thanks Chuck for the clarification. is there an estimated time? thanks

@denniskai

I’ve discussed this with Engineering.

This is something QNAP must first handle in their kernel.

The jasper lake CPU doesn’t support RC (Rate Control) the same way the other CPUs do.

Until QNAP has this level of support in their kernel, there is no way it can be accepted as Plex compatible and then be added to the NAS Compatibility List.

To date, QNAP has not asked me to test the NAS.

I would discuss with them about whether they feel the NAS is Plex compatible or not.
I do not see any Plex logos on their product page.

Thanks Chuck! I understand the situation, which is odd given that the model has better GPU built in than some other models that have Plex supports described in the intro page of respective models.

But I do find on the following page of the model mentions Plex.

And for the time being, would there be any workarounds? thanks

At present, there is no work around.

As I said yesterday, I’ve reached out to QNAP to discuss this.

I am surprised they asserted Plex compatibility when no such compatibility test has been requested by them.

thanks… guess I will just need to be patient.

Seems the issue is more with QNAP. Might be better to open a ticket with them

I tried opening a ticket with QNAP, but because I don’t own a TS-364 yet they told me to buy an older model that’s Plex Certified.

:face_with_raised_eyebrow: pretty much expected. There are many models that will work.

In your price range look at the TS-453D you get an extra drive and it is an SMB model, still lots of power. The only issue is 8 gig of ram max. Unless you are doing virtual machines you should be fine with 8 gig of ram.

The TS-453Be, which I have, is a beast for plex. The 453D is even better by the specs.

I actually was looking at the 453D, but I was leery of the CPU being powerful enough for my needs as I have quite a few friends and family using my server and at any one time seeing 5 transcodes wouldn’t be extraordinary although that doesn’t happen often. I read the new Celeron in this NAS has a good 30-40% GPU performance bump over the 453 which I think would cover me pretty squarely for my needs. I’m not worried about the bays bc right now I’ve got a qnap DAS with 3 12tb drives in it so I plan to just plug that into whatever NAS I buy. From what I’ve been reading 4gb of RAM should be plenty to run just Plex. The only reason I’m trying to upgrade is to get away from an unreliable Windows desktop Plex server that randomly craps out every week or so.

My content is mostly 1080p 2gb h264 mp4 movies and low bit rate TV shows if that info helps.

5 transcodes of 1080 down to 720 or 480 will be a cakewalk for the 453D
My TS 453Be has transcoded 9 to 10 like that and was doing 4 ish direct streams (13 video feeds total as I recall) and was running at around 85%

My media is h.264 typically 18-22 Gb mp4, max bitrates and max audio bitrates (640K AC3), and the Be just eats it up no issues

Wow, that’s quite impressive. I’ll have to look into that model then. I still hate buying a last generation product when the next generation is just around the corner, just a pet peeve of mine. Rumor is the 464 and 664 will be out in just a month or so and I wouldn’t mind paying a little more the stronger processor and also wouldn’t mind 2 M2 slots (1 for a 1tb Plex server drive and 1 for a 256gb drive just to hold transcodes or anything else since I have my transcode buffer set to like 5 hours so it does the entire movie straight off).

Ya, I am of the same mind but compatibility really does become the primary decider. I would get the 453D in a heartbeat if I needed to replace my Be.

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