Plex Media Server process uses 100% cpu (SRT->ASS Conversion)

Hi,

Server Version#: 1.15.3.876 (docker/plexpass)
Player Version#: 3.95.1

I’m seeing 100% CPU usage of the Plex Media Server process only when something is playing.

It’s using hw transcoding when needed and it works well, eg 4k -> 1080.
CPU is Intel(R) Core(TM) i7-7567U CPU @ 3.50GHz with QuickSync available.

This is with one stream in direct play (I usually can go to 4 to 5 transcoded streams in parallel without any problems):
image
As you can see, the transcoder isn’t doing much but PMS is using a lot of CPU for nothing:

In the past, during a transcode, it used to be more around 20% of CPU while using the GPU, and the load was on the Plex Transcoder process, not on PMS

As soon as I stop the streaming it goes back to normal.

Any ideas?

Thanks

1 Like

Subtitles use CPU single-thread. No HW acceleration for subtitles.
SRT is text based and will be streamed unless set to “Burn” by the client.

Thanks @ChuckPa

When I stream the same thing on my nvidia shield with the same subtitles it doesn’t use CPU.

And honestly 100% of 3.5Ghz to stream a text file (not burnt in) seems a bit overkill :blush:

1 Like

nVidia Shield handles subtitles locally. It’s a “Thick Player”.
When the player can’t handle it or, as I stated, the Player settings are set to BURN ALWAYS, SRT subtitles will get burned in.

It is not 100% of the CPU.

It is a single core. In Linux, each core (physical or logical) can have 100% utilization. If you have 16 cores, top will show you 1600% if all were in use.

You are seeing 100% utilization of a single thread to burn it. Without knowing the details, I am nor surprised. This is common and problematic for NAS boxes .

1 Like

Thanks for your answer @ChuckPa

It’s running on an Intel NUC with a core i7 3.5Ghz (see first post) with hardware transcoding enabled and working fine.

On previous versions (can’t really tell when it started) I don’t remember having those CPU issues with subtitles (I know it’s only 100% of one core out of 4 with hyperthreading). If it’s related to subtitles, maybe this high CPU usage was introduced with the new subtitles settings that appeared lately (size, color, etc…).

Another example, if I use my android phone and use a video with an ASS subtitle (so it’s burning them) or if I force SRT subtitles to be burned in:

  • PMS will consume 15% of a CPU
  • Transcoder will consume 40% of a CPU
    This is what I’d see usually and my intel NUC will not go crazy with its fan.

I seem to have the issue at least with those players:

  • Chrome (if not forced to burn subtitles)
  • XBOX 360

I’va also made some more tests:

  • The CPU to 100% on one core issue is when the subtitle is transcoded from SRT to ASS (I can see it in Tautulli).
  • If the video subtitle is ASS, then in Chrome (for example) it defaults to burning in the subtitle and keeps the CPU usage relatively low (50%, 2 cores used)
  • If I force the player to burn the subtitle in (ASS or SRT or anything else), then the CPU remains low and everything seems to be done in hardware (50%, 2 cores used)

I think something’s happening which was not the case before:

  • either the player behavior changed (I always had it set to automatic)
  • or maybe there’s a bug in the transcoding of SRT to ASS (it really seems way too CPU intensive to convert some text), especially because when it’s ASS in the video out of the box, everything is done in HW and the CPU usage remains low.
1 Like

I’ve the exactly same problem, have you tried the new Plex web from app.plex.tv? I haven’t tested it yet, but my friend is stream using it right now and CPU use seems fine.

EDIT: Nope, I was wrong, using the new Web Player didn’t solved it.

We have all seen some strange things with 1.15.x.

If you have a copy of 1.14.1.5488 and can test against it, it will help confirm if a regression or not (there have been some).

1 Like

Hi @ChuckPa,

It’s definitely a regression!

I can confirm that with 1.14.1.5488 everything is fine with the exact same video.
This is while playing the video on Chrome (where it was 100% before) with the same settings (Subtitles not burnt in, set to automatic):


image

How can I help so that you can fix it?

2 Likes

@ChuckPa, are you (Plex) not interested in fixing this?

I have given all the information to Engineering.

I have zero visibility to see where this work is placed in their queue.

Nor do I do Docker.

1 Like

I’m having the same issue. When a user watches something that has to transcode subtitles from SRT -> ASS, Plex starts using 12 out of my 24 CPU cores allocated to my Plex VM. This is a pretty significant issue. Let me know if any engineering resources need logs or information.

Does anyone have a work around for now on this? Is there a way to turn off subtitles completely.

Either force to “burn” the subtitle on the player, or rollback to 1.14.1.5488.
Personally, I rolled back as I don’t control all the players.

Probably going to rollback - but how do you burn the subtitles on the player?

Settings > Web Player (for the webplayer, different on other platforms) > Player > Burn Subtitles : Set to Always
This is not needed if you rollback.

Hi @ChuckPa and all,
There’s definitely a regression, both with subs and Live 5th l TV on Android devices on local network. Live TV never used to go into HW encoding on MPEG 2 video streams, but since the last couple of updates it’s going into HW transcode for MPEG 2 SD but direct stream as always on 1080p video.
Chuck knows I run a i5 3330k and the CPU resources with 4 running live TV, 3 remote and transcodes, only reaches around 45-50% which is quite great for the age of the CPU and the GPU I use.

Sorry a little off topic, but thought I’d add that about Android app to…

Dave

Please don’t introduce a second issue/topic into an established thread.

Can you confirm 1.14.1 works ok?

1 Like

Im having this exact problem right now. A user of mine is watching a movie which is being transcoded with HW for both encode & decode, But transcoding SRT to ASS & my CPU is going crazy at almost 100%.

Edit: I’m on Windows 10, Plex Version 1.15.4.919.

I was able to cancel my user’s stream, Restart Plex & PC, & the issue is gone so far. Plex is back to using like 1% of my CPU as usual & my P400 doing the rest. Very strange… My PC for a second sounded like it was going to take off lol!!! If it happens again, Ill make sure to attach logs here!

I can confirm this issue. I am running similar set up to OP. Intel Core i7 8559U processor with Quick Sync, using the Docker container. Hardware encoding on. This particular stream is SRT and it’s converting to ASS. 100% utilization of 1 logical CPU.

I have captured logs with Verbose + Debug turned on. I am happy to provide it so you can forward it to your engineering team. Just say the word.

Running Ubuntu 18.04, and Plex Server 1.15.4.993. Please continue to keep us updated on any response back from your development team. I find it odd that you do not have any way to communicate with them on updates for issues like this. I think they should be more transparent on a time line for a fix.

Hello, I have the same issue when converting srt subtitles to ass (Xbox One). I can also confirm rolling back to 1.14.1.5488 fixed it.