Hardware transcoding on Synology DS920+ still uses CPU?

I have recently purchased a Synology DS920+ and planned to use it to use my Plex server (moving away from my Shield TV).
I have installed the latest version (Version 1.20.0.3125) by downloading the image directly from the Plex website and installed it via Package Centre (manual install) (64bit version)

The problem I seem to be experiencing is that whenever a stream is transcoding, while in Plex it says its doing Hardware Transcoding, and I verified this by looking at Tautulli app as well the server appears to be using considerable amount of CPU.
Before I started a stream or even when I streamed directly my NAS CPU usage sits at around 9%. However as soon as I start a transcoded stream this jumps to around 30%, If I added another stream this would then go to 50%.

Can someone help me identify what the cause is? I know there is a driver bug on this particular unit which I have applied the patch for using this post. The streams look smooth enough so the patch appears to be working, not sure if this is related to my issue or not.

Any guidance would be appreciated.

Server Version#: Version 1.20.0.3125

  1. 30% CPU utilization of a DS920+ can easily be accounted for by audio transcoding.
  2. May I please see the DEBUG logs ZIP file, captured 30 seconds after starting - then terminating - a transcoded playback session?

Plex Media Server Logs_2020-07-25_17-44-37.zip (3.5 MB) Plex Media Server Logs_2020-07-25_17-44-37.zip (3.5 MB)

I’ve included the logs here, the last file played (Grand Tour), was initially played in a web interface with only audio transcoding… from the looks of things the audio only made the CPU jump about 5-8%… when I then turned on video transcoding (after 1 minute of playback) it added another 10-15%.

Let me know if there is anything else I should add.

What you’re seeing is pretty normal .

