PLEX performance issues with brand new QNAP TS-453D

Server Version#: V1.21.3 (installed 2021/03/1)
Player Version#: 2.2.0 (LG TV 55UK6470PLC)

Hello!
I have a brand new QNAP TS-453D (Crucial Ballistix Sport LT BLS2K4G4S26BFSD 2666 MHz - 4 GB x 2) and it’s running with a fresh installation. I migrated PLEX information and media from my previous QNAP.

I am facing several issues

  • 1080p H264, H265 and HEVC Main 10 files are impossible to watch. They take 3 loading cycles to start and cannot see more than 5 second without another pause with loading icon
  • I’m getting 25+% of CPU use for only 1 streaming and always pulling from Transcoder
  • Sometimes even trying to watch only one thing I got “Not enough CPU for conversion of this item”

I’m getting desperate because after spending 600€ I was expecting at least same performance as old NAS. New NAS should be significantly more powerfull. However performance is even worst than my old NAS.
BTW: I have Lifetime Plex Pass to take advantage of Harware transcoding.

If you need any additional information to help me don’t hesitate to let me know. I will be glad to provide more details. Looking forward to hearing from you.
Thanks in advance!

Sorry!
I forgot to attach the screenshots!

Here you have the Plex Media Server logs! Hope it is helpful to developers and forum community members in diagnosing the issues.

Plex Media Server Logs_2021-02-14_21-50-14.zip (5.5 MB)

@TIPER2K

The hardware transcoding is working.
You have subtitles being used and those subtitles are being burned into the video.
Subtitles cannot be processed in hardware (Intel limitation). The CPU must burn them. The J4xxx CPU doesn’t have enough power at this bitrate to do it in real-time.

  1. The playback settings (based on Player and Video XML)
Feb 14, 2021 21:28:22.478 [0x7f527dfc5700] DEBUG - [Transcode] [FFMPEG] - Decode to surface 0x13.
Feb 14, 2021 21:28:22.479 [0x7f527dfc5700] DEBUG - [Transcode] Codecs: 10-bit HEVC test succeeded
Feb 14, 2021 21:28:22.480 [0x7f527dfc5700] DEBUG - [Transcode] Scaled up video bitrate to 7245Kbps based on 4.500000x fudge factor.
Feb 14, 2021 21:28:22.480 [0x7f527dfc5700] DEBUG - [Transcode] MDE: Selected protocol hls; container: mpegts
Feb 14, 2021 21:28:22.480 [0x7f527dfc5700] DEBUG - [Transcode] MDE: analyzing media item 30048
Feb 14, 2021 21:28:22.480 [0x7f527dfc5700] DEBUG - [Transcode] MDE: E4 - Bear: Direct Play is disabled
Feb 14, 2021 21:28:22.480 [0x7f527dfc5700] DEBUG - [Transcode] MDE: E4 - Bear: media must be transcoded in order to use the hls protocol
Feb 14, 2021 21:28:22.480 [0x7f527dfc5700] DEBUG - [Transcode] MDE: E4 - Bear: selected subtitle cannot be converted to a compatible format, burning into video stream
Feb 14, 2021 21:28:22.480 [0x7f527dfc5700] DEBUG - [Transcode] MDE: E4 - Bear: Direct Streaming is disabled, so video stream will be transcoded
Feb 14, 2021 21:28:22.480 [0x7f527dfc5700] DEBUG - [Transcode] MDE: E4 - Bear: no remuxable profile found, so video stream will be transcoded
Feb 14, 2021 21:28:22.480 [0x7f527dfc5700] DEBUG - [Transcode] MDE: Cannot direct stream video stream due to profile or setting limitations
Feb 14, 2021 21:28:22.480 [0x7f527dfc5700] DEBUG - [Transcode] Codecs: testing hevc (decoder) with hwdevice vaapi
Feb 14, 2021 21:28:22.480 [0x7f527dfc5700] DEBUG - [Transcode] Codecs: hardware transcoding: testing API vaapi
Feb 14, 2021 21:28:22.481 [0x7f527dfc5700] DEBUG - [Transcode] [FFMPEG] - Format 0x41524742 -> bgra.
Feb 14, 2021 21:28:22.481 [0x7f527dfc5700] DEBUG - [Transcode] [FFMPEG] - Format 0x42475241 -> argb.
  1. Verification the hardware is engaging to process the VIDEO (not subtites)
