Skip to main content PGS subtitles too hard to transcode? Low GPU usage but lots of buffering. : r/PleX

PGS subtitles too hard to transcode? Low GPU usage but lots of buffering.

Solved

I just installed a Quadro P620 in my Plex server and got transcoding to work with 4k HDR movies. The server is running Unraid, and my player is the Android app on a Hisense TV running Android TV natively. The account I'm using with both the server and the client has a Plex Pass.

Now I'm trying to watch a HEVC 4K HDR movie (Your Name) in Japanese with subtitles.

The subs are PGS, with a lot of effects (following the screen, replacing text on a phone/sheet of paper, etc) so converting them to SRT would lose a lot of charm. But when I'm transcoding, the movie buffers every 10-15 seconds.

I get that I need to transcode the movie/subtitles and transcoding is hard on the GPU, but what I don't understand is that GPU Statistics is giving me a pretty low usage from Plex when transcoding.

GPU load never goes over 10%, memory usage is at around 40%. The encoder stays under 20% and the decoder under 10% at all time.

Is there a reason why I can't max the GPU usage if I'm always buffering?

I also tried to use Kodi with the Plex for Kodi plugin to get direct play with the PGS subtitles but it didn't work.

Thanks for any help/information you can give me!

My last resort will be to hard-code the subtitles but I would love to try to make transcoding work before.

EDIT: Both Plex on Android TV and Plex on the Firestick support direct play with PGS subs, after re-installing the app Plex stopped trying to burn the subs in the movie. Now I can direct play the movie on my 4K TV and transcode 100% on GPU for my 1080p and the subs are sent as sidecar.

Sort by:
Best
Open comment sort options
Profile Badge for the Achievement Top 1% Commenter Top 1% Commenter

What you are describing is in fact a CPU limited problem. During a transcode done through hardware acceleration, you get this:

  • GPU decodes the frame

  • Decoded "raw" uncompressed frame is sent over to the CPU

  • CPU edits the uncompressed frame by editing the PGS subtitle image into the frame and saves it

  • "Sub edited" uncompressed frame is sent back to GPU

  • GPU encodes the frame to H264

The CPU bit is done in a single thread and crunching uncompressed 4k frames through that editing task and shipping them back and forth to the GPU can crush pretty powerful systems.

Edited

Thank you very much, that's exactly the kind of information I was after. I couldn't find much beside "just buy a Shield Pro".

After a while I just decided to start from scratch everywhere and was able to get the subs sent as sidecar on both my Firestick (for my 1080p TV) and my Android TV, so the transcoding can be done 100% on the GPU and my problem seems solved.

Thanks again for explaining how this works instead of just telling me I'm screwed.

More replies

a while I just decided to start from scratch everywhere and was able to get the subs sent as sidecar on both my Firestick

Great information, Thanks!

I have never seen this written on the plex site/forum.

My own testing confirms the same behaviour btw. When I transcode 4k HDR to 1080p SDR, it works like a charm, even without iGPU hw accel, my 7700T manages it, with HW accel, it's flying with multiple streams even.

But when I enable PGS transcode for the same video settings, it's 0.3x speed, making it unwatchable. The funny thing is, I never see a 100% thread, so not sure where the bottleneck is, but this could be a monitoring issue.

(I have 2 shields, so I can make PGS work, but for example for web clients, it's never gonna work)

More replies

New Information:

My phone is able to direct play PGS subtitles but not the TV while they're both running the same version of the app... Does anyone know why this could happen?

The app doesn't determine what the device supports. Your phone and TV are different devices with different properties, but there is only one Plex app.

More replies
More replies

GPU transcodes stream/video. CPU handles the rest. So your CPU is transcoding the subtitles. 4k with subtitles almost always transcodes. You will have to play around with the settings by disabling subtitles and see if that changes it.

Here’s a good amount of info

Edited

Without subtitles there isn't any problem since it's direct play.

With SRT subtitles it's also direct play so no problem here.

Even if I force transcoding, without the subtitles it goes without a hitch.

Only when I transcode PGS subs I get buffering every 15 seconds. Every cores on the CPU stay under 75% at all time and the overall load stays at 50%. I don't think it's a CPU bottleneck either. I'm even able to transcode the movie in software since the bitrate is relatively low (12.8 Mb/s)

The problem only happens when transcoding the PGS subs.

Also, according to that thread the Android app is able to direct play PGS subtitles, so I'm not sure why it's not working on my TV...

More replies
More replies