Hardware Acceleration on Qnap TVS-472XT

Server Version#:1.16
Player Version#:7.17

I have purchased Plex Pass to enable “Hardware Acceleration” as I’m suffering in playing 4K HEVC Movies, but unfortunately the hardware acceleration dosn’t really work with Qnap TVS-472XT. On plex status page it shows “hw” beside the movie being transcoded, but in reality it doesn’t utilize the hardware of Qnap, as the result is exactly same (not a smooth playback at all, every couple of seconds it stops playing awaiting new stream). Also on the Qnap control panel it dosn’t show any on-fly transcoding record, while when I try to transcode something using the built in web app of Qnap it does show a record of on-fly transcoding. Could you please help? Thanks.

Just now I have googled what you have wrote and found the list on Plex website, unfortunately Plex supports the cheaper version Qnap TVS-473 but not this model I have which is TVS-472XT, it is not there in the list :frowning: … Is there any solution? I have purchased this expensive NAS specifically for Plex as the youtube videos I watched market it as the best NAS for Plex!!! Also the official website of Qnap advertise the same :unamused:

Before making a conclusion, In the future, it’s best to ask one of us.

I am the maintainer of that list and was unaware that model was available.

The TVS-472XT does support Quick Sync video and therefore is HW transcoding capable.

What level of HW support it has requires I do additional research. It looks like HEVC SDR, not HEVC HDR.

Your log files will allow me to know definitively.

  1. Start playback
  2. Wait until it bogs / fails
  3. Stop Playback
  4. Settings - Server - Troubleshooting - Download Logs
  5. Attach the ZIP file here.

Plex Media Server Logs_2019-06-19_05-38-40.zip (2.8 MB)

Here you go. I played two movies where it fails to play smoothly and showing “server is not powerful enough …” although this NAS is the best compared to all other ones for media streaming. It features 8th generation Intel® Pentium® Gold processor and advanced Intel® UHD Graphics 610. Thanks.

Thanks for the logs.

It’s running the hardware encoding as expected but has no hardware assisted decode.

Jun 19, 2019 05:27:30.147 [0x7f610eb7d700] DEBUG - TPU: hardware transcoding: final decoder: , final encoder: vaapi

The audio is TrueHD, this must be converted and additional load on the CPU:

'truehd_eae' '-eae_prefix:1'

Lastly, You’re burning subtitles.

 decision=burn 

the entry which shows this:

Jun 19, 2019 05:27:30.147 [0x7f610eb7d700] DEBUG - TPU: hardware transcoding: zero-copy support not present
Jun 19, 2019 05:27:30.147 [0x7f610eb7d700] DEBUG - TPU: hardware transcoding: final decoder: , final encoder: vaapi
Jun 19, 2019 05:27:30.148 [0x7f610eb7d700] DEBUG - Job running: EAE_ROOT='/share/CACHEDEV1_DATA/.qpkg/PlexMediaServer/Library/tmp/pms-51e83455-6614-41ce-8494-2c78a8c91670/EasyAudioEncoder' FFMPEG_EXTERNAL_LIBS='/share/CACHEDEV1_DATA/.qpkg/PlexMediaServer/Library/Plex\ Media\ Server/Codecs/21b5515-2321-linux-x86_64/' XDG_CACHE_HOME='/share/CACHEDEV1_DATA/.qpkg/PlexMediaServer/Library/Plex Media Server/Cache' XDG_DATA_HOME='/share/CACHEDEV1_DATA/.qpkg/PlexMediaServer/Resources' X_PLEX_TOKEN='xxxxxxxxxxxxxxxxxxxx' '/share/CACHEDEV1_DATA/.qpkg/PlexMediaServer/Plex Transcoder' '-codec:0' 'hevc' '-codec:1' 'truehd_eae' '-eae_prefix:1' 'f83f9e74aa58ae34-com-plexapp-android_' '-analyzeduration' '20000000' '-probesize' '20000000' '-i' '/share/CACHEDEV1_DATA/Movies/13 Hours - The Secret Soldiers of Benghazi 2016 UHD/13 Hours - The Secret Soldiers of Benghazi 2016 UHD Remux.mkv' '-filter_complex' '[0:5]scale=3840:2160[0];[0:0][0]overlay[1];[1]scale=w=3840:h=2160[2];[2]format=pix_fmts=nv12[3];[3]hwupload[4]' '-filter_complex' '[0:1] aresample=async=1:ocl='\''7.1'\'':osr=48000[5]' '-map' '[4]' '-metadata:s:0' 'language=eng' '-codec:0' 'h264_vaapi' '-b:0' '62208k' '-maxrate:0' '82944k' '-bufsize:0' '165888k' '-r:0' '23.975999999999999' '-force_key_frames:0' 'expr:gte(t,0+n_forced*1)' '-map' '[5]' '-metadata:s:1' 'language=eng' '-codec:1' 'eac3_eae' '-eae_prefix:1' 'f83f9e74aa58ae34-com-plexapp-android_' '-b:1' '1000k' '-segment_format' 'mpegts' '-f' 'ssegment' '-individual_header_trailer' '0' '-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/f83f9e74aa58ae34-com-plexapp-android/2ef1c22b-5f3a-4538-be52-725b2d74dcad/seglist' '-segment_list_type' 'csv' '-segment_list_size' '2147483647' '-segment_list_separate_stream_times' '1' '-max_delay' '5000000' '-avoid_negative_ts' 'disabled' '-map_metadata' '-1' '-map_chapters' '-1' 'media-%05d.ts' '-start_at_zero' '-copyts' '-vsync' 'cfr' '-y' '-vaapi_device' '/dev/dri/renderD128' '-nostats' '-loglevel' 'quiet' '-loglevel_plex' 'error' '-progressurl' 'http://127.0.0.1:32400/video/:/transcode/session/f83f9e74aa58ae34-com-plexapp-android/2ef1c22b-5f3a-4538-be52-725b2d74dcad/progress'

