Core/thread usage while HEVC transcoding, DS218+

Server Version#: Version 1.13.5.5332
Player Version#: Unsure what we’re referring to here, but I encounter it both when streaming to my Chromecast 2nd gen, and while playing the file in the Chrome browser directly from my PMS interface.

Hi guys, first I’d like to preemptively apologize if this is in the wrong section.

When playing 1080p HEVC files I’m encountering issues when my DS218+ needs to transcode to h.264. If I’m not using HW transcoding, it sits at 100% CPU usage and buffers very frequently. When enabling HW transcoding it sits at basically 50% usage (46-50%) and will occasionally buffer. Sometimes I can play for 10 minutes without buffering, sometimes much less but it will happen eventually.

When I checked the logs the ‘transcode speed’ value was dipping below 1, so it was obviously having issues transcoding.

I suppose my question is if it’s normal for the DS218+ to only run one core/thread when transcoding HEVC (or in general, maybe codec doesn’t matter for this question). If it isn’t, any tips on how one might go about enabling PMS on the DS218+ to utilize more threads/cores while doing HW transcoding?

My PMS was first installed through the Synology packet manager, but afterwards I’ve manually installed the update .pkg, if that is relevant.

Thanks for any assistance.

Depending on the codec, it’s entirely possible to see only one encoder thread.
Also, it doesn’t require multiple threads to feed the video to the hardware. It only reads from disk, puts it into memory, calls the hardware to work on it, then sends the output to you. It’s a very easy task.

The bigger question will be the codec involved, which you can see listed in the Media Info / XML for what you played.

Ok, this is what I found on the file in question:

  • Codec HEVC

  • Bitrate 7922 kbps

  • Bit Depth 10

  • Chroma Subsampling 4:2:0

  • Color Primaries bt709

  • Color Range tv

  • Color Space bt709

  • Color Trc bt709

  • Frame Rate 23.976 fps

  • Height 800

  • Level 4.0

  • Profile main 10

  • Ref Frames 1

  • Width 1920

  • Display Title Unknown (HEVC Main 10)

  • Codec DCA

  • Channels 5.1

  • Bitrate 1536 kbps

  • Language English

  • Audio Channel Layout 5.1(side)

  • Bit Depth 24

  • Profile ma

  • Sampling Rate 48000 Hz

  • Display Title English (DTS-HD MA 5.1(side))

  • Codec DCA

  • Channels 5.1

  • Bitrate 1536 kbps

  • Language English

  • Audio Channel Layout 5.1(side)

  • Bit Depth 24

  • Profile dts

  • Sampling Rate 48000 Hz

  • Display Title English (DTS 5.1(side))

  • Codec AC3

  • Channels Stereo

  • Bitrate 192 kbps

  • Language English

  • Audio Channel Layout stereo

  • Sampling Rate 48000 Hz

  • Display Title English (AC3 Stereo)

  • Codec DCA

  • Channels 5.1

  • Bitrate 768 kbps

  • Language Italiano

  • Audio Channel Layout 5.1(side)

  • Bit Depth 24

  • Profile dts

  • Sampling Rate 48000 Hz

  • Display Title Italiano (DTS 5.1(side))

…plus a bunch of VOBSUB subtitles.

Ok. I see what is happening and why it is single-threaded.

HEVC is multi-threaded as is H.264. Subtitles, if you are using them, are single-threaded and must be done by the CPU. The hardware ASIC does not support overlaying subtitles on video.

1 Like

Yeah, you hit the nail on the head.

I tried disabling the subs on it and it’s utilizing way less CPU, between 10-20%, and I can also see multiple transcoder threads in the task manager. I haven’t run into any buffering on my test run yet, but I’ve only watched 6-7 minutes or so, but everything seems to indicate you’re correct.

I’d never have thought of burning in the subs being the bottleneck, thanks for the tip. Is this something specific to VOBSUB codec of subs, or is it a general thing with subtitles? If it is, is there some way of getting around it?

If there isn’t I’ll just live without them. :slight_smile:

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