Feb 14, 2021 21:28:24.681 [0x7f52bc518700] DEBUG - [Transcode] Codecs: hardware transcoding: testing API vaapi
Feb 14, 2021 21:28:24.682 [0x7f52bc518700] DEBUG - [Transcode] [FFMPEG] - Format 0x41524742 -> bgra.
Feb 14, 2021 21:28:24.682 [0x7f52bc518700] DEBUG - [Transcode] [FFMPEG] - Format 0x42475241 -> argb.
Feb 14, 2021 21:28:24.682 [0x7f52bc518700] DEBUG - [Transcode] [FFMPEG] - Format 0x41424752 -> rgba.
Feb 14, 2021 21:28:24.682 [0x7f52bc518700] DEBUG - [Transcode] [FFMPEG] - Format 0x52474241 -> abgr.
Feb 14, 2021 21:28:24.682 [0x7f52bc518700] DEBUG - [Transcode] [FFMPEG] - Format 0x58524742 -> bgr0.
Feb 14, 2021 21:28:24.682 [0x7f52bc518700] DEBUG - [Transcode] [FFMPEG] - Format 0x42475258 -> 0rgb.
Feb 14, 2021 21:28:24.682 [0x7f52bc518700] DEBUG - [Transcode] [FFMPEG] - Format 0x58424752 -> rgb0.
Feb 14, 2021 21:28:24.682 [0x7f52bc518700] DEBUG - [Transcode] [FFMPEG] - Format 0x52474258 -> 0bgr.
Feb 14, 2021 21:28:24.682 [0x7f52bc518700] DEBUG - [Transcode] [FFMPEG] - Format 0x30335241 -> unknown.
Feb 14, 2021 21:28:24.682 [0x7f52bc518700] DEBUG - [Transcode] [FFMPEG] - Format 0x30334241 -> unknown.
Feb 14, 2021 21:28:24.682 [0x7f52bc518700] DEBUG - [Transcode] [FFMPEG] - Format 0x30335258 -> unknown.
Feb 14, 2021 21:28:24.682 [0x7f52bc518700] DEBUG - [Transcode] [FFMPEG] - Format 0x30334258 -> unknown.
Feb 14, 2021 21:28:24.682 [0x7f52bc518700] DEBUG - [Transcode] [FFMPEG] - Format 0x36314752 -> unknown.
Feb 14, 2021 21:28:24.682 [0x7f52bc518700] DEBUG - [Transcode] [FFMPEG] - Format 0x50424752 -> unknown.
Feb 14, 2021 21:28:24.682 [0x7f52bc518700] DEBUG - [Transcode] [FFMPEG] - Format 0x50524742 -> unknown.
Feb 14, 2021 21:28:24.682 [0x7f52bc518700] DEBUG - [Transcode] [FFMPEG] - Format 0x56555941 -> unknown.
Feb 14, 2021 21:28:24.682 [0x7f52bc518700] DEBUG - [Transcode] [FFMPEG] - Format 0x30303859 -> gray.
Feb 14, 2021 21:28:24.682 [0x7f52bc518700] DEBUG - [Transcode] [FFMPEG] - Format 0x3231564e -> nv12.
Feb 14, 2021 21:28:24.682 [0x7f52bc518700] DEBUG - [Transcode] [FFMPEG] - Format 0x3132564e -> unknown.
Feb 14, 2021 21:28:24.682 [0x7f52bc518700] DEBUG - [Transcode] [FFMPEG] - Format 0x32595559 -> yuyv422.
Feb 14, 2021 21:28:24.682 [0x7f52bc518700] DEBUG - [Transcode] [FFMPEG] - Format 0x59565955 -> uyvy422.
Feb 14, 2021 21:28:24.682 [0x7f52bc518700] DEBUG - [Transcode] [FFMPEG] - Format 0x32315659 -> yuv420p.
Feb 14, 2021 21:28:24.682 [0x7f52bc518700] DEBUG - [Transcode] [FFMPEG] - Format 0x30323449 -> yuv420p.
Feb 14, 2021 21:28:24.682 [0x7f52bc518700] DEBUG - [Transcode] [FFMPEG] - Format 0x50313134 -> yuv411p.
Feb 14, 2021 21:28:24.682 [0x7f52bc518700] DEBUG - [Transcode] [FFMPEG] - Format 0x48323234 -> yuv422p.
Feb 14, 2021 21:28:24.682 [0x7f52bc518700] DEBUG - [Transcode] [FFMPEG] - Format 0x56323234 -> yuv440p.
Feb 14, 2021 21:28:24.682 [0x7f52bc518700] DEBUG - [Transcode] [FFMPEG] - Format 0x50343434 -> yuv444p.
Feb 14, 2021 21:28:24.682 [0x7f52bc518700] DEBUG - [Transcode] [FFMPEG] - Format 0x33434d49 -> unknown.
Feb 14, 2021 21:28:24.682 [0x7f52bc518700] DEBUG - [Transcode] [FFMPEG] - Format 0x30313050 -> p010le.
Feb 14, 2021 21:28:24.682 [0x7f52bc518700] DEBUG - [Transcode] [FFMPEG] - Created surface 0.
Feb 14, 2021 21:28:24.682 [0x7f52bc518700] DEBUG - [Transcode] [FFMPEG] - Direct mapping possible.
Feb 14, 2021 21:28:24.682 [0x7f52bc518700] DEBUG - [Transcode] TPU: hardware transcoding: final decoder: vaapi, final encoder: vaapi
Feb 14, 2021 21:28:24.682 [0x7f52bc518700] DEBUG - [Transcode] Job running: FFMPEG_EXTERNAL_LIBS='/share/CACHEDEV1_DATA/.qpkg/PlexMediaServer/Library/Plex\ Media\ Server/Codecs/367b3d4-3673-linux-x86_64/' LIBVA_DRIVERS_PATH='/share/CACHEDEV1_DATA/.qpkg/PlexMediaServer/lib/dri' 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=xxxxxxxxxxxxxxxxxxxx1' '/share/CACHEDEV1_DATA/.qpkg/PlexMediaServer/Plex Transcoder' '-codec:0' 'hevc' '-hwaccel:0' 'vaapi' '-hwaccel_fallback_threshold:0' '10' '-hwaccel_device:0' 'vaapi' '-analyzeduration' '20000000' '-probesize' '20000000' '-i' '/share/CACHEDEV1_DATA/Multimedia/TV Shows/Servant/Servant (2019) - S01E04 - Bear (1080p WEB-DL HEVC 10Bit).mkv' '-map_inlineass' '0:2' '-filter_complex' '[0:0]scale=w=1920:h=960[0];[0]format=pix_fmts=nv12[1];[1]inlineass=font_scale=1.000000:font_path=/share/CACHEDEV1_DATA/.qpkg/PlexMediaServer/Resources/Fonts/DejaVuSans-Regular.ttf:fontconfig_file=/share/CACHEDEV1_DATA/.qpkg/PlexMediaServer/Resources/fonts.conf:language=en[2];[2]hwupload[3]' '-map' '[3]' '-codec:0' 'h264_vaapi' '-b:0' '5433k' '-maxrate:0' '7245k' '-bufsize:0' '14490k' '-r:0' '23.975999999999999' '-force_key_frames:0' 'expr:gte(t,n_forced*1)' '-map' '0:1' '-metadata:s:1' 'language=eng' '-codec:1' 'copy' '-copypriorss:1' '0' '-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/d9jp4yn3zy2hjowqnrk5zoiw/ede3948f-7950-462b-b199-8976f7804b97/seglist?X-Plex-Http-Pipeline=infinite' '-segment_list_type' 'csv' '-segment_list_size' '5' '-segment_list_separate_stream_times' '1' '-segment_list_unfinished' '1' '-max_delay' '5000000' '-avoid_negative_ts' 'disabled' '-map_metadata' '-1' '-map_chapters' '-1' 'media-%05d.ts' '-map' '0:2' '-f' 'null' '-codec' 'ass' 'nullfile' '-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/d9jp4yn3zy2hjowqnrk5zoiw/ede3948f-7950-462b-b199-8976f7804b97/progress'
Feb 14, 2021 21:28:24.682 [0x7f52bc518700] DEBUG - [Transcode] Jobs: Starting child process with pid 17967