You’re running out of CPU power because:

  1. No hardware decode
  2. Burning subtitles
  3. Transcoding audio

on a dual core with 5000 passmarks.

Jun 19, 2019 05:27:27.251 [0x7f610ee6b700] DEBUG - Streaming Resource: Reached Decision id=3 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=3 part=(id=3 decision=transcode container=mpegts protocol=hls streams=(Video=(id=2595 decision=transcode bitrate=82944 encoder=h264_vaapi width=3840 height=2160) Audio=(id=2596 decision=transcode bitrate=1024 encoder=eac3_eae channels=8 rate=48000) Subtitle=(id=2600 decision=burn languageCode=ara location=embedded))))

So the summary is that Plex works well with my Qnap TVS-472XT hardware but my NAS dosn’t support decoding? I have tried similar software called Emby, and it works just perfect, not even a glitch. The only problem is that the interface is not friendly at all.

What is the suggested solution to make Plex run well? Upgrade? What kind of things I need to purchase? I just need to run a max of three simultaneous on-fly transcoding for three 4K HEVC Videos (1 local stream and two remote ones). Thanks.

I have already made a research, and I have two options here, maybe you can help me to choose the best one out of them:

  1. Purchasing and installing MSI GeForce GTX 1050 Ti 4GT LP — on my NAS.
  2. Purchasing Nvidia Shield and install Plex Server on it instead of on the NAS while keeping this last one just for storing the movies.

which one of above two options will resolve my problem, considering my above requirements (i.e. 3 on-fly transcoding for 4K HEVC movies at the same time). Thanks.

By the way even if I disable the subtitles, still same issue with Plex.

the GPU does the video portion only
the CPU does the subtitle rendering and often don’t have enough CPU power to overlay (burn) the subtitles into each video frame. This is the problem with almost all the NAS boxes in the class

Ok thanks dear. If anyone can help me to make the best decision between the two aforementioned options I would be grateful. Thanks.

Hi.
I have 872XT and 1050 TI card.
Have you installed PLEX to Virtual station or container station to get GPU support?
I have only two options inside GPU settings.

In just speaking with QNAP, I was reminded

Some models only are allowed GPU-passthrough
Others are allowed “QTS mode” . (Control Panel - Graphics Adapter)

It is this “QTS mode” I key on for Plex’s native app.
If I don’t see “QTS mode”, then the card can’t be used by the native app. I assume it to be reserved for whatever other purpose is assigned but otherwise “off limits” to native app.

If you want to pass the GPU through to a VM or container, AND QNAP allows it, this is also an option.

Hi dear, I have no clue about these things, I’m not tech savvy in this regards.

Hello dear, I have checked the aforementioned card, which is MSI GeForce GTX 1050 Ti 4GT LP, and it is there in the Compatibility list of Qnap TVS-472XT, so does that means it will be accessible to Plex? Or you mean actually that my Qnap itself might not support the same? I’m really lost here with no technical details. All what I want to achieve is streaming three 4K HEVC movies at the same time to three various devices smoothly and without issues. That is it, so I would be grateful if you can simplify how to achieve that. I’m ready to purchase whatever it takes. Much appreciated.

Dear,
I am not a graphics card SME. I haven’t purchased a discrete card since 2005. Sorry.

That is fine dear, do you know at least if Plex will be able to utilize that card or it will need VM? Thanks for your help brother.

In order for PLEX to use GPU card in x72XT models, you need to install PLEX to VM to Container.

I tried to install Container, but I got lost at first page, when I pressed “CREATE+”…
I also copy-pasted code from git-hub:

---
version: "2"
services:
  plex:
    image: linuxserver/plex
    container_name: plex
    network_mode: host
    environment:
      - PUID=1000
      - PGID=1000
      - VERSION=docker
    volumes:
      - </path/to/library>:/config
      - <path/to/tvseries>:/data/tvshows
      - </path/to/movies>:/data/movies
      - </path for transcoding>:/transcode
    restart: unless-stopped

I “Create” button stays grey.

Where Do I put that file folder that I downloaded from Github?

I dont have any Win10 licenses, so i havent tried VM yet…

Recommend looking under the server-docker tagged posts.
There is a huge amount of information there.

Yep. Started doing that and had to aske for help here, because I hit wall at start…

https://forums.plex.tv/t/how-to-setup-nvidia-hw-acceleration-in-ubuntu-docker/288625/26?u=jhalttu

I got my Docker running and it recognizes GPU. But PLEX isnt still using it to decode… I have all NVIDIA drivers, etc installed… Help ?

BTW. I just installed EMBY (from Qnap shop) and it used my GPU straight out of the box… So this seems to be Plex issue. (i have 872XT+1050Ti)… no need to fight with VM or docker