I have a plex media server running on a QNAP NAS, media server version is kept up to date but is currently 1.28.2.6103. My client is an LG TV with 5.44.6 client version although I dont really think it maters as I have had this problem through many client and server version upgrades. The client has direct play disabled and direct stream enabled so 99% of the time I am just direct streaming.
There seems to be an issue with all or some, or at least my LG TVs don’t support subtitles so they can only be played if they are burnt in during transcode. I don’t have an issue with this. However whenever I enable subs, no mater what the tv show or movie and no mater what the video quality I am transcoding at I am getting what seems to be buffering from the client resulting in the orange spinning circle in the middle of the screen, I am sure it has a proper name.
I realise at this point most people would tell me that my QNAP doesn’t have the resources to support transcoding and here is the wierd thing. The same film, or tv show I can watch without subs and transcode to any resolution I want 1080p 10Mbps all the way down to 160p 0.2Mbps without any buffering or pausing. As soon as I switch on Subs even at 160p 0.2Mbps I get buffering.
Any ideas? I have taken a log starting at 15:11 about when I started to play a tv show with subs on (experiencing the aforementioned buffering). Then at about 15:26 I turned the subs off and changed the transcode to 1080p 10Mbps and it works smoothly
Can anyone tell me from the logs or direct me as to what the root cause of this is and how I might go about resolving it. I assume its an issue on the server side as at this stage the client is just playing the transcoded video so can’t add any extra load on it.
Burning subtitles uses the CPU, even when transcoding using the GPU (hardware accelerated transcoding). Furthermore, the process is single threaded, so it cannot take advantage of multiple cores.
Many NAS have low power CPUs such as Intel Celerons. Those CPUs simply are not strong enough to burn subtitles in real time with most media.
Regarding the LG, it has limited audio and subtitle support, which can lead to transcoding and subtitle burning.
If the media is direct streaming, such as when audio is transcoding, enabling any subtitle results in the video transcoding and burning subtitles into the video stream.
Enabling SSA/ASS subtitles results in video transcoding & subtitle burning, irrespective of the audio format.
Plex recently added support for PGS subtitles to their LG app, so they now direct play unless the media is direct streaming.
I’m not sure about VOBSUB subtitles (found on DVDs). I have not tested them with the app since PGS support was added. On prior versions enabling them resulted in video transcoding and subtitle burning.
How to avoid?
Use a streaming device that has better audio and subtitle support.
For example, The Plex app on Android TV devices will direct play/stream PGS, VOBSUB, SSA/ASS, & SRT subtitles even if the video or audio is transcoding (i.e. no subtitle burning). Cost ranges from ~$50 USD (Amazon FireTV Stick 4K Max) to ~$200 USD (Nvidia Shield Pro).
Run Plex Media Server on a system capable of burning subtitles when transcoding video.
Roughly, an Intel i5 based system, 8th gen or later, running Linux (Transcoding & tonemapping HDR media is not well supported on Windows).
Spend time to curate/convert your media to formats that direct play. This means avoiding TrueHD audio, DTS audio on newer sets, and SSA/ASS subtitles. You can use tools such as XMedia Recode and FFMPEG to convert the audio and Subtitle Edit to convert subtitles. Handbrake is also an option. However, it transcodes video. It has no passthrough/copy option.
Thanks @FordGuy61 you are truly a Plex Ninja. Exactly the sort of informative response I was hoping for and not expecting. Turns out point 3 was key information for me. I disabled direct play a number of years ago due to the incompatibility of my sound bar. Direct stream allowed my NAS to transcode audio but stream the existing video feed. Since then I have changed my NAS which now supports HW transcoding but as you say still have a rather pathetic Celeron CPU only 2 cores and 2.9Ghz which presumably can’t handle transcoding load which seems capable enough but as you say its only single threaded so maybe that plays a part. Regardless I realise I no longer need to disable direct play so I enabled it and subs are now displayed and no transcoding is taking place, all direct play.