Check the video itself.

  1. Image formats (PGS, VOBSUB, and DVDRIP MUST be burned in no matter what.
  2. Text based subtitles (SRT, ASS, SSA) can be overlayed - UNLESS - the player settings are to Burn subtitles (check this as well )
2 Likes

To summarize what Chuck said. It is how you set up your media and subtitles. Either hardcode your subtitles into your media or use .srt and overlay. Do not have your server burn them in.

I have no issues with .srts on my TS 453Be

2 Likes

Thank you very much to both of you!!

If I can ask for your help one last time:

In Settings/Plex Web/Player/“Burn Subtitles” I have AUTOMATIC

Is that he option to change? Is there any other in server side or client side?

Kind regards,

@TIPER2K

The issue here is the source video itself.

Hover over it → Get Info.

Look at the subtitles. I expect you’ll find PGS subtitles .
These are images and the source of the problem.

If you can convert or re-rip and use SRT (text based) subtitles, this performance problem won’t happen.

1 Like

Now I’m lost … Because I watched this and other files previously without problems. And now when I try to watch the same files for the second time I’m facing this issue …

See this sceernshots of files I cannot watch. One has ASS and the otehr has MOV_TEXT

The weird thing is again … I decided to try again and it was working with SRT subtitules smoothly and I decided to change to MOV_TEXT and suddenly none of them works again!!! Not even changing back to SRT!

this is black magic to me!
Plex Media Server Logs_2021-02-15_00-54-22.zip (5.9 MB)

I keep it VERY simple:

  1. One type of subtitle per file
  2. Use Mkvtoonix (or other REMUX tool) to remove everything not wanted.
  3. HandBrake is not a remux tool – it’s a encoding tool.
1 Like

SRT subtitles are the most widely accepted

MOV_TEXT is apple. Not a guarantee on all devices.

PMS will burn subtitles into the video whenever the player cannot handle the subtitle format being offered.

1 Like

I restarted the Plex service and now it is working …
Same file I started playing it in 2 devices and is taking less than 1% of CPU

I’m going to bed … this is too psichodelic for me

It’s not Apple specific, it’s the MP4 standard. MPEG-4 Part 17 - Wikipedia

The MP4 container doesn’t support SRT. When plain text subtitles are embedded in MP4, they will be MOV_TEXT/TTXT/TX3G. (Many utilities do the conversion from SRT silently, so this isn’t at all obvious.)

That is what I expect to see for an embedded text subtitle in an MP4. In my experience these are highly compatible with clients, but as you say, @ChuckPa, that’s very hard to predict.


I agree with what everyone is telling you.

One question - are you testing this on your desired playback device?

Many things will need to be transcoded in the Plex Web app - such as HEVC encoded video, as per your screenshot - which might play back Directly on your TV or on a set-top box.

So Plex Web isn’t the best way to evaluate real-world performance. Do you have the same results watching on your TV?

I stand corrected.

for MKV containers: copy , ass , srt , ssa
for MP4 containers: copy , mov_text
for MOV containers: copy , mov_text

This is where I thought “Apple specific”.

I’ve asked the transcoder team what the expected result should be

1 Like

Hi Volts!
I was always playing from a TV for all the test (the TV is a LG TV 55UK6470PLC as mentines before). When it was working ok with 2 devices the second one was a PC (remember I’m running PMS in a QNAP NAS).
Earlier yesterday I also tried “Ted Lasso” TV show in a PS4 to double check and I can confirm the situation was the same.
Thanks a lot!

1 Like

Oh, for sure. I agree that MOV makes it look like an Apple-flavored thing.

And I think it got the MOV_TEXT name because ffmpeg could deal with timed text subs in .MOV files before they were standardized in other places.

I just couldn’t help butting my nose in. :slight_smile:

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