Jul 25, 2020 17:03:35.464 [0x7fa95a5a1700] DEBUG - Codecs: Testing with profile 'High'
Jul 25, 2020 17:03:35.465 [0x7fa95a5a1700] DEBUG - Scaled up video bitrate to 20467Kbps based on 1.500000x fudge factor.
Jul 25, 2020 17:03:35.465 [0x7fa95a5a1700] DEBUG - Scaled maximum bitrate for resolution reduction to 2885Kbps.
Jul 25, 2020 17:03:35.465 [0x7fa95a5a1700] DEBUG - MDE: Selected protocol hls; container: mkv
Jul 25, 2020 17:03:35.465 [0x7fa95a5a1700] DEBUG - MDE: analyzing media item 84
Jul 25, 2020 17:03:35.465 [0x7fa95a5a1700] DEBUG - MDE: E1 - The Holy Trinity: Direct Play is disabled
Jul 25, 2020 17:03:35.465 [0x7fa95a5a1700] DEBUG - MDE: E1 - The Holy Trinity: media must be transcoded in order to use the hls protocol
Jul 25, 2020 17:03:35.465 [0x7fa95a5a1700] DEBUG - MDE: E1 - The Holy Trinity: no direct play video profile exists for http/mkv/h264
Jul 25, 2020 17:03:35.465 [0x7fa95a5a1700] DEBUG - MDE: E1 - The Holy Trinity: no direct play video profile exists for http/mkv/h264/eac3
Jul 25, 2020 17:03:35.465 [0x7fa95a5a1700] DEBUG - The Holy Trinity - video.width limitation applies: 1920 > 720
Jul 25, 2020 17:03:35.465 [0x7fa95a5a1700] DEBUG - The Holy Trinity - audio.channels limitation applies: 6 > 2
Jul 25, 2020 17:03:35.465 [0x7fa95a5a1700] DEBUG - MDE: E1 - The Holy Trinity: Direct Streaming is disabled, so video stream will be transcoded
Jul 25, 2020 17:03:35.465 [0x7fa95a5a1700] DEBUG - MDE: E1 - The Holy Trinity: no remuxable profile found, so video stream will be transcoded
Jul 25, 2020 17:03:35.465 [0x7fa95a5a1700] DEBUG - MDE: Cannot direct stream video stream due to profile or setting limitations
Jul 25, 2020 17:03:35.465 [0x7fa95a5a1700] DEBUG - Codecs: testing h264 (decoder) with hwdevice vaapi
Jul 25, 2020 17:03:35.465 [0x7fa95a5a1700] DEBUG - Codecs: hardware transcoding: testing API vaapi
Jul 25, 2020 17:03:35.466 [0x7fa95a5a1700] DEBUG - [FFMPEG] - Format 0x32315659 -> yuv420p.
Jul 25, 2020 17:03:35.466 [0x7fa95a5a1700] DEBUG - [FFMPEG] - Format 0x30323449 -> yuv420p.
Jul 25, 2020 17:03:35.466 [0x7fa95a5a1700] DEBUG - [FFMPEG] - Format 0x3231564e -> nv12.
Jul 25, 2020 17:03:35.466 [0x7fa95a5a1700] DEBUG - [FFMPEG] - Format 0x32595559 -> yuyv422.
Jul 25, 2020 17:03:35.466 [0x7fa95a5a1700] DEBUG - [FFMPEG] - Format 0x59565955 -> uyvy422.
Jul 25, 2020 17:03:35.466 [0x7fa95a5a1700] DEBUG - [FFMPEG] - Format 0x48323234 -> yuv422p.
Jul 25, 2020 17:03:35.466 [0x7fa95a5a1700] DEBUG - [FFMPEG] - Format 0x58424752 -> rgb0.
Jul 25, 2020 17:03:35.466 [0x7fa95a5a1700] DEBUG - [FFMPEG] - Format 0x58524742 -> bgr0.
Jul 25, 2020 17:03:35.466 [0x7fa95a5a1700] DEBUG - [FFMPEG] - Format 0x30313050 -> p010le.
Jul 25, 2020 17:03:35.466 [0x7fa95a5a1700] DEBUG - Codecs: Testing with profile 'High'
Jul 25, 2020 17:03:35.467 [0x7fa95a5a1700] DEBUG - Scaled up video bitrate to 20467Kbps based on 1.500000x fudge factor.
Jul 25, 2020 17:03:35.467 [0x7fa95a5a1700] DEBUG - Scaled maximum bitrate for resolution reduction to 2885Kbps.
Jul 25, 2020 17:03:35.467 [0x7fa95a5a1700] DEBUG - MDE: E1 - The Holy Trinity: Audio Direct Streaming is disabled, so video's audio stream will be transcoded
Jul 25, 2020 17:03:35.467 [0x7fa95a5a1700] DEBUG - MDE: Cannot direct stream audio stream due to profile or setting limitations
Jul 25, 2020 17:03:35.467 [0x7fa95a5a1700] DEBUG - MDE: The Grand Tour (2016) - S1 E1 - The Holy Trinity: selected media 0 / 84
Jul 25, 2020 17:03:35.467 [0x7fa95a5a1700] DEBUG - Streaming Resource: Session 0x7fa908017fd0:bd211df775f03a35-com-plexapp-android changed transcode slot usage to used.  Used slots is now 1
Jul 25, 2020 17:03:35.467 [0x7fa95a5a1700] DEBUG - Streaming Resource: Reached Decision id=49 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=84 part=(id=84 decision=transcode container=mkv protocol=hls streams=(Video=(id=215 decision=transcode bitrate=2613 encoder=h264_vaapi width=720 height=406) Audio=(id=216 decision=transcode bitrate=217 encoder=aac channels=2 rate=48000))))
  1. Transcoding video 1080p -> 720p (player max) (Hardware)
  2. Audio transcoding Dolby 5.1 -> AAC stereo. (CPU)
  3. Remuxing the MKV container to the container wanted by the player. (CPU)

Check the settings on the player because it sounds like the player is capable of accepting the video stream natively but, when you lowered the bitrate, you added all the extra restrictions the app would assert in that situation.

Key to remember; The Player’s limitations + Player’s settings = What PMS is going to do with the video being played.

From what I’ve read online using HW transcoding shouldn’t incur much CPU if at all as the task is handled by Quick Sync On these type of units. Are we sure this is normal?

The player was specifically put into transcoding video mode, this was to test that HW transcoding is actually working